/enrich
Enrich brain pages with tiered enrichment protocol. Creates and updates person/company pages with compiled truth, timeline, and cross-links. Use when a new entity is mentioned or an existing page needs updating.
$ npx -y skills add garrytan/gbrain --skill enrich --agent claude-codeHow 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
/enrich
Context preview
The summary Claude sees to decide when to auto-load this skill.
Enrich brain pages with tiered enrichment protocol. Creates and updates person/company pages with compiled truth, timeline, and cross-links. Use when a new entity is mentioned or an existing page needs updating.
SKILL.md
enrich.SKILL.mdname: enrich
version: 1.0.0
description: |
Enrich brain pages with tiered enrichment protocol. Creates and updates
person/company pages with compiled truth, timeline, and cross-links.
Use when a new entity is mentioned or an existing page needs updating.
triggers:
- "enrich"
- "create person page"
- "update company page"
- "who is this person"
- "look up this company"
tools:
- get_page
- put_page
- search
- query
- add_link
- add_timeline_entry
- get_backlinks
mutating: true
writes_pages: true
writes_to:
- people/
- companies/
Enrich Skill
Enrich person and company pages from external sources. Scale effort to importance.
Contract
This skill guarantees:
- Every enriched page has compiled truth (State section) with inline citations
- Every enriched page has a timeline with dated entries
- Back-links are created bidirectionally
- Tiered enrichment: Tier 1 (full), Tier 2 (medium), Tier 3 (minimal) based on notability
- No stubs: every new page has meaningful content from web search or existing brain context
> **Filing rule:** Read `skills/_brain-filing-rules.md` before creating any new page.
> **Convention:** See `skills/conventions/quality.md` for Iron Law back-linking.
Every mention of a person or company with a brain page MUST create a back-link FROM that entity's page TO the page mentioning them. An unlinked mention is a broken brain. See `skills/_brain-filing-rules.md` for format.
Philosophy
A brain page should read like an intelligence dossier, not a LinkedIn scrape. Facts are table stakes. Texture is the value -- what do they believe, what are they building, what makes them tick, where are they headed.
Citation Requirements (MANDATORY)
> **Convention:** see `skills/conventions/quality.md` for citation formats and source precedence.
When sources conflict, note the contradiction with both citations.
When To Enrich
Primary triggers
- User mentions an entity in conversation
- Entity appears in a meeting transcript or email
- New contact appears with significant context
- Entity makes news or has a major event
- Any ingest pipeline encounters a notable entity
Do NOT enrich
- Random mentions with no relationship signal
- Bot/spam accounts
- Entities with no substantive connection to the user's work
- Same page enriched within the past week (unless new signal warrants it)
Enrichment Tiers
Scale enrichment to importance. Don't waste API calls on low-value entities.
| Tier | Who | Effort | Sources | |------|-----|--------|---------| | 1 (key) | Inner circle, close collaborators, key contacts | Full pipeline | All available APIs + deep web research | | 2 (notable) | Occasional interactions, industry figures | Moderate | Web research + social + brain cross-ref | | 3 (minor) | Worth tracking, not critical | Light | Brain cross-ref + social lookup if handle known |
The Enrichment Protocol (7 Steps)
Step 1: Identify entities
Extract people, companies, concepts from the incoming signal.
Step 2: Check brain state
For each entity:
- `gbrain search "name"` -- does a page already exist?
- **If yes:** UPDATE path (add new signal, update compiled truth if material)
- **If no:** CREATE path (check notability gate first, then create)
Step 3: Extract signal from source
Don't just capture facts. Capture texture:
| Signal Type | What to Extract | |-------------|----------------| | Opinions, beliefs | What They Believe section | | Current projects, features shipped | What They're Building section | | Ambition, career arc, motivation | What Motivates Them section | | Topics they return to obsessively | Hobby Horses section | | Who they amplify, argue with, respect | Network / Relationships | | Ascending, plateauing, pivoting? | Trajectory section | | Role, company, funding, location | State section (hard facts) |
Step 4: External data source lookups
Priority order -- stop when you have enough signal for the entity's tier.
**4a. Brain cross-reference (always, all tiers)**
- `gbrain search "name"` and `gbrain query "what do we know about name"`
- Check related pages: company pages for person enrichment and vice versa
- This is free and often the richest source
**4b. Web research (Tier 1 and 2)**
- Use Perplexity, Brave Search, Exa, or equivalent web research tool
- **Key pattern:** Send existing brain knowledge as context so the search
returns DELTA (what's new vs what you already know), not a rehash
- Opus-class models for Tier 1 deep research, lighter models for Tier 2
**4c. Social media lookup (all tiers when handle known)**
- Pull recent posts/tweets for tone, interests, current focus
- Social media is the highest-texture signal for what someone actually thinks
**4d. People enrichment APIs (Tier 1)**
- LinkedIn data, career history, connections, education
**4e. Company enrichment APIs (Tier 1)**
- Company data, financials, headcount, key hires, recent news
| Data Need | Example Sources | Tier | |-----------|----------------|------| | Web research | Perplexity, Brave, Exa | 1-2 | | LinkedIn / career | Crustdata, Proxycurl, People Data Labs | 1 | | Career history | Happenstance, LinkedIn | 1 | | Funding / company data | Crunchbase, PitchBook, Clearbit | 1 | | Social media | Platform APIs, web scraping | 1-3 | | Meeting history | Calendar/meeting transcript tools | 1-2 |
Step 5: Save raw data (preserves provenance)
Store raw API responses via `put_raw_data` in gbrain:
{
"source": "crustdata",
"fetched_at": "2026-04-11T...",
"query": "jane doe",
"data": { ... }
}Raw data preserves provenance. If the compiled truth is ever questioned, the raw data shows exactly what the API returned.
Step 6: Write to brain
CREATE path
1. Check notability gate (see `skills/_brain-filing-rules.md`) 2. Check filing rules -- where does this entity go? 3. Create page with the appropriate template (below) 4. Fill compiled truth with citations 5. Add first timeline entry 6. Leave
Read more
name: enrich version: 1.0.0 description: | Enrich brain pages with tiered enrichment protocol. Creates and updates person/company pages with compiled truth, timeline, and cross-links. Use when a new entity is mentioned or an existing page needs updating. triggers: - "enrich" - "create person page" - "update company page" - "who is this person" - "look up this company" tools: - get_page - put_page - search - query - add_link - add_timeline_entry - get_backlinks mutating: true writes_pages: true writes_to: - people/ - companies/
Enrich Skill
Enrich person and company pages from external sources. Scale effort to importance.
Contract
This skill guarantees:
- Every enriched page has compiled truth (State section) with inline citations
- Every enriched page has a timeline with dated entries
- Back-links are created bidirectionally
- Tiered enrichment: Tier 1 (full), Tier 2 (medium), Tier 3 (minimal) based on notability
- No stubs: every new page has meaningful content from web search or existing brain context
> **Filing rule:** Read `skills/_brain-filing-rules.md` before creating any new page.
> **Convention:** See `skills/conventions/quality.md` for Iron Law back-linking.
Every mention of a person or company with a brain page MUST create a back-link FROM that entity's page TO the page mentioning them. An unlinked mention is a broken brain. See `skills/_brain-filing-rules.md` for format.
Philosophy
A brain page should read like an intelligence dossier, not a LinkedIn scrape. Facts are table stakes. Texture is the value -- what do they believe, what are they building, what makes them tick, where are they headed.
Citation Requirements (MANDATORY)
> **Convention:** see `skills/conventions/quality.md` for citation formats and source precedence.
When sources conflict, note the contradiction with both citations.
When To Enrich
Primary triggers
- User mentions an entity in conversation
- Entity appears in a meeting transcript or email
- New contact appears with significant context
- Entity makes news or has a major event
- Any ingest pipeline encounters a notable entity
Do NOT enrich
- Random mentions with no relationship signal
- Bot/spam accounts
- Entities with no substantive connection to the user's work
- Same page enriched within the past week (unless new signal warrants it)
Enrichment Tiers
Scale enrichment to importance. Don't waste API calls on low-value entities.
| Tier | Who | Effort | Sources | |------|-----|--------|---------| | 1 (key) | Inner circle, close collaborators, key contacts | Full pipeline | All available APIs + deep web research | | 2 (notable) | Occasional interactions, industry figures | Moderate | Web research + social + brain cross-ref | | 3 (minor) | Worth tracking, not critical | Light | Brain cross-ref + social lookup if handle known |
The Enrichment Protocol (7 Steps)
Step 1: Identify entities
Extract people, companies, concepts from the incoming signal.
Step 2: Check brain state
For each entity:
- `gbrain search "name"` -- does a page already exist?
- **If yes:** UPDATE path (add new signal, update compiled truth if material)
- **If no:** CREATE path (check notability gate first, then create)
Step 3: Extract signal from source
Don't just capture facts. Capture texture:
| Signal Type | What to Extract | |-------------|----------------| | Opinions, beliefs | What They Believe section | | Current projects, features shipped | What They're Building section | | Ambition, career arc, motivation | What Motivates Them section | | Topics they return to obsessively | Hobby Horses section | | Who they amplify, argue with, respect | Network / Relationships | | Ascending, plateauing, pivoting? | Trajectory section | | Role, company, funding, location | State section (hard facts) |
Step 4: External data source lookups
Priority order -- stop when you have enough signal for the entity's tier.
**4a. Brain cross-reference (always, all tiers)**
- `gbrain search "name"` and `gbrain query "what do we know about name"`
- Check related pages: company pages for person enrichment and vice versa
- This is free and often the richest source
**4b. Web research (Tier 1 and 2)**
- Use Perplexity, Brave Search, Exa, or equivalent web research tool
- **Key pattern:** Send existing brain knowledge as context so the search
returns DELTA (what's new vs what you already know), not a rehash
- Opus-class models for Tier 1 deep research, lighter models for Tier 2
**4c. Social media lookup (all tiers when handle known)**
- Pull recent posts/tweets for tone, interests, current focus
- Social media is the highest-texture signal for what someone actually thinks
**4d. People enrichment APIs (Tier 1)**
- LinkedIn data, career history, connections, education
**4e. Company enrichment APIs (Tier 1)**
- Company data, financials, headcount, key hires, recent news
| Data Need | Example Sources | Tier | |-----------|----------------|------| | Web research | Perplexity, Brave, Exa | 1-2 | | LinkedIn / career | Crustdata, Proxycurl, People Data Labs | 1 | | Career history | Happenstance, LinkedIn | 1 | | Funding / company data | Crunchbase, PitchBook, Clearbit | 1 | | Social media | Platform APIs, web scraping | 1-3 | | Meeting history | Calendar/meeting transcript tools | 1-2 |
Step 5: Save raw data (preserves provenance)
Store raw API responses via `put_raw_data` in gbrain:
{
"source": "crustdata",
"fetched_at": "2026-04-11T...",
"query": "jane doe",
"data": { ... }
}Raw data preserves provenance. If the compiled truth is ever questioned, the raw data shows exactly what the API returned.
Step 6: Write to brain
CREATE path
1. Check notability gate (see `skills/_brain-filing-rules.md`) 2. Check filing rules -- where does this entity go? 3. Create page with the appropriate template (below) 4. Fill compiled truth with citations 5. Add first timeline entry 6. Leave
Search gives you raw pages. GBrain gives you the answer. It's the brain layer your AI agent has been missing — the only one that does synthesis, graph traversal, and gap analysis in one box.
Repo: garrytan/gbrain
Other skills on gbrain.
- /voice-persona-mars
Route to Mars (introspective thought partner / demo showman voice persona). Used when the operator wants depth, meaning, or impressive social demos rather than logistics. Mars handles SOLO mode (philosophy, presence, patterns) and DEMO mode (tool-driven showmanship)
Open skill - /voice-persona-venus
Route to Venus (sharp executive-assistant voice persona). Used for logistics — calendar, tasks, recent messages, brain lookups — at sub-second phone-call latency. The default voice persona unless DEFAULT_PERSONA=mars is set.
Open skill - /voice-post-call
Post-call handling for a voice session — turn the transcript into a brain page, post the summary to the operator's messaging surface, archive the audio. Belt-and-suspenders: fires both from a tool the voice persona can call mid-call AND from the automatic call-end handler in
Open skill - /retrieval-reflex
When/what to retrieve — open the brain page for a salient entity before answering from memory.
Open skill - /academic-verify
Verify a research claim or academic citation by tracing it through publication → methodology → raw data → independent replication. Routes through perplexity-research for the actual web lookup, then formats results as a citation-checked brain page. Use when a
Open skill - /archive-crawler
Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump). Filters for high-value content (the user's own writing, ideas, relationships) and surfaces it interactively. REFUSES TO RUN without an explicit gbrain.yml
Open skill

