Feature Planner
serendipity1004/cc-feature-implementer
Creates phase-based feature plans with quality gates and incremental delivery structure.
Pre-write quality gate for content entering the brain. An agent skill from garrytan/gbrain.
$ npx skills add garrytan/gbrain --skill brain-ingest-gate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install garrytan/gbrain brain-ingest-gate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/brain-ingest-gate .claude/skills/brain-ingest-gate && rm -rf skills-srcUse ~/.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/
Install the "brain-ingest-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/brain-ingest-gate into .claude/skills/brain-ingest-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brain-ingest-gate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/garrytan/gbrain/tree/master/skills/brain-ingest-gateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add garrytan/gbrain --skill brain-ingest-gate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install garrytan/gbrain brain-ingest-gate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/brain-ingest-gate .agents/skills/brain-ingest-gate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "brain-ingest-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/brain-ingest-gate into .agents/skills/brain-ingest-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brain-ingest-gate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add garrytan/gbrain --skill brain-ingest-gate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install garrytan/gbrain brain-ingest-gate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/brain-ingest-gate .cursor/skills/brain-ingest-gate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "brain-ingest-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/brain-ingest-gate into .cursor/skills/brain-ingest-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brain-ingest-gate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/garrytan/gbrain.git --path skills/brain-ingest-gate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add garrytan/gbrain --skill brain-ingest-gate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install garrytan/gbrain brain-ingest-gate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/brain-ingest-gate .gemini/skills/brain-ingest-gate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "brain-ingest-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/brain-ingest-gate into .gemini/skills/brain-ingest-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brain-ingest-gate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install garrytan/gbrain brain-ingest-gateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add garrytan/gbrain --skill brain-ingest-gate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/brain-ingest-gate .github/skills/brain-ingest-gate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "brain-ingest-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/brain-ingest-gate into .github/skills/brain-ingest-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brain-ingest-gate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add garrytan/gbrain --skill brain-ingest-gate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install garrytan/gbrain brain-ingest-gate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/brain-ingest-gate .opencode/skills/brain-ingest-gate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "brain-ingest-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/brain-ingest-gate into .opencode/skills/brain-ingest-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "brain-ingest-gate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
brain-ingest-gatePre-write quality gate for content entering the brain. An agent skill from garrytan/gbrain.
Brain Ingest Gate is an agent skill from garrytan/gbrain. Pre-write quality gate for content entering the brain. No raw copies: a bare cp/mv into the brain repo is a bug. Before any new page lands, resolve named entities registry-first (a vector score is a floor for prose, never a gate for named things), then run the read-the-top-hit dedup decision tree (clear-dup / plausible-dup / clear). Owns dedup; delegates enrichment to the shipped ingestion skills. Routing convention, not an operation-boundary enforcement.
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.
It sits in Testing & QA, covering Quality gates. The repository describes itself as: Garry's Opinionated OpenClaw/Hermes Agent Brain. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f250a51. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Brain Ingest Gate loads about 3.9k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 1,757 words of instructions outside code blocks.
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.
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.
The full file from garrytan/gbrain at commit f250a51, republished under its MIT licence (© garrytan). 1,757 words, ~3,851 tokens.
.claude/skills/brain-ingest-gate/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Convention: see conventions/brain-first.md — the lookup chain (
gbrain entity→search→query→get) is the same chain this gate runs before every write.Convention: see _brain-filing-rules.md — when the gate's verdict is "write", the primary subject picks the directory.
Convention:
skills/conventions/quality.mdowns the cross-cutting page rules (citations, Iron Law back-linking, notability) — every page the gate lets through follows them. Gate-specific delta: the gate only decides write/link/skip; the admitting skill applies the quality rules on write.
No content enters the brain without passing this gate. A raw cp or mv
into the brain repo is a bug.
One insight, one place. If it already exists, link to it — don't clone it.
Before any new page is written (file migration, bulk import, manual
gbrain put, subagent output), two checks run in order:
Scope honesty: this gate is a routing convention — the harness resolves it into context when an ingest-shaped intent matches, and a well-behaved agent follows it. Nothing in the gbrain runtime mechanically blocks an unenriched or duplicate write if the skill never loads.
The native pipeline does NOT do semantic dedup for you:
gbrain import / gbrain sync skip only matching frontmatter IDs.
Identical content under a different slug or ID indexes twice — every
duplicate becomes a second search hit competing with the canonical page.gbrain capture's dedup is a 24-hour exact content-hash — it catches
re-captures of identical bytes, not the same insight reworded.remember verb dedupes facts, not pages.Semantic dedup and named-entity resolution are this skill's job, in full.
gbrain sync or gbrain import indexes them. For batches, also read
conventions/test-before-bulk.md:
gate 3-5 items and inspect the decisions before running the rest.gbrain put or gbrain capture of rich content, or
direct file writes into the brain repo.This skill is a gate, not a pipeline. It owns the pre-write checks below. Everything downstream of a "write" verdict is delegated to shipped skills — do not restate their steps here or inline:
| Concern | Delegate to |
|---|---|
| Routing new external content (meetings, articles, media) | ingest |
| Entity detection + notability on inbound content | signal-detector |
| Creating/updating person + company pages, tiered effort, backlinks | enrich |
| Concept pages, tiering, cluster synthesis | concept-synthesis |
| Back-link enforcement (Iron Law) | conventions/quality.md |
| Which directory the page lands in | _brain-filing-rules.md |
Fires whenever the content is about a NAMED project, place, company, person, or anything someone "wants to build / found / make."
Vector similarity alone cannot be trusted to catch named-entity dupes: a page stored under its chosen NAME will not embed close to the generic English phrase someone happens to describe it with. The classic failure: a search for a descriptive phrase scores the canonical named page below the prose floor, so a duplicate stub gets written on top of a years-old page. Stored by named meaning; retrieval attempted by literal generic phrase.
Resolve registry-first, not by the generic phrase. gbrain's native registry is the entity surface:
gbrain entity "<name>" # zero-LLM card: page, aka list, near-miss suggestionsA card hit means the page exists — STOP, link, don't clone. On a miss (or
for concept-shaped nouns), fall through to gbrain query "<name>" --limit 3.
If the brain also keeps an explicit index of named initiatives (e.g. a page
under concepts/), read it before concluding anything is new.
Expand through aliases before searching. Named pages should carry an
aliases: frontmatter list (generic label + chosen name + any nickname +
signature phrase). Search EACH alias and the generic label, not just the
phrase the user happened to say.
A vector score is a floor for prose, NEVER a gate for named things.
If there is ANY plausible named match, open and read the candidate page
(gbrain get <slug>) before concluding it doesn't exist. A named page can
be the right answer at a score that would be a clear miss for prose.
When a NEW named thing appears, bake its aliases in the same write.
Create the page with the full aliases: list so every future synonym
resolves through gbrain entity. One frontmatter list covers all future
phrasings — O(1), not a per-instance reminder.
A memory reminder ("query the real name, not the generic phrase") is a per-instance sticky note: it only works if it happens to be in hot context that turn, doesn't generalize to the next named entity, and rots. This skill loads when an ingest-shaped task routes here. Process rules belong in the triggered gate, not in hot memory.
Before writing ANY new page (for named things, the resolution gate above runs first and takes precedence):
Extract the core claim — 1-2 sentences capturing what's novel about the new content.
Search for it:
gbrain search "<core claim>" --limit 5OPEN AND READ the top hit (gbrain get <slug>). Never band on the
score alone. Donor systems publish cosine cutoffs for this step — do NOT
port them: gbrain search returns fused hybrid rank scores, not cosine
similarity, and no numeric threshold maps across. The band comes from
reading, not from the number.
Assign a band:
| Band | Meaning | Action |
|---|---|---|
| clear-dup | The top hit already states the same insight about the same subject | STOP. Link to the existing page (gbrain link / gbrain timeline-add) instead of writing. |
| plausible-dup | Same territory; possibly a new angle | Read both fully. Same insight → link, don't write. Genuinely new angle → write WITH a cross-link to the existing page. |
| clear | Nothing in the top results covers the claim | Write normally through the delegated enrichment skills. |
New content to write
├─ Named thing? → Named-Entity Resolution Gate first
│ (entity card → alias-expanded search → READ the candidate)
├─ Extract core claim (1-2 sentences)
├─ gbrain search "<core claim>" --limit 5
└─ OPEN AND READ the top hit (gbrain get <slug>)
├─ clear-dup → STOP. Link to existing. Report "duplicate".
├─ plausible-dup → Read both. Same insight?
│ ├─ yes → STOP. Link to existing. Report "duplicate".
│ └─ no → Write with cross-link. Report "new angle".
└─ clear → Write via enrichment skills. Report "unique".After the batch, verify the gate's output holds:
gbrain check-backlinks check # mentioned entities link back (fix with: check-backlinks fix)
gbrain backlinks <new-slug> # each new page has inbound links
gbrain search "<core claim>" --limit 3 # the insight has exactly ONE homeIf check-backlinks check reports gaps on pages the gate just admitted, the
enrichment delegation was skipped — route back through
enrich before declaring the ingest done.
This skill guarantees:
aliases: frontmatter list in the same
write that creates them.gbrain check-backlinks check verification pass.writes_to:.The full behavior contract is documented in the body sections above; this section exists for the conformance test.
One decision line per item checked, then the verification result:
Ingest gate — 3 item(s) checked
| item | entity resolution | band | action |
|---|---|---|---|
| notes-on-widget-co.md | resolved: companies/widget-co | clear-dup | linked (timeline entry on companies/widget-co) |
| pricing-thesis.md | n/a (prose) | plausible-dup | new angle — written to concepts/ with cross-link to concepts/pricing-power |
| charlie-example-intro.md | miss (near-miss: people/charlie-example) | — | read near-miss; same person → linked, no new page |
Verification: check-backlinks check → 0 gaps on admitted pagesEvery "linked" or "duplicate" row MUST name the matched slug. If any row says "written", the enrichment delegation (which skill handled it) should be recoverable from the conversation.
Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:
gbrain capture / put returns write_pending (exit 10): the content is accepted. Poll gbrain write-request <request_id>; do not capture it again.source_binding_required or insufficient_scope on an MCP write: this connection cannot write that source. Tell the user which source and scope are missing; the brain host's operator grants them.cp file.md <brain-repo>/concepts/ — raw copy, no gate, no enrichment.mv of a folder into the brain repo, then gbrain sync — sync
happily indexes every duplicate; matching-ID skip will not save you.aliases: list — the next synonym
creates the next duplicate.gbrain put —
single manual writes are where duplicate stubs come from.source + source_id) only makes RE-RUNS idempotent; it
does not catch cross-source duplicates or resolve named entities. This gate
is the semantic + named-entity layer bulk-ingestion runs on its Phase 3 trial
items and bakes into the codified pipeline (its Phase 1d/6). "Build a
large-corpus pipeline" → bulk-ingestion; "does this page already exist before
I write it" → this gate.© garrytan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/brain-ingest-gate of garrytan/gbrain.
Open the folder on GitHubat commit f250a51
Brain Ingest Gate 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Brain Ingest Gate this skillgarrytan/gbrain | 31k | — | ~3.9k | Automated safety check: Pass | MIT | |
| Feature Plannerserendipity1004/cc-feature-implementer | 176 | — | ~2.4k | Automated safety check: Pass | None | |
| Ccg Workflowfengshao1227/ccg-workflow | 5.9k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Conducty Checkpointrobertbarclayy/conducty | 176 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Mission Plannerjdforsythe/forge | 151 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Quality Gate0xNyk/lacp | 305 | — | ~382 | Automated safety check: Pass | MIT |
serendipity1004/cc-feature-implementer
Creates phase-based feature plans with quality gates and incremental delivery structure.
fengshao1227/ccg-workflow
How to run a non-trivial change end to end with the CCG role tools (ccganalyze / ccgdesign / ccgbuild / ccgdebug / ccgoptimize / ccgreview / ccgtest) and the verify- quality gates.
robertbarclayy/conducty
Quality gate between parallelization groups. An agent skill from robertbarclayy/conducty.
jdforsythe/forge
Decomposes goals into team blueprints using evidence-based scaling laws, topology selection, and role design.
0xNyk/lacp
Production quality gate for agent sessions. An agent skill from 0xNyk/lacp.
nwiizo/ccswarm
Release deployment process for ccswarm. An agent skill from nwiizo/ccswarm.
garrytan/gbrain
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.
garrytan/gbrain
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.
garrytan/gbrain
Ingest links, articles, tweets, and ideas into the brain. An agent skill from garrytan/gbrain.
garrytan/gbrain
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.
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.
garrytan/gbrain
Run gbrain skillpack-check to produce an agent-readable JSON health report for the gbrain install.
Categories
Pre-write quality gate for content entering the brain. An agent skill from garrytan/gbrain. Brain Ingest Gate is an agent skill from garrytan/gbrain. Pre-write quality gate for content entering the brain.
Brain Ingest Gate fits situations like: tasks that involve Quality gates.
Run `npx skills add garrytan/gbrain --skill brain-ingest-gate -a claude-code`. Or copy the skill folder (skills/brain-ingest-gate in garrytan/gbrain) into .claude/skills/brain-ingest-gate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add garrytan/gbrain --skill brain-ingest-gate -a codex`. Or copy the skill folder (skills/brain-ingest-gate in garrytan/gbrain) into .agents/skills/brain-ingest-gate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrytan/gbrain --skill brain-ingest-gate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/brain-ingest-gate, .gemini/skills/brain-ingest-gate, .github/skills/brain-ingest-gate and .opencode/skills/brain-ingest-gate in your project.
SKILL.md names no scripts, command-line tools or credentials: Brain Ingest Gate is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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.
Brain Ingest Gate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k 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.
Skills that share tags, products or a category with Brain Ingest Gate: Feature Planner (serendipity1004/cc-feature-implementer, 176 stars), Ccg Workflow (fengshao1227/ccg-workflow, 5.9k stars), Conducty Checkpoint (robertbarclayy/conducty, 176 stars) and Mission Planner (jdforsythe/forge, 151 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.