Agent skill

Frontmatter Guard

by garrytan in garrytan/gbrain

Validate and auto-repair YAML frontmatter on brain pages. An agent skill from garrytan/gbrain.

MITAuto-check passed

Install Frontmatter Guard

skills CLI
$ npx skills add garrytan/gbrain --skill frontmatter-guard -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install garrytan/gbrain frontmatter-guard --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/frontmatter-guard .claude/skills/frontmatter-guard && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
frontmatter-guard
GitHub stars
31k
Token cost
~3.8k tokens
SKILL.md length
1,707 words
Files
2
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

Validate and auto-repair YAML frontmatter on brain pages. An agent skill from garrytan/gbrain.

  • Works in 4 steps: Audit → Validate one path → Fix → …
  • SKILL.md covers Contract, Why This Exists, Write brain files safely (do… and Held files: read them, then…, plus 9 more sections
  • Calls git

What it does

Frontmatter Guard is an agent skill from garrytan/gbrain. Validate and auto-repair YAML frontmatter on brain pages. Catches malformed pages before they enter the brain (missing closing ---, nested quotes, slug mismatches, null bytes, empty frontmatter, YAML parse failures), explains files sync holds instead of importing, and drives the previewed gbrain repair frontmatter fix. Wraps the gbrain frontmatter CLI for agent-driven workflows.

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

The repository describes itself as: Garry's Opinionated OpenClaw/Hermes Agent Brain. The licence is MIT.

Example prompts

  • “/frontmatter-guard”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Audit
  2. Validate one path
  3. Fix
  4. Pre-commit hook (optional)

What it can do on your machine

Read from SKILL.md and the folder at commit f250a51. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Frontmatter Guard loads about 3.8k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 1,707 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~101
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from garrytan/gbrain at commit f250a51, republished under its MIT licence (© garrytan). 1,707 words, ~3,798 tokens.

Download SKILL.mdSave it as .claude/skills/frontmatter-guard/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
frontmatter-guard
description
Validate and auto-repair YAML frontmatter on brain pages. Catches malformed pages before they enter the brain (missing closing ---, nested quotes, slug mismatches, null bytes, empty frontmatter, YAML parse failures), explains files sync holds instead of importing, and drives the previewed `gbrain repair frontmatter` fix. Wraps the `gbrain frontmatter` CLI for agent-driven workflows.
version
1.1.0
triggers
validate frontmatter, check frontmatter, fix frontmatter, frontmatter audit, brain lint, held files, sync held a file
tools
exec
mutating
true

Frontmatter Guard Skill

Convention: see skills/conventions/quality.md for citation rules; this skill is structural validation, not citation auditing.

Contract

This skill guarantees:

  • Every brain page is scanned against the eight canonical frontmatter validation classes
  • Mechanical errors (nested quotes, missing closing ---, null bytes, slug mismatch) are auto-repairable on demand with .bak backups
  • Validation logic is shared with gbrain doctor's frontmatter_integrity subcheck — single source of truth
  • Reports per source (gbrain is multi-source since v0.18.0); never silently audits the wrong root
  • Files sync holds are explained from their hold record (code, reason, key, line, fix) and fixed only through a previewed, hash-bound repair the user approved

Why This Exists

Brain pages pile up over months. Agents write them with malformed frontmatter:

  • Missing closing --- (entity detector bugs)
  • Unstructured YAML in meeting pages (ingestion bugs)
  • Slug mismatches (path renames not propagated)
  • Null bytes (binary corruption from copy-paste accidents)
  • Nested double quotes in titles (title: "Alice "Ace" Example")

Without a guard, these accumulate silently until gbrain sync chokes or search returns garbage. The guard makes the failure visible at audit time and trivially fixable.

Write brain files safely (do this first)

  • Write pages through put_page / capture (MCP or gbrain put). gbrain serializes frontmatter itself, so the file on disk is always valid YAML.

  • A script or agent that writes Markdown files directly must build frontmatter with a YAML serializer (yaml.dump, js-yaml dump), never by string interpolation. title: ${title} breaks as soon as a title contains : , #, quotes or a newline.

  • Check generated content before writing it, without touching disk:

    bash
    printf '%s' "$content" | gbrain frontmatter validate --stdin --path notes/2026-10-04-digest.md

    Exit 1 means fix it first. The default is the strict producer rule: YAML gbrain could still import by quoting a value fails too, because other tools reject it. --importable answers the narrower question "would sync hold it?".

  • Never write a key gbrain reads for access or identity (visibility, derived_from, slug, type, id, source_id) from untrusted text.

Held files: read them, then fix them

A file sync cannot import without guessing is held: the rest of the source still syncs, a new file has no page yet, and an existing page keeps its last good revision and refuses put_page until the file is repaired (do not retry the write). Where holds show up: sync output (Held <path>: <code> … Next: <command>), gbrain sources status <id> (--json: git_holds.items[]), doctor git_held_files, get_page file_held, and search hits marked stale.

Each hold record carries code, reason, key, line, message (location only, never the value), fix (exact argv) and docs. Act on reason:

HoldWhat to do
invalid_frontmatter / yaml_parsePreview gbrain repair frontmatter --source <id>; usually needs_review with the exact line to fix by hand.
invalid_frontmatter / needs_interpretationPreview with --include-ambiguous, show the user each per-file diff, apply only what they approve.
invalid_frontmatter / ambiguous_identity_key or ambiguous_protected_keyNever guess. Show the user the line; they decide the one value (visibility decides who can read the page).
frontmatter_slug_conflictRemove the slug: line or move the file; the repair proposes removing it under --include-ambiguous.
file_too_largeSplit the file or add it to sync.exclude; the limit is fixed.
content_rejectedThe user chose content_sanity.junk_disposition=reject; ask before changing it.

The fix flow (walkthrough with real output: docs/guides/repair.md#held-files):

bash
gbrain sources status <id>                                  # what is held and why
gbrain repair frontmatter --source <id>                     # pass 1: safe quoting only; writes nothing
gbrain repair frontmatter --source <id> --include-ambiguous --diff   # pass 2: every interpretation
gbrain repair frontmatter --source <id> --include-ambiguous --only <path> --apply --expect <hash> --yes

Ask the user before every --apply (it rewrites their files) and before any --include-ambiguous apply: each interpretation (folding lines into a title, keeping the later duplicate) is a guess only the user can confirm. Show the diff, then apply exactly the previewed hash. Safe-class changes only quote a value exactly as gbrain already reads it, but they still rewrite files, so they need the same agreement.

A source that a broken file blocked before the upgrade recovers on its next sync; to do it now run gbrain sync --source <id> --no-pull.

Validation classes

CodeMeaningAuto-fixable?
MISSING_OPENFile doesn't start with ---No (needs human)
MISSING_CLOSENo closing --- before first headingYes
YAML_PARSEYAML failed to parseSometimes (depends on cause)
SLUG_MISMATCHFrontmatter slug: differs from path-derived slugYes (removes the field)
NULL_BYTESBinary corruption (\x00)Yes
NESTED_QUOTEStitle: "outer "inner" outer" shapeYes
NON_STRING_FIELDtitle/type/slug is an unquoted non-string scalar (e.g. title: 123, slug: 2024-06-01)No (quote the value)
EMPTY_FRONTMATTEROpen + close present but nothing betweenNo (needs human)

Phases

Phase 1: Audit

Run a read-only scan across all registered sources (or one with --source <id>).

bash
gbrain frontmatter audit --json

Reports:

  • Per-source counts grouped by error code
  • Sample of up to 20 affected pages per source
  • Total count
  • Scan timestamp

Output is JSON; agents parse errors_by_code and per_source to decide next steps.

Phase 2: Validate one path

Validate a single file or directory (does not require source registration):

bash
gbrain frontmatter validate <path> --json

Exit code 0 = clean; 1 = errors found. Use this in CI pipelines or pre-commit hooks.

Phase 3: Fix

When issues are found:

bash
gbrain frontmatter validate <path> --fix

--fix backs up every modified file under ~/.gbrain/backups/frontmatter/ before mutating, quotes YAML gbrain reads by quoting (only those lines change), re-validates, and exits 1 when errors remain. Restage fixed files in git (git add). --include-ambiguous adds interpretations; preview them with --dry-run first.

--dry-run previews without writing. Use this before applying fixes in batch.

On a managed brain --fix in place is refused: use gbrain repair frontmatter --source <id> (above), which publishes each repaired file through the coordinated writer.

Phase 4: Pre-commit hook (optional)

For brain repos that ARE git repos, install the pre-commit hook to block malformed pages from being committed in the first place:

bash
gbrain frontmatter install-hook [--source <id>]

The hook runs one gbrain frontmatter validate --staged process over the staged content of .md/.mdx files (what will be committed, not the working copy). Bypass with git commit --no-verify. Installing writes into the user's repository, so ask first. When doctor frontmatter_hook reports an older hook, refresh it with gbrain frontmatter install-hook --force.

Trigger words

When the user says any of these, route here:

  • "validate frontmatter"
  • "check frontmatter"
  • "fix frontmatter"
  • "frontmatter audit"
  • "brain lint"

Output rules

  • Always run gbrain frontmatter audit --json first; never assume a brain is clean.
  • Surface counts to the user in plain language; do not dump raw JSON.
  • For --fix operations: state how many files will be modified BEFORE running, then confirm.
  • SLUG_MISMATCH fixes remove the frontmatter slug: field — gbrain derives slug from path. Mention this when the user's title is intentionally renamed.
  • Never auto-fix MISSING_OPEN or EMPTY_FRONTMATTER without explicit user input — these usually mean a human author started a page and didn't finish.
Show full SKILL.md (674 more words)Show less

Chains with

  • gbrain doctor — the frontmatter_integrity subcheck reports the same counts as audit; frontmatter_repairable counts files gbrain repair frontmatter can fix and git_held_files lists held files.
  • skills/maintain/SKILL.md — broader brain health audit; chain after this skill if other classes of issue are suspected.
  • gbrain lint — overlapping rules for skill-file lint (a CLI command, not a skill); the frontmatter-* rule names in lint output come from this skill's validation surface.

Output Format

Audit summary (terse, agent-friendly):

Frontmatter audit — 17 issue(s) across 1 source(s)

[default] /Users/me/brain
  17 issue(s)
    MISSING_CLOSE: 8
    NESTED_QUOTES: 5
    NULL_BYTES: 4
  sample:
    people/jane.md — MISSING_CLOSE
    companies/acme.md — NESTED_QUOTES
    (+ 12 more)

Fix with: gbrain frontmatter validate /Users/me/brain --fix

JSON envelope (when --json is passed):

json
{
  "ok": false,
  "total": 17,
  "errors_by_code": { "MISSING_CLOSE": 8, "NESTED_QUOTES": 5, "NULL_BYTES": 4 },
  "per_source": [
    {
      "source_id": "default",
      "source_path": "/Users/me/brain",
      "total": 17,
      "errors_by_code": { "MISSING_CLOSE": 8, "NESTED_QUOTES": 5, "NULL_BYTES": 4 },
      "sample": [{ "path": "people/jane.md", "codes": ["MISSING_CLOSE"] }]
    }
  ],
  "scanned_at": "2026-04-25T22:30:00.000Z"
}

gbrain frontmatter validate <path> --json returns a similar envelope keyed on per-file results instead of per-source.

Prevention — Writing Valid Frontmatter

This is the most important section. Fixing broken frontmatter is good. Not writing broken frontmatter in the first place is better.

YAML arrays (the historical #1 error source)
yaml
# Correct: single-quoted YAML flow (canonical form gbrain emits)
tags: ['yc', 'w2025', 'ai']

# Correct: unquoted scalars (fine when values have no special chars)
tags: [yc, w2025, ai]

# Correct: block style
tags:
  - yc
  - w2025

# Tolerated post-v0.37.5.0 but non-canonical: JSON-style double quotes
tags: ["yc", "w2025"]

# Broken: mixed JSON objects and strings (invalid YAML)
tags: [{"name": "sports"}, "posterous"]

Why this used to break: before v0.37.5.0, the validator counted unescaped " characters and flagged any line with 3+. A flow sequence like tags: ["yc", "w2025"] has 4 unescaped " by design — it's valid YAML, but the dumb counter flagged it anyway. One brain saw 6,981 of these on a single doctor run. v0.37.5.0 parses suspicious values with js-yaml.safeLoad before flagging, so JSON-style arrays no longer trigger NESTED_QUOTES.

Why you should still write the canonical form: the auto-fix engine (gbrain frontmatter validate --fix) and the inferred-frontmatter serializer both emit single-quoted YAML for tags: / aliases:. Writing the canonical form in new content keeps the source files stylistically consistent and makes diffs against --fix runs empty.

The classic LLM trap: code like tags: [${items.map(t => JSON.stringify(t)).join(', ')}] produces tags: ["yc", "w2025"]. Use single quotes with an apostrophe fallback: tags: [${items.map(t => t.includes("'") ? JSON.stringify(t) : "'" + t + "'").join(', ')}]. Or use a YAML library that knows how to emit canonical YAML.

Quoted scalars
yaml
# Correct: single quotes for values with special chars
title: 'My "Quoted" Title'

# Correct: double quotes when value has apostrophes
title: "Men's Fashion Guide"

# Broken: double quotes wrapping inner double quotes
title: "My "Quoted" Title"
When to quote at all
  • Unquoted is fine for simple values: type: person, batch: w2025
  • Quote when the value contains : " ' # [ ] { } | > & * ! ? , or starts with @
  • Single quotes are the default safe choice
  • Double quotes only when the value itself contains apostrophes

When it fails

Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:

  • gbrain frontmatter validate exits 1: errors were found (that is the result, not a crash). Parse errors_by_code and report counts per source.
  • Before a fix pass, state how many files will change and get the user's agreement; the fix writes .bak backups, and YAML_PARSE errors are not always auto-repairable.
  • gbrain sync holds a file (invalid_frontmatter, frontmatter_slug_conflict, file_too_large, content_rejected): the sync still succeeded. Read the hold (gbrain sources status <id>) and follow "Held files" above.
  • put_page refuses a page whose newer file is held: repair the file; retrying the write refuses again.

Anti-Patterns

Don't auto-fix MISSING_OPEN or EMPTY_FRONTMATTER without user input. These usually mean a human author started a page and didn't finish — silently inserting --- markers around an unfinished draft is wrong.

Don't use --fix to "make doctor green" without reading the audit first. SLUG_MISMATCH cases are surfaced for manual review specifically because gbrain derives the slug from path. A mismatch usually means the user renamed a file intentionally; auto-removing the slug field is the right outcome only when you've confirmed the rename was deliberate.

Don't skip the .bak backups. The .bak is the safety contract for non-git brain repos. If .bak files accumulate after a fix run, that's a feature, not a bug — the user can review the diffs and delete the backups when satisfied.

Don't run audit on a brain where sources aren't registered. The CLI returns "no registered sources to audit" gracefully, but the migration emits a skipped: no_sources phase result. Don't paper over this with a manual path-walk; the right fix is to register the source via gbrain sources add.

Don't install the pre-commit hook on brain dirs outside any git repo. The install-hook command skips them automatically with a one-line note (a brain that is a subdirectory of a host repo is fine — the hook installs at the host root, scoped to that subdirectory). If you see "skipped, not a git repo" and want validation at write time anyway, use the audit command on a cron schedule.

© garrytan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/frontmatter-guard of garrytan/gbrain.

  • SKILL.md
  • routing-eval.jsonl

Open the folder on GitHubat commit f250a51

Compare with similar skills

Frontmatter Guard next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Frontmatter Guard compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Frontmatter Guard this skillgarrytan/gbrain31k—~3.8kAutomated safety check: PassMIT
Frontmatter RepairLearnPrompt/LearnPrompt2.7k—~212Automated safety check: PassCustom licence
Safety Guardaffaan-m/ECC276k2 repos~554Automated safety check: NotesMIT
Guard Modegarrytan/gstack136k—~1kAutomated safety check: NotesMIT
Openclaw Repair Sweepopenclaw/openclaw392k—~1.8kAutomated safety check: PassMIT
TDD Repairruvnet/ruflo74k—~1.6kAutomated safety check: NotesMIT

Similar skills

  • Frontmatter Repair

    LearnPrompt/LearnPrompt

    Repair synthetic MDX frontmatter when title, description, or sidebar.order drift from the frontmatter contract.

    2.7k GitHub stars~212 tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Safety Guard

    affaan-m/ECC

    Guard against destructive operations with three modes: Careful intercepts dangerous commands (rm -rf, git push --force, DROP TABLE) for confirmation, Freeze locks writes to one directory, and Guard…

    276k GitHub starsUsed in 2 repos~554 tokens
    DevelopmentAuto-check: notes
  • Guard Mode

    garrytan/gstack

    Switches on full safety by combining warnings before destructive commands with a block on edits outside one directory you choose, for work on production or live systems.

    136k GitHub stars~1k tokensUpdated yesterday
    Agent WorkflowsAuto-check: notes
  • Openclaw Repair Sweep

    openclaw/openclaw

    Run scoped OpenClaw issue/PR repair campaigns: coordinate workers, prove root causes, and land or close verified work under the requested authority.

    392k GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • TDD Repair

    ruvnet/ruflo

    Test-Driven Repair — given a failing test, spawn a bounded headless claude -p (Read/Edit/Bash only) that makes the test pass without modifying it.

    74k GitHub stars~1.6k tokensUpdated today
    Testing & QAAuto-check: notes
  • Brain

    jeremylongshore/tons-of-skills-marketplace

    Answers questions about your own systems, notes, decisions, runbooks, and conventions from your governed knowledge brain, returning a qmd:// citation for every claim — receipts, not recall.

    2.8k GitHub stars~1.9k tokensUpdated today
    DevOps & CloudAuto-check passed

More from garrytan/gbrain

All 47 skills in this repo
  • Traces a factual error the user points out back to its source (a brain page, a memory file, SOUL.md or USER.md, or a hallucination) and fixes that source instead of just noting the correction.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Searches and writes a company-wide knowledge brain through the gbrain CLI, so durable decisions and facts about people, projects and history stay findable beyond one session.

    31k GitHub stars~875 tokensUpdated today
    Auto-check passed
  • Idea Ingest

    garrytan/gbrain

    Ingest links, articles, tweets, and ideas into the brain. An agent skill from garrytan/gbrain.

    31k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Sends what your notes already know about a topic to Perplexity, so the cited web search reports only what is new, such as entity updates or deal changes.

    31k GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Schema Unify

    garrytan/gbrain

    Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Skillpack Check

    garrytan/gbrain

    Run gbrain skillpack-check to produce an agent-readable JSON health report for the gbrain install.

    31k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Questions about Frontmatter Guard

What does Frontmatter Guard do?

Validate and auto-repair YAML frontmatter on brain pages. An agent skill from garrytan/gbrain. Frontmatter Guard is an agent skill from garrytan/gbrain. Validate and auto-repair YAML frontmatter on brain pages.

How do I install Frontmatter Guard in Claude Code?

Run `npx skills add garrytan/gbrain --skill frontmatter-guard -a claude-code`. Or copy the skill folder (skills/frontmatter-guard in garrytan/gbrain) into .claude/skills/frontmatter-guard in your project. Claude Code loads it when a task matches its description.

How do I install Frontmatter Guard in Codex?

Run `npx skills add garrytan/gbrain --skill frontmatter-guard -a codex`. Or copy the skill folder (skills/frontmatter-guard in garrytan/gbrain) into .agents/skills/frontmatter-guard in your project. Codex loads it when a task matches its description.

Can I use Frontmatter Guard in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrytan/gbrain --skill frontmatter-guard -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/frontmatter-guard, .gemini/skills/frontmatter-guard, .github/skills/frontmatter-guard and .opencode/skills/frontmatter-guard in your project.

What does Frontmatter Guard need to run?

Going by SKILL.md and its folder, Frontmatter Guard needs the command-line tools its instructions call (git).

Does Frontmatter Guard access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Frontmatter Guard safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Frontmatter Guard use?

Frontmatter Guard is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Frontmatter Guard use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Frontmatter Guard?

Skills that share tags, products or a category with Frontmatter Guard: Frontmatter Repair (LearnPrompt/LearnPrompt, 2.7k stars), Safety Guard (affaan-m/ECC, 276k stars), Guard Mode (garrytan/gstack, 136k stars) and Openclaw Repair Sweep (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Frontmatter Guard?

garrytan (a GitHub user) maintains it in garrytan/gbrain, which has 30,736 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 10, 2026.

Source: garrytan/gbrain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.