[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GS61FKEYTVSAWNW823968":3,"skill-same:01M71GS61FKEYTVSAWNW823968":80},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":14,"repositoryHtmlUrl":63,"repositoryHomepageUrl":6,"ownerHtmlUrl":64,"ownerBlogUrl":6,"ownerDescription":65,"updatedAt":66,"install":67,"resources":79},"01M71GS61FKEYTVSAWNW823968","enrich",null,"Enrich brain pages with tiered enrichment protocol. Creates and updates\nperson\u002Fcompany pages with compiled truth, timeline, and cross-links.\nUse when a new entity is mentioned or an existing page needs updating.","weareturnone\u002Fgbrain","weareturnone","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F106660686?v=4","01M71GRFW4YZ9DFYK6J17YXQNB","Roelof Stoelwinder ","01M71GRFWVQF5ASVB08TP5VKWG",0,"MIT","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fenrich\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"who is this","pages","true","page","backlinks","links","add","brain","update","create","query","updates","when","people","new","up","company","search","get","2026-11-10 10:12:30",false,"---\nname: enrich\nversion: 1.0.0\ndescription: |\n  Enrich brain pages with tiered enrichment protocol. Creates and updates\n  person\u002Fcompany pages with compiled truth, timeline, and cross-links.\n  Use when a new entity is mentioned or an existing page needs updating.\ntriggers:\n  - \"enrich\"\n  - \"create person page\"\n  - \"update company page\"\n  - \"who is this person\"\n  - \"look up this company\"\ntools:\n  - get_page\n  - put_page\n  - search\n  - query\n  - add_link\n  - add_timeline_entry\n  - get_backlinks\nmutating: true\nwrites_pages: true\nwrites_to:\n  - people\u002F\n  - companies\u002F\n---\n\n# Enrich Skill\n\nEnrich person and company pages from external sources. Scale effort to importance.\n\n## Contract\n\nThis skill guarantees:\n- Every enriched page has compiled truth (State section) with inline citations\n- Every enriched page has a timeline with dated entries\n- Back-links are created bidirectionally\n- Tiered enrichment: Tier 1 (full), Tier 2 (medium), Tier 3 (minimal) based on notability\n- No stubs: every new page has meaningful content from web search or existing brain context\n\n> **Filing rule:** Read `skills\u002F_brain-filing-rules.md` before creating any new page.\n\n> **Convention:** See `skills\u002Fconventions\u002Fquality.md` for Iron Law back-linking.\n\nEvery mention of a person or company with a brain page MUST create a back-link\nFROM that entity's page TO the page mentioning them. An unlinked mention is a\nbroken brain. See `skills\u002F_brain-filing-rules.md` for format.\n\n## Philosophy\n\nA brain page should read like an intelligence dossier, not a LinkedIn scrape.\nFacts are table stakes. Texture is the value -- what do they believe, what are\nthey building, what makes them tick, where are they headed.\n\n## Citation Requirements (MANDATORY)\n\n> **Convention:** see `skills\u002Fconventions\u002Fquality.md` for citation formats and source precedence.\n\nWhen sources conflict, note the contradiction with both citations.\n\n## When To Enrich\n\n### Primary triggers\n- User mentions an entity in conversation\n- Entity appears in a meeting transcript or email\n- New contact appears with significant context\n- Entity makes news or has a major event\n- Any ingest pipeline encounters a notable entity\n\n### Do NOT enrich\n- Random mentions with no relationship signal\n- Bot\u002Fspam accounts\n- Entities with no substantive connection to the user's work\n- Same page enriched within the past week (unless new signal warrants it)\n\n## Enrichment Tiers\n\nScale enrichment to importance. Don't waste API calls on low-value entities.\n\n| Tier | Who | Effort | Sources |\n|------|-----|--------|---------|\n| 1 (key) | Inner circle, close collaborators, key contacts | Full pipeline | All available APIs + deep web research |\n| 2 (notable) | Occasional interactions, industry figures | Moderate | Web research + social + brain cross-ref |\n| 3 (minor) | Worth tracking, not critical | Light | Brain cross-ref + social lookup if handle known |\n\n## The Enrichment Protocol (7 Steps)\n\n### Step 1: Identify entities\n\nExtract people, companies, concepts from the incoming signal.\n\n### Step 2: Check brain state\n\nFor each entity:\n- `gbrain search \"name\"` -- does a page already exist?\n- **If yes:** UPDATE path (add new signal, update compiled truth if material)\n- **If no:** CREATE path (check notability gate first, then create)\n\n### Step 3: Extract signal from source\n\nDon't just capture facts. Capture texture:\n\n| Signal Type | What to Extract |\n|-------------|----------------|\n| Opinions, beliefs | What They Believe section |\n| Current projects, features shipped | What They're Building section |\n| Ambition, career arc, motivation | What Motivates Them section |\n| Topics they return to obsessively | Hobby Horses section |\n| Who they amplify, argue with, respect | Network \u002F Relationships |\n| Ascending, plateauing, pivoting? | Trajectory section |\n| Role, company, funding, location | State section (hard facts) |\n\n### Step 4: External data source lookups\n\nPriority order -- stop when you have enough signal for the entity's tier.\n\n**4a. Brain cross-reference (always, all tiers)**\n- `gbrain search \"name\"` and `gbrain query \"what do we know about name\"`\n- Check related pages: company pages for person enrichment and vice versa\n- This is free and often the richest source\n\n**4b. Web research (Tier 1 and 2)**\n- Use Perplexity, Brave Search, Exa, or equivalent web research tool\n- **Key pattern:** Send existing brain knowledge as context so the search\n  returns DELTA (what's new vs what you already know), not a rehash\n- Opus-class models for Tier 1 deep research, lighter models for Tier 2\n\n**4c. Social media lookup (all tiers when handle known)**\n- Pull recent posts\u002Ftweets for tone, interests, current focus\n- Social media is the highest-texture signal for what someone actually thinks\n\n**4d. People enrichment APIs (Tier 1)**\n- LinkedIn data, career history, connections, education\n\n**4e. Company enrichment APIs (Tier 1)**\n- Company data, financials, headcount, key hires, recent news\n\n| Data Need | Example Sources | Tier |\n|-----------|----------------|------|\n| Web research | Perplexity, Brave, Exa | 1-2 |\n| LinkedIn \u002F career | Crustdata, Proxycurl, People Data Labs | 1 |\n| Career history | Happenstance, LinkedIn | 1 |\n| Funding \u002F company data | Crunchbase, PitchBook, Clearbit | 1 |\n| Social media | Platform APIs, web scraping | 1-3 |\n| Meeting history | Calendar\u002Fmeeting transcript tools | 1-2 |\n\n### Step 5: Save raw data (preserves provenance)\n\nStore raw API responses via `put_raw_data` in gbrain:\n```json\n{\n  \"source\": \"crustdata\",\n  \"fetched_at\": \"2026-04-11T...\",\n  \"query\": \"jane doe\",\n  \"data\": { ... }\n}\n```\n\nRaw data preserves provenance. If the compiled truth is ever questioned,\nthe raw data shows exactly what the API returned.\n\n### Step 6: Write to brain\n\n#### CREATE path\n\n1. Check notability gate (see `skills\u002F_brain-filing-rules.md`)\n2. Check filing rules -- where does this entity go?\n3. Create page with the appropriate template (below)\n4. Fill compiled truth with citations\n5. Add first timeline entry\n6. Leave empty sections as `[No data yet]` (don't fill with boilerplate)\n\n#### UPDATE path\n\n1. Add new timeline entries (reverse-chronological, append-only)\n2. Update compiled truth ONLY if the new signal materially changes the picture\n3. Update State section with new facts\n4. Flag contradictions between new signal and existing compiled truth\n5. Don't overwrite user-written assessments with API boilerplate\n\n#### Person page template\n\n```markdown\n---\ntitle: Full Name\ntype: person\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\ntags: []\ncompany: Current Company\nrelationship: How the user knows them\nemail:\nlinkedin:\ntwitter:\nlocation:\n---\n\n# Full Name\n\n> 1-paragraph executive summary: HOW do you know them, WHY do they matter,\n> what's the current state of the relationship.\n\n## State\nRole, company, key context. Hard facts only.\n\n## What They Believe\nIdeology, first principles, worldview. What hills do they die on?\n\n## What They're Building\nCurrent projects, recent launches, what they're focused on.\n\n## What Motivates Them\nAmbition, career arc, what drives them.\n\n## Hobby Horses\nTopics they return to obsessively. Recurring themes in their work\u002Fposts.\n\n## Assessment\nYour read on this person. Strengths, gaps, trajectory.\n\n## Trajectory\nAscending, plateauing, pivoting, declining? Where are they headed?\n\n## Relationship\nHistory of interactions, shared context, relationship quality.\n\n## Contact\nEmail, social handles, preferred communication channel.\n\n## Network\nKey connections, mutual contacts, organizational relationships.\n\n## Open Threads\nActive conversations, pending items, things to follow up on.\n\n---\n\n## Timeline\nReverse chronological. Every entry has a date and [Source: ...] citation.\n- **YYYY-MM-DD** | Event description [Source: ...]\n```\n\n#### Company page template\n\n```markdown\n---\ntitle: Company Name\ntype: company\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\ntags: []\n---\n\n# Company Name\n\n> 1-paragraph executive summary.\n\n## State\nWhat they do, stage, key people, key metrics, your connection.\n\n## Open Threads\nActive items, pending decisions, things to track.\n\n---\n\n## Timeline\n- **YYYY-MM-DD** | Event description [Source: ...]\n```\n\n### Step 7: Cross-reference\n\n- Update company pages from person enrichment (and vice versa)\n- Update related project\u002Fdeal pages if relevant context surfaced\n- Check index files if the brain uses them\n\n**Note (v0.10.1):** Links between brain pages are auto-created on every\n`put_page` call (auto-link post-hook). Step 7 focuses on content\ncross-references (updating related pages' compiled truth with new signal\nfrom this enrichment), not on creating links. Verify via the `auto_links`\nfield in the put_page response (`{ created, removed, errors }`).\nTimeline entries still need explicit `gbrain timeline-add` calls.\n\n## Bulk Enrichment Rules\n\n- **Test on 3-5 entities first.** Read actual output. Check quality.\n- Only proceed to bulk after test shots pass your quality bar.\n- 3+ entities from one source -> batch process or spawn sub-agent\n- Throttle API calls. Respect rate limits.\n- Commit every 5-10 entities during bulk runs.\n- Save a report after bulk enrichment (see Report Storage below).\n\n## Validation Rules\n\n- Connection count \u003C 20 on LinkedIn = likely wrong person, skip\n- Name mismatch between brain and API = skip, flag for review\n- Joke profiles or obviously wrong data = save to raw, don't update page\n- Don't overwrite user-written assessments with API boilerplate\n- When in doubt: save raw data but don't update brain page\n\n## Report Storage\n\nAfter enrichment sweeps, save a report:\n- Number of entities processed\n- New pages created vs existing updated\n- Data sources called and results quality\n- Notable discoveries or contradictions\n- Validation flags or API failures\n\nThis creates an audit trail for brain enrichment over time.\n\n## Anti-Patterns\n\n- Creating stub pages with no content\n- Enriching without checking brain first\n- Overwriting user's direct statements with API data\n- Creating pages for non-notable entities\n\n## Output Format\n\nAn enriched person page contains:\n- **Frontmatter** with type, tags, company, relationship, and contact fields\n- **Executive summary** (1 paragraph: how you know them, why they matter, relationship state)\n- **State** section with hard facts and inline `[Source: ...]` citations\n- **Texture sections** (What They Believe, What They're Building, What Motivates Them, Hobby Horses)\n- **Assessment** with trajectory read\n- **Relationship** history and contact info\n- **Network** connections and mutual contacts\n- **Timeline** in reverse chronological order, every entry dated with source citation\n\nAn enriched company page contains:\n- **Frontmatter** with type and tags\n- **Executive summary** (1 paragraph)\n- **State** section (what they do, stage, key people, metrics, your connection)\n- **Open Threads** (active items, pending decisions)\n- **Timeline** in reverse chronological order with dated, cited entries\n\nBoth page types have bidirectional back-links to every entity they mention.\n\n## Tools Used\n\n- Read a page from gbrain (get_page)\n- Store\u002Fupdate a page in gbrain (put_page)\n- Add a timeline entry in gbrain (add_timeline_entry)\n- List pages in gbrain by type (list_pages)\n- Store raw API data in gbrain (put_raw_data)\n- Retrieve raw data from gbrain (get_raw_data)\n- Link entities in gbrain (add_link)\n- Check backlinks in gbrain (get_backlinks)\n","# Enrich Skill\n\nEnrich person and company pages from external sources. Scale effort to importance.\n\n## Contract\n\nThis skill guarantees:\n- Every enriched page has compiled truth (State section) with inline citations\n- Every enriched page has a timeline with dated entries\n- Back-links are created bidirectionally\n- Tiered enrichment: Tier 1 (full), Tier 2 (medium), Tier 3 (minimal) based on notability\n- No stubs: every new page has meaningful content from web search or existing brain context\n\n> **Filing rule:** Read `skills\u002F_brain-filing-rules.md` before creating any new page.\n\n> **Convention:** See `skills\u002Fconventions\u002Fquality.md` for Iron Law back-linking.\n\nEvery mention of a person or company with a brain page MUST create a back-link\nFROM that entity's page TO the page mentioning them. An unlinked mention is a\nbroken brain. See `skills\u002F_brain-filing-rules.md` for format.\n\n## Philosophy\n\nA brain page should read like an intelligence dossier, not a LinkedIn scrape.\nFacts are table stakes. Texture is the value -- what do they believe, what are\nthey building, what makes them tick, where are they headed.\n\n## Citation Requirements (MANDATORY)\n\n> **Convention:** see `skills\u002Fconventions\u002Fquality.md` for citation formats and source precedence.\n\nWhen sources conflict, note the contradiction with both citations.\n\n## When To Enrich\n\n### Primary triggers\n- User mentions an entity in conversation\n- Entity appears in a meeting transcript or email\n- New contact appears with significant context\n- Entity makes news or has a major event\n- Any ingest pipeline encounters a notable entity\n\n### Do NOT enrich\n- Random mentions with no relationship signal\n- Bot\u002Fspam accounts\n- Entities with no substantive connection to the user's work\n- Same page enriched within the past week (unless new signal warrants it)\n\n## Enrichment Tiers\n\nScale enrichment to importance. Don't waste API calls on low-value entities.\n\n| Tier | Who | Effort | Sources |\n|------|-----|--------|---------|\n| 1 (key) | Inner circle, close collaborators, key contacts | Full pipeline | All available APIs + deep web research |\n| 2 (notable) | Occasional interactions, industry figures | Moderate | Web research + social + brain cross-ref |\n| 3 (minor) | Worth tracking, not critical | Light | Brain cross-ref + social lookup if handle known |\n\n## The Enrichment Protocol (7 Steps)\n\n### Step 1: Identify entities\n\nExtract people, companies, concepts from the incoming signal.\n\n### Step 2: Check brain state\n\nFor each entity:\n- `gbrain search \"name\"` -- does a page already exist?\n- **If yes:** UPDATE path (add new signal, update compiled truth if material)\n- **If no:** CREATE path (check notability gate first, then create)\n\n### Step 3: Extract signal from source\n\nDon't just capture facts. Capture texture:\n\n| Signal Type | What to Extract |\n|-------------|----------------|\n| Opinions, beliefs | What They Believe section |\n| Current projects, features shipped | What They're Building section |\n| Ambition, career arc, motivation | What Motivates Them section |\n| Topics they return to obsessively | Hobby Horses section |\n| Who they amplify, argue with, respect | Network \u002F Relationships |\n| Ascending, plateauing, pivoting? | Trajectory section |\n| Role, company, funding, location | State section (hard facts) |\n\n### Step 4: External data source lookups\n\nPriority order -- stop when you have enough signal for the entity's tier.\n\n**4a. Brain cross-reference (always, all tiers)**\n- `gbrain search \"name\"` and `gbrain query \"what do we know about name\"`\n- Check related pages: company pages for person enrichment and vice versa\n- This is free and often the richest source\n\n**4b. Web research (Tier 1 and 2)**\n- Use Perplexity, Brave Search, Exa, or equivalent web research tool\n- **Key pattern:** Send existing brain knowledge as context so the search\n  returns DELTA (what's new vs what you already know), not a rehash\n- Opus-class models for Tier 1 deep research, lighter models for Tier 2\n\n**4c. Social media lookup (all tiers when handle known)**\n- Pull recent posts\u002Ftweets for tone, interests, current focus\n- Social media is the highest-texture signal for what someone actually thinks\n\n**4d. People enrichment APIs (Tier 1)**\n- LinkedIn data, career history, connections, education\n\n**4e. Company enrichment APIs (Tier 1)**\n- Company data, financials, headcount, key hires, recent news\n\n| Data Need | Example Sources | Tier |\n|-----------|----------------|------|\n| Web research | Perplexity, Brave, Exa | 1-2 |\n| LinkedIn \u002F career | Crustdata, Proxycurl, People Data Labs | 1 |\n| Career history | Happenstance, LinkedIn | 1 |\n| Funding \u002F company data | Crunchbase, PitchBook, Clearbit | 1 |\n| Social media | Platform APIs, web scraping | 1-3 |\n| Meeting history | Calendar\u002Fmeeting transcript tools | 1-2 |\n\n### Step 5: Save raw data (preserves provenance)\n\nStore raw API responses via `put_raw_data` in gbrain:\n```json\n{\n  \"source\": \"crustdata\",\n  \"fetched_at\": \"2026-04-11T...\",\n  \"query\": \"jane doe\",\n  \"data\": { ... }\n}\n```\n\nRaw data preserves provenance. If the compiled truth is ever questioned,\nthe raw data shows exactly what the API returned.\n\n### Step 6: Write to brain\n\n#### CREATE path\n\n1. Check notability gate (see `skills\u002F_brain-filing-rules.md`)\n2. Check filing rules -- where does this entity go?\n3. Create page with the appropriate template (below)\n4. Fill compiled truth with citations\n5. Add first timeline entry\n6. Leave empty sections as `[No data yet]` (don't fill with boilerplate)\n\n#### UPDATE path\n\n1. Add new timeline entries (reverse-chronological, append-only)\n2. Update compiled truth ONLY if the new signal materially changes the picture\n3. Update State section with new facts\n4. Flag contradictions between new signal and existing compiled truth\n5. Don't overwrite user-written assessments with API boilerplate\n\n#### Person page template\n\n```markdown\n---\ntitle: Full Name\ntype: person\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\ntags: []\ncompany: Current Company\nrelationship: How the user knows them\nemail:\nlinkedin:\ntwitter:\nlocation:\n---\n\n# Full Name\n\n> 1-paragraph executive summary: HOW do you know them, WHY do they matter,\n> what's the current state of the relationship.\n\n## State\nRole, company, key context. Hard facts only.\n\n## What They Believe\nIdeology, first principles, worldview. What hills do they die on?\n\n## What They're Building\nCurrent projects, recent launches, what they're focused on.\n\n## What Motivates Them\nAmbition, career arc, what drives them.\n\n## Hobby Horses\nTopics they return to obsessively. Recurring themes in their work\u002Fposts.\n\n## Assessment\nYour read on this person. Strengths, gaps, trajectory.\n\n## Trajectory\nAscending, plateauing, pivoting, declining? Where are they headed?\n\n## Relationship\nHistory of interactions, shared context, relationship quality.\n\n## Contact\nEmail, social handles, preferred communication channel.\n\n## Network\nKey connections, mutual contacts, organizational relationships.\n\n## Open Threads\nActive conversations, pending items, things to follow up on.\n\n---\n\n## Timeline\nReverse chronological. Every entry has a date and [Source: ...] citation.\n- **YYYY-MM-DD** | Event description [Source: ...]\n```\n\n#### Company page template\n\n```markdown\n---\ntitle: Company Name\ntype: company\ncreated: YYYY-MM-DD\nupdated: YYYY-MM-DD\ntags: []\n---\n\n# Company Name\n\n> 1-paragraph executive summary.\n\n## State\nWhat they do, stage, key people, key metrics, your connection.\n\n## Open Threads\nActive items, pending decisions, things to track.\n\n---\n\n## Timeline\n- **YYYY-MM-DD** | Event description [Source: ...]\n```\n\n### Step 7: Cross-reference\n\n- Update company pages from person enrichment (and vice versa)\n- Update related project\u002Fdeal pages if relevant context surfaced\n- Check index files if the brain uses them\n\n**Note (v0.10.1):** Links between brain pages are auto-created on every\n`put_page` call (auto-link post-hook). Step 7 focuses on content\ncross-references (updating related pages' compiled truth with new signal\nfrom this enrichment), not on creating links. Verify via the `auto_links`\nfield in the put_page response (`{ created, removed, errors }`).\nTimeline entries still need explicit `gbrain timeline-add` calls.\n\n## Bulk Enrichment Rules\n\n- **Test on 3-5 entities first.** Read actual output. Check quality.\n- Only proceed to bulk after test shots pass your quality bar.\n- 3+ entities from one source -> batch process or spawn sub-agent\n- Throttle API calls. Respect rate limits.\n- Commit every 5-10 entities during bulk runs.\n- Save a report after bulk enrichment (see Report Storage below).\n\n## Validation Rules\n\n- Connection count \u003C 20 on LinkedIn = likely wrong person, skip\n- Name mismatch between brain and API = skip, flag for review\n- Joke profiles or obviously wrong data = save to raw, don't update page\n- Don't overwrite user-written assessments with API boilerplate\n- When in doubt: save raw data but don't update brain page\n\n## Report Storage\n\nAfter enrichment sweeps, save a report:\n- Number of entities processed\n- New pages created vs existing updated\n- Data sources called and results quality\n- Notable discoveries or contradictions\n- Validation flags or API failures\n\nThis creates an audit trail for brain enrichment over time.\n\n## Anti-Patterns\n\n- Creating stub pages with no content\n- Enriching without checking brain first\n- Overwriting user's direct statements with API data\n- Creating pages for non-notable entities\n\n## Output Format\n\nAn enriched person page contains:\n- **Frontmatter** with type, tags, company, relationship, and contact fields\n- **Executive summary** (1 paragraph: how you know them, why they matter, relationship state)\n- **State** section with hard facts and inline `[Source: ...]` citations\n- **Texture sections** (What They Believe, What They're Building, What Motivates Them, Hobby Horses)\n- **Assessment** with trajectory read\n- **Relationship** history and contact info\n- **Network** connections and mutual contacts\n- **Timeline** in reverse chronological order, every entry dated with source citation\n\nAn enriched company page contains:\n- **Frontmatter** with type and tags\n- **Executive summary** (1 paragraph)\n- **State** section (what they do, stage, key people, metrics, your connection)\n- **Open Threads** (active items, pending decisions)\n- **Timeline** in reverse chronological order with dated, cited entries\n\nBoth page types have bidirectional back-links to every entity they mention.\n\n## Tools Used\n\n- Read a page from gbrain (get_page)\n- Store\u002Fupdate a page in gbrain (put_page)\n- Add a timeline entry in gbrain (add_timeline_entry)\n- List pages in gbrain by type (list_pages)\n- Store raw API data in gbrain (put_raw_data)\n- Retrieve raw data from gbrain (get_raw_data)\n- Link entities in gbrain (add_link)\n- Check backlinks in gbrain (get_backlinks)\n",{"name":5,"tools":43,"version":49,"mutating":50,"triggers":51,"writes_to":56,"description":59,"writes_pages":50},[44,45,36,29,46,47,48],"get_page","put_page","add_link","add_timeline_entry","get_backlinks","1.0.0",true,[5,52,53,54,55],"create person page","update company page","who is this person","look up this company",[57,58],"people\u002F","companies\u002F","Enrich brain pages with tiered enrichment protocol. Creates and updates\nperson\u002Fcompany pages with compiled truth, timeline, and cross-links.\nUse when a new entity is mentioned or an existing page needs updating.\n","master","1fd9e273fe234ffb8d2a7705955f087f861a5c3d","skills\u002Fenrich","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain","https:\u002F\u002Fgithub.com\u002Fweareturnone","I have a passion for operations, systems and doing good for the world.","2026-07-08 23:38:19",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":50},[69,72,75],{"tool":70,"command":71},"npx","npx skills add weareturnone\u002Fgbrain --skill enrich",{"tool":73,"command":74},"bunx","bunx skills add weareturnone\u002Fgbrain --skill enrich",{"tool":76,"command":77},"pnpm","pnpm dlx skills add weareturnone\u002Fgbrain --skill enrich","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fenrich\u002FSKILL.md",[],[81,98,108,123,137,158],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":38},"01M71GTZ2PH49PD2R6RR7MHJZP","signal-detector","Always-on ambient signal capture for the OpenClaw reference fixture.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fopenclaw-reference-minimal\u002Fskills\u002Fsignal-detector\u002FSKILL.md",[],[88,89,90,91,92,93,94,95,96,97],"signal","signal detector","detector","for","openclaw","capture","reference","message","fixture","ambient",{"skillNo":99,"name":29,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":38},"01M71GTY1250DC73PGRWDE82KW","Look up brain pages in the OpenClaw reference fixture.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fopenclaw-reference-minimal\u002Fskills\u002Fquery\u002FSKILL.md",[],[29,104,94,105,92,106,20,34,26,36,107,91,96],"do","lookup","look","about",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":38},"01M71GTX0T1T9224P29SD7CSG7","context-now","ALWAYS-ON time-sensitivity discipline for the OpenClaw reference fixture.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fopenclaw-reference-minimal\u002Fskills\u002Fcontext-now\u002FSKILL.md",[],[115,116,117,118,119,92,91,120,94,96,121,122],"context","context now","now","time","how","discipline","sensitivity","long",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":38},"01M71GTVZJTSWXBM4ZRF4A7QVA","brain-ops","Core read\u002Fwrite cycle for the OpenClaw reference fixture.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fopenclaw-reference-minimal\u002Fskills\u002Fbrain-ops\u002FSKILL.md",[],[130,26,131,132,105,92,32,94,21,91,133,134,135,96,136],"brain ops","ops","Citation","read","cycle","core","write",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":38},"01M71GTT4F64V9RMNZ0WRTKWNG","webhook-transforms","Generic framework for converting external events (SMS, meetings, social mentions)\ninto brain-ingestible signals. Define a transform function, register a webhook URL,\nand incoming events get processed through the brain pipeline.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Fwebhook-transforms\u002FSKILL.md",[],[144,145,146,147,148,34,149,150,151,152,21,153,36,154,155,22,91,156,157,37],"webhook","transforms","webhook transforms","SET","register","meetings","signals","URL","define","social","event","pipeline","sms","generic",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":177,"publishedAt":38},"01M71GTRDKSM500PRZEXFNQHF9","testing","Skill validation framework. Validates every skill has SKILL.md with frontmatter,\nevery reference exists, every env var is declared. The testing contract for the\nskill system itself.","https:\u002F\u002Fgithub.com\u002Fweareturnone\u002Fgbrain\u002Fblob\u002Fmaster\u002Fskills\u002Ftesting\u002FSKILL.md",[164,169,172],{"categoryNo":165,"categoryName":166,"taxonomyType":167,"taxonomyTypeDesc":168},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":170,"categoryName":171,"taxonomyType":167,"taxonomyTypeDesc":168},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":173,"categoryName":174,"taxonomyType":175,"taxonomyTypeDesc":176},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[160,178,179,180,181,182,183,184,185,186,187,188,189,190,20,191,36,192,193,91],"test skills","validation","run","health check","test","with","health","check","env","skill validation","false","contract","tests","skill health","system","validate skills"]