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…
Structured data research: search sources, extract structured data, archive raw sources, maintain canonical tracker pages, deduplicate. Parameterized via YAML recipes for investor updates, donations, company updates, or any email-to-structured-data pipeline.
$ npx -y skills add garrytan/gbrain --skill data-research --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/data-researchContext preview
The summary Claude sees to decide when to auto-load this skill.
Structured data research: search sources, extract structured data, archive raw sources, maintain canonical tracker pages, deduplicate. Parameterized via YAML recipes for investor updates, donations, company updates, or any email-to-structured-data pipeline.
name: data-research version: 1.1.0 description: | Structured data research: search sources, extract structured data, archive raw sources, maintain canonical tracker pages, deduplicate. Parameterized via YAML recipes for investor updates, donations, company updates, or any email-to-structured-data pipeline. triggers: - "research" - "track" - "extract from email" - "investor updates" - "donations" - "build a tracker" - "data dig" tools: - search - query - get_page - put_page - add_link - add_timeline_entry - put_raw_data - file_upload mutating: true upstream: data-research@fc834ee
Structured research pipeline: search sources, extract structured data, archive raw, deduplicate, update canonical trackers, backlink entities.
One skill for any email-to-structured-data pipeline. The only differences between tracking investor updates, expenses, and company metrics are the **search queries**, **extraction schemas**, and **tracker page format**. All three use the same 7-phase pipeline with parameterized recipes.
Infer the research target from conversation context, recent brain activity, active tasks (`ops/tasks.md`), and memory files. If the request is ambiguous, present the most likely interpretation based on what the user has been working on. Only ask for clarification if context is genuinely insufficient. Options:
tracker page path, tracker format
Recipes are YAML files at `~/.gbrain/recipes/{name}.yaml`. Scaffold a new one by copying a built-in recipe file and editing its fields.
Brain first (maybe we already have this data). Then:
Deterministic first (regex patterns from recipe), LLM fallback. Log every LLM fallback for future regex improvement (fail-improve loop). Skip marketing, newsletters, noise based on recipe's classification rules.
**EXTRACTION INTEGRITY RULE:** 1. Save raw source immediately (before any extraction) 2. Extract fields using deterministic regex first, LLM fallback 3. When summarizing batch results: **re-read from saved files** 4. Never trust LLM working memory after batch processing
This prevents a known hallucination bug where batch-processed amounts were 13/13 wrong from LLM working memory while saved files were correct.
Before adding to tracker:
Three example recipes ship with GBrain (see `~/.gbrain/recipes/`):
1. **investor-updates** — extract MRR, ARR, growth, burn, runway, headcount from investor update emails 2. **expense-tracker** — extract amounts, recipients, platforms from receipt emails (subscriptions, services, recurring charges) 3. **company-updates** — extract revenue, users, key metrics from portfolio company update emails
Brain page at the recipe's `tracker_page` path with markdown tables:
### 2026 | Date | Company | MRR | ARR | Growth | Status | |------|---------|-----|-----|--------|--------| | 2026-04-01 | Example Co | $188K | $2.3M | +14.7% MoM | [Source](link) |
Each entry links to its raw source. Running totals at the bottom of each section.
References `skills/conventions/quality.md` for citation and back-linking rules.
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.
Repo: 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…
When you report a brain page to the user — created, edited, committed, or relayed from a subagent — a working link is part of the deliverable, in the SAME…
Brain knowledge base operations. The core read/write cycle: brain-first lookup, read-enrich-write loop, source attribution, ambient enrichment, back-linking.…
Deduplicate and synthesize raw concept stubs into a tiered intellectual map (T1 Canon to T4 Riff), tracing idea evolution across sources over time. Transforms…
Token-hygiene audit of the always-loaded context stack — CLAUDE.md, AGENTS.md, auto-memory MEMORY.md, and the bootstrap-rendered identity files (SOUL.md,…
When the user corrects a factual error, root-cause it immediately. Don't just note the correction — trace the error to its source, fix the source, and prevent…