[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6N0F9C3MQM3RAJR76YZRRRF":3,"skill-same:01M6N0F9C3MQM3RAJR76YZRRRF":76},{"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":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":59,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6N0F9C3MQM3RAJR76YZRRRF","retrieval-reflex",null,"When\u002Fwhat to retrieve — open the brain page for a salient entity before answering from memory.","garrytan\u002Fgbrain","garrytan","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F19957?v=4","01M6DJCCDDG53MTYYRTXAXFG17","Garry Tan","01M6MZQZCEN3RRMD33E1X9ZZR9",32683,"MIT","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Frecipes\u002Fretrieval-reflex\u002Fskills\u002Fretrieval-reflex\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"retrieval reflex","reflex","retrieval","detail","when","for","entity","about","backlinks","false","memory","brain","get","exchange","query","context","page","open","graph","2026-11-10 10:12:30",false,"---\nname: retrieval-reflex\nversion: 0.1.0\ndescription: When\u002Fwhat to retrieve — open the brain page for a salient entity before answering from memory.\n# Reflex-only triggers (#4292): direct lookup questions (\"who is\", \"tell\n# me about\", ...) route to skills\u002Fquery — this skill fires on the ambient\n# retrieve-before-answering reflex, not on explicit search requests.\ntriggers:\n  - \"a named entity becomes the subject of the exchange\"\n  - \"a brain-page pointer appeared in context\"\n  - \"about to assert a detail about an entity from memory\"\nmutating: false\nwrites_pages: false\nwrites_to: []\n# MCP op names; over the CLI, traverse_graph\u002Fget_backlinks are `gbrain graph` \u002F `gbrain backlinks`\ntools: [get_page, query, traverse_graph, get_backlinks]\n---\n\n# Retrieval Reflex — retrieve on demand, when an entity is salient\n\nA person doesn't bulk-load their whole address book into working memory. They\nretrieve **on demand**, when an entity becomes **salient**, use it, and drop it.\nEncode that reflex. The brain probably has the data — if a name is salient and\nyou haven't opened its page, open it before you answer.\n\n## Trigger policy — WHEN to retrieve\n\nRetrieve when ANY of these holds AND the page isn't already loaded in context:\n\n- An entity (person \u002F company \u002F project \u002F deal \u002F place) is the **subject** of\n  the message, or a decision\u002Fjudgment about it is being made, or the exchange is\n  substantive \u002F relational \u002F emotional about it.\n- A **brain-page pointer** appeared in context this turn (the deterministic\n  layer told you the page exists) — open it before relying on details.\n- A name or term appears that you **don't recognize** and that looks notable →\n  do a quick resolve (the human reflex).\n- You're about to **assert a non-trivial detail** about an entity (attribution,\n  status, history) → verify against the brain first. Say \"let me check\", not a guess.\n\n**Skip** trivial passing mentions, logistics pings, and anything already loaded.\nJudgment first — retrieve when it changes the quality of the reply, not reflexively.\n\n## Retrieval spec — WHAT to pull, and when to stop\n\nEscalate only as far as the task needs:\n\n1. **Pointer \u002F metadata.** If a pointer is already in context (slug + one-line\n   summary), and the task only needs identity, stop there.\n2. **Full page.** When the entity is the subject or details matter, open it:\n   `get_page \u003Cslug>` (MCP) — read the page before relying on specifics.\n3. **Linked neighbors.** Only when relationship context is needed, pull\n   `graph` \u002F `backlinks` for the slug.\n\n**Resolve only the name(s) the current task needs, use them, drop them.** No\nbulk-loading the inner circle.\n\n## The failure this prevents\n\nIf you've discussed a named person for more than a message without opening their\npage, open it now. The write side captures everything; the read side only helps\nif you actually look.\n\nSee also: `skills\u002Fquery\u002FSKILL.md` (search the brain), `skills\u002Fbrain-ops\u002FSKILL.md`.\n","# Retrieval Reflex — retrieve on demand, when an entity is salient\n\nA person doesn't bulk-load their whole address book into working memory. They\nretrieve **on demand**, when an entity becomes **salient**, use it, and drop it.\nEncode that reflex. The brain probably has the data — if a name is salient and\nyou haven't opened its page, open it before you answer.\n\n## Trigger policy — WHEN to retrieve\n\nRetrieve when ANY of these holds AND the page isn't already loaded in context:\n\n- An entity (person \u002F company \u002F project \u002F deal \u002F place) is the **subject** of\n  the message, or a decision\u002Fjudgment about it is being made, or the exchange is\n  substantive \u002F relational \u002F emotional about it.\n- A **brain-page pointer** appeared in context this turn (the deterministic\n  layer told you the page exists) — open it before relying on details.\n- A name or term appears that you **don't recognize** and that looks notable →\n  do a quick resolve (the human reflex).\n- You're about to **assert a non-trivial detail** about an entity (attribution,\n  status, history) → verify against the brain first. Say \"let me check\", not a guess.\n\n**Skip** trivial passing mentions, logistics pings, and anything already loaded.\nJudgment first — retrieve when it changes the quality of the reply, not reflexively.\n\n## Retrieval spec — WHAT to pull, and when to stop\n\nEscalate only as far as the task needs:\n\n1. **Pointer \u002F metadata.** If a pointer is already in context (slug + one-line\n   summary), and the task only needs identity, stop there.\n2. **Full page.** When the entity is the subject or details matter, open it:\n   `get_page \u003Cslug>` (MCP) — read the page before relying on specifics.\n3. **Linked neighbors.** Only when relationship context is needed, pull\n   `graph` \u002F `backlinks` for the slug.\n\n**Resolve only the name(s) the current task needs, use them, drop them.** No\nbulk-loading the inner circle.\n\n## The failure this prevents\n\nIf you've discussed a named person for more than a message without opening their\npage, open it now. The write side captures everything; the read side only helps\nif you actually look.\n\nSee also: `skills\u002Fquery\u002FSKILL.md` (search the brain), `skills\u002Fbrain-ops\u002FSKILL.md`.\n",{"name":5,"tools":43,"version":47,"mutating":39,"triggers":48,"writes_to":52,"description":7,"writes_pages":39},[44,33,45,46],"get_page","traverse_graph","get_backlinks","0.1.0",[49,50,51],"a named entity becomes the subject of the exchange","a brain-page pointer appeared in context","about to assert a detail about an entity from memory",[],"master","074ec301549ded4930f04d2c3b22d709a6c095cc","recipes\u002Fretrieval-reflex\u002Fskills\u002Fretrieval-reflex",4871,"https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain","https:\u002F\u002Fgithub.com\u002Fgarrytan","https:\u002F\u002Fblog.garrytan.com","Writes software, dreams. ","2026-11-12 04:41:06",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add garrytan\u002Fgbrain --skill retrieval-reflex",{"tool":68,"command":69},"bunx","bunx skills add garrytan\u002Fgbrain --skill retrieval-reflex",{"tool":71,"command":72},"pnpm","pnpm dlx skills add garrytan\u002Fgbrain --skill retrieval-reflex","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Frecipes\u002Fretrieval-reflex\u002Fskills\u002Fretrieval-reflex\u002FSKILL.md",true,[],[77,87,93,115,139,153],{"skillNo":78,"name":79,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":38},"01M6N109FNGH1PK49T734PZXGB","query-helper","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fquery-helper\u002FSKILL.md",[],[83,84,33,85,35,86,28],"query helper","helper","search","find",{"skillNo":88,"name":89,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":38},"01M6N108A23GW6NGQEQ0E7GV0A","broken","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fbroken\u002FSKILL.md",[],[89],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":38},"01M6N105E88C5K2H03H0CC79G1","brain-ops","Read, enrich, and write brain pages with source attribution.","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fbrain-ops\u002FSKILL.md",[],[100,30,101,102,103,35,104,105,106,107,33,108,109,110,111,112,113,114,85],"brain ops","ops","true","attribution","read","write","up","look","pages","people","with","enrich","web","path","source",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":126,"publishedAt":38},"01M6N102GRMF22TVCNT6RK5MRD","meeting-prep","Build a briefing before you meet someone, from their recent threads, open loops and what they care about.","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog-query\u002Fskills\u002Fmeeting-prep\u002FSKILL.md",[121],{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[127,128,129,130,131,85,132,36,133,33,28,134,26,135,136,137,24,138],"meeting","prep","meeting prep","me","prepare","brief","build","loops","you","briefing","threads","Meet",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":38},"01M6N1005QK7REHX5KGMNR5PF0","inbox-zero","Triage the inbox into replies, delegations and archives.","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog-query\u002Fskills\u002Finbox-zero\u002FSKILL.md",[],[146,147,148,85,149,28,150,151,152],"inbox zero","ZeRO","inbox","clear","replies","my","triage",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":38},"01M6N0ZXQ8RRRW71PNV61T57GP","deal-memo","Draft an investment memo from the deal pages and the founder history already in the brain.","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog-query\u002Fskills\u002Fdeal-memo\u002FSKILL.md",[],[160,161,162,108,30,163,164,105,165,102,85,166],"deal memo","deal","memo","draft","investment","history","founder"]