Skip to content
Data
Skill

/brain-ingest-gate

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

From plugin
gbrain
30k77 skills
Install
$ npx -y skills add garrytan/gbrain --skill brain-ingest-gate --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/brain-ingest-gate

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

brain-ingest-gate.SKILL.md
name: brain-ingest-gate
version: 1.0.0
description: >
  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.
triggers:
  - "move this to brain"
  - "migrate to brain"
  - "copy these files into the brain"
  - "is this already in the brain"
  - "check for duplicates before writing"
  - "dedup before saving"
  - "raw copy to brain"
mutating: true
writes_pages: true
writes_to:
  - people/
  - companies/
  - concepts/
  - projects/
upstream: brain-ingest-gate@fc834ee
# Brain-first applies in its purest form here: the entire gate IS a
# brain-first lookup performed at write time (entity card, alias-expanded
# search, read the top hit) before anything external or new is written.
brain_first: true

Brain Ingest Gate — Resolve and Dedup Before Anything Enters the Brain

> **Convention:** see [conventions/brain-first.md](../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](../_brain-filing-rules.md) — > when the gate's verdict is "write", the primary subject picks the directory. > > **Convention:** `skills/conventions/quality.md` owns 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.

The Rule

**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:

1. **Named-Entity Resolution Gate** — is this about a named thing that already has a page under its chosen name? 2. **Dedup Gate** — does the brain already state this insight somewhere?

**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.

Why gbrain needs this gate

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.

  • **The `remember` verb dedupes facts, not pages.**

Semantic dedup and named-entity resolution are this skill's job, in full.

When This Gate Fires

1. **File migration** — moving files already in the workspace into the brain repo ("move this to brain"). 2. **Bulk imports** — batch moves of any kind into brain directories, BEFORE `gbrain sync` or `gbrain import` indexes them. For batches, also read [conventions/test-before-bulk.md](../conventions/test-before-bulk.md): gate 3-5 items and inspect the decisions before running the rest. 3. **Manual writes** — `gbrain put` or `gbrain capture` of rich content, or direct file writes into the brain repo. 4. **Subagent output** — background agents writing notes or pages into the brain.

What This Gate Owns vs Delegates

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](../ingest/SKILL.md) | | Entity detection + notability on inbound content | [signal-detector](../signal-detector/SKILL.md) | | Creating/updating person + company pages, tiered effort, backlinks | [enrich](../enrich/SKILL.md) | | Concept pages, tiering, cluster synthesis | [concept-synthesis](../concept-synthesis/SKILL.md) | | Back-link enforcement (Iron Law) | [conventions/quality.md](../conventions/quality.md) | | Which directory the page lands in | [_brain-filing-rules.md](../_brain-filing-rules.md) |

Named-Entity Resolution Gate (runs FIRST)

**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.

The rules

1. **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 suggestions

A 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.

2. **Expand through aliases before searching.** Named pages should carry an `aliases:` frontmatter list (generic label + ch

Read more
Ships withgbrain

Give the agent you already use a memory you control. GBrain stores explicit facts with their sources, supports corrections and withdrawal, and makes the same memory available across your agents.

Get the whole plugin
Stats
29,802
Stars
4,444
Forks
Active
Maintenance
TypeScript
Language
MIT
License
3d ago
Last commit
5mo ago
Created

Repo: garrytan/gbrain

Other skills on gbrain.

brain-ops
Skill

brain-ops

Brain knowledge base operations. The core read/write cycle: brain-first lookup, read-enrich-write loop, source attribution, ambient enrichment, back-linking.…

@garrytan@garrytanView Skill