[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MZXW50MEP600D9AQ0W6NR4":3,"skill-same:01M6MZXW50MEP600D9AQ0W6NR4":96},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":67,"commitSha":68,"skillDirectory":69,"forksCount":70,"repositoryHtmlUrl":71,"repositoryHomepageUrl":6,"ownerHtmlUrl":72,"ownerBlogUrl":73,"ownerDescription":74,"updatedAt":75,"install":76,"resources":89},"01M6MZXW50MEP600D9AQ0W6NR4","query",null,"Answer questions using the brain's knowledge with 3-layer search, synthesis,\nand citation propagation. Use when the user asks a question, wants a lookup,\nor needs information from the brain.","garrytan\u002Fgbrain","garrytan","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F19957?v=4","01M6DJCCDDG53MTYYRTXAXFG17","Garry Tan","01M6MZQZCEN3RRMD33E1X9ZZR9",32847,"MIT","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fplugin-variants\u002Fgbrain-coding\u002Fskills\u002Fquery\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"relationship","when","for","layer","answer","information","backlinks","false","brain","get","me","notes","do","up","list","question","page","knowledge","graph","search","2026-11-10 10:12:30",false,"---\nname: query\nversion: 1.0.0\ndescription: |\n  Answer questions using the brain's knowledge with 3-layer search, synthesis,\n  and citation propagation. Use when the user asks a question, wants a lookup,\n  or needs information from the brain.\ntriggers:\n  - \"what do we know about\"\n  - \"tell me about\"\n  - \"who is\"\n  - \"what happened\"\n  - \"search for\"\n  - \"look up\"\n  - \"background on\"\n  - \"notes on\"\n  - \"who knows who\"\n  - \"relationship between\"\n  - \"connections\"\n  - \"graph query\"\ntools:\n  - recall\n  - search\n  - query\n  - get_page\n  - list_pages\n  - get_backlinks\n  - traverse_graph\n  - get_timeline\nmutating: false\nwhen_to_use: \"Use when the user asks: \\\"what do we know about\\\", \\\"tell me about\\\", \\\"who is\\\", \\\"what happened\\\", \\\"search for\\\".\"\n---\n\n# Query Skill\n\nAnswer questions using the brain's knowledge with 3-layer search and synthesis.\n\n> **Memory verbs (MEMORY_VERBS v1, gbrain ≥ 0.43).** When connected to a brain\n> over MCP, prefer the seven frozen memory verbs for memory work — they carry\n> provenance, evidence, and a server-enforced token budget:\n> - **`recall(query | entity, budget_tokens)`** — the budget-packed memory read.\n>   Use it instead of bare `search` for \"what do we know that we SAVED about X\".\n> - **`entity(name)`** — a zero-LLM person\u002Fcompany\u002Fproject card (aliases,\n>   last-touched, open threads, top edges). Use it instead of `get_page` +\n>   `get_backlinks` when you just need the card.\n> - **`synthesize(question)`** — the explicitly-expensive cross-page answer; the\n>   heavy version of `query`. Reach for it only when the answer must combine\n>   evidence across pages.\n> Fall back to `search`\u002F`query`\u002F`get_page` when the verbs aren't on the surface\n> (pre-0.43 servers; `--surface full` includes the verbs alongside every other\n> op). See `docs\u002Fprotocol\u002FMEMORY_VERBS_v1.md`.\n\n## Contract\n\nThis skill guarantees:\n- Every answer is grounded in brain content (no hallucination)\n- Every claim has a citation tracing back to a specific page slug\n- Gaps are flagged explicitly (\"the brain doesn't have information on X\")\n- Source precedence is respected (user statements > compiled truth > timeline > external)\n- Conflicting sources are noted with both citations\n\n## Phases\n\n1. **Decompose the question** into search strategies:\n   - Keyword search for specific names, dates, terms\n   - Semantic query for conceptual questions\n   - Structured queries (list by type, backlinks) for relational questions\n2. **Execute searches:**\n   - Cheap-hybrid search gbrain for exact tokens \u002F known names (search)\n   - Full-hybrid search gbrain for concept questions (query; `--expand` adds multi-query expansion)\n   - List pages in gbrain by type or check backlinks for structural queries\n   - Narrow with filters instead of grepping the brain checkout: `--types '[\"meeting\"]'`,\n     `--match keyword`, `gbrain query \"\u003Cq>\" --since 2026-09-01 --until 2026-09-30`, `--source \u003Cid>`.\n     Every call and flag: \"Which gbrain call for which lookup\" in `skills\u002Fconventions\u002Fbrain-first.md`.\n3. **Read top results.** Read the top 3-5 pages from gbrain to get full context.\n4. **Synthesize answer** with citations. Every claim traces back to a specific page slug.\n5. **Flag gaps.** If the brain doesn't have info, say \"the brain doesn't have information on X\" rather than hallucinating. Read the result's notices first (see \"When it fails\"): a degraded or truncated result is not a gap.\n\n## When it fails\n\nFollow the [agent operator protocol](..\u002Fconventions\u002Fagent-operator-protocol.md) for any gbrain error `code`, exit code, `[AGENT]` block or notice block. Specific to this skill:\n\n- Check each retrieval result for notices before answering: on MCP, extra text blocks whose first line looks like [gbrain notice empty_retrieval kind=degraded], mirrored in `_meta.gbrain_notices`; on the CLI, the `[AGENT]` block, `search_degraded`, or a `note: search degraded` line.\n- `empty_retrieval` with `kind=degraded` (or `search_degraded: keyword_only_no_embedding_provider`): an empty result is NOT proof the user has no notes. Tell the user \"your brain is searching keywords only right now, so I may be missing notes on X\", try exact names and synonyms with `gbrain search`, and point to the notice's fix (usually enabling embeddings).\n- `empty_retrieval` with \"retrieval healthy\": nothing was degraded, but this one query matched nothing. Before saying \"the brain doesn't have information on X\", try the display name, a synonym or a hybrid search (`--match hybrid`, the default).\n- `listing_truncated` or `budget_truncated`: the list was cut off. Say \"showing the first N\", and page or narrow the query before claiming something is absent.\n- `page_not_found` from `get_page`: the slug is wrong or in another source; search by title (and check `--source`) before reporting the page missing.\n\n## Anti-Patterns\n\n- Answering from general knowledge when the brain has relevant content\n- Hallucinating facts not in the brain\n- Silently picking one source when sources conflict\n- Loading full pages when search chunks are sufficient\n- Ignoring source precedence (user statements are highest authority)\n\n## Output Format\n\nAnswers should include:\n- Direct response to the question\n- Citations: \"According to [Source: people\u002Fjane-doe, compiled truth]...\"\n- Gap flags: \"The brain doesn't have information on X\"\n- Conflict notes when sources disagree\n\n## Quality Rules\n\n- Never hallucinate. Only answer from brain content.\n- Cite sources: \"According to concepts\u002Fdo-things-that-dont-scale...\"\n- Flag stale results: if a search result shows [STALE], note that the info may be outdated\n- For \"who\" questions, use backlinks and typed links to find connections\n- For \"what happened\" questions, use timeline entries\n- For \"what do we know\" questions, read compiled_truth directly\n\n## Token-Budget Awareness\n\nSearch returns **chunks**, not full pages. Read the excerpts first before deciding\nwhether to load a full page.\n\nFor a question about saved **page evidence** with a tight budget, explicitly choose\n`recall` with `budget_policy: \"query_first\"`. It gives the existing ranked page\nresults first use of the budget, then packs recent\u002Ffiltered facts into what remains.\nThis is an opt-in packing choice, not a new relevance model: an irrelevant page can\ndisplace a useful fact. Keep entity-first, session\u002Fevent-filtered and fact-focused\nquestions on their existing facts-first route. Do not change `context_pack` or\nexisting third-party calls.\n\n```bash\ngbrain recall --query 'zebra telescope' --budget-tokens 75 --budget-policy query_first --json\n```\n\nEquivalent MCP request:\n\n```json\n{\"name\":\"recall\",\"arguments\":{\"query\":\"zebra telescope\",\"budget_tokens\":75,\"budget_policy\":\"query_first\"}}\n```\n\n**Say to your agent:** “Recall the saved notes about the zebra telescope using a\n75-token estimated budget and query-first packing. Cite the returned evidence;\nif the first page cannot fit, tell me rather than treating that as missing memory.”\n\nUse the resolved brain and source as usual; the option does not widen permissions.\n`budget_packing` reports the effective policy and per-arm candidate\u002Fkept\u002Fdropped\u002Fused\ncounts. Costs estimate `ceil(fact.length\u002F4)` or\n`ceil(title.length\u002F4) + ceil(chunk.length\u002F4)`, not exact tokenizer or JSON-envelope\nsize. Packing never skips an oversized prefix item or truncates it; multiple\nrequired pages may still not fit. With no nonblank query or no positive finite\nbudget, the operation keeps legacy behavior. An eligible positive budget below one\ntoken returns empty arms. See the protocol for fractional-budget compatibility.\n\nThis guidance and advertised tool schemas do not prove native-harness adoption.\nConfirm an observed query-first call in a fresh harness conversation before\nclaiming activation; otherwise report adoption as unverified.\n\n- `gbrain search` \u002F `gbrain query` return ranked chunks with context snippets.\n  These are often enough to answer the question directly.\n- Hits on conversation pages (sessions, transcripts, meetings, chat logs)\n  already come back as the whole session by default (`return_unit: \"auto\"`,\n  24,000-token default budget). For other multi-page or \"when did X change\"\n  questions, where the answer depends on the surrounding text rather than one\n  chunk, ask for whole evidence in the same call: `return_unit: \"page\"` (whole\n  page, budgeted by `token_budget`, default 6,000) or `\"window\"` (neighbor\n  chunks). `return_unit: \"chunk\"` opts out.\n  Each result then carries the evidence in `chunk_text` plus a `delivered`\n  block; see [evidence delivery](https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fdocs\u002Fevidence-delivery.md).\n  `gbrain query \"when did the launch move?\" --return-unit page --token-budget 6000`\n- Only use `gbrain get \u003Cslug>` to load the full page when a chunk confirms the\n  page is relevant and you need more context (e.g., compiled truth, timeline).\n- **\"Tell me about X\"** -- get the full page (the user wants the complete picture).\n- **\"Did anyone mention Y?\"** -- search results are enough (the user wants a yes\u002Fno with evidence).\n\n### Source precedence\n\nWhen multiple sources provide conflicting information, follow this precedence:\n\n1. **User's direct statements** (highest authority -- what the user told you directly)\n2. **Compiled truth** (the brain's synthesized, cited understanding)\n3. **Timeline entries** (raw evidence, reverse-chronological)\n4. **External sources** (web search, API enrichment -- lowest authority)\n\nWhen sources conflict, note the contradiction with both citations. Don't silently\npick one.\n\n## Citation in Answers\n\nWhen referencing brain pages in your answer, propagate inline citations:\n- Cite the page: \"According to [Source: people\u002Fjane-doe, compiled truth]...\"\n- When brain pages have inline `[Source: ...]` citations, propagate them so\n  the user can trace facts to their origin\n- When you synthesize across multiple pages, cite all sources\n\n## Graph Traversal (v0.10.1+)\n\nFor relationship questions (\"who knows who at X?\", \"connections between A and B\",\n\"who works at Acme?\", \"who attended the standup?\"), use the graph layer instead\nof full-text search:\n\n- `gbrain graph-query \u003Cslug> --type \u003Clink_type> --depth N --direction in|out|both`\n- Available link types: `attended`, `works_at`, `invested_in`, `founded`, `advises`, `mentions`, `source`\n- `--direction in` answers \"who points to X?\" (e.g., who works at company X)\n- `--direction out` answers \"what does X point to?\" (default)\n- `--depth N` controls multi-hop traversal (default 5)\n\nExamples:\n- \"Who works at Acme?\" → `gbrain graph-query companies\u002Facme --type works_at --direction in`\n- \"Who attended Demo Day W26?\" → `gbrain graph-query meetings\u002Fdemo-day-w26 --type attended --direction out`\n- \"What companies has Emily advised?\" → `gbrain graph-query people\u002Femily --type advises --direction out`\n- \"Who has Alice met (via meetings)?\" → `gbrain graph-query people\u002Falice --type attended --depth 2`\n\nCombine with `gbrain query` for queries that need BOTH semantic similarity AND\ngraph structure. Search results are ranked with a small backlink boost so well-\nconnected entities surface higher.\n\n## Search Quality Awareness\n\nIf search results seem off (wrong results, missing known pages, irrelevant hits):\n- Run `gbrain doctor --json` to check index health\n- Check embedding coverage -- partial embeddings degrade hybrid search\n- Compare keyword search (`gbrain search`) vs hybrid search (`gbrain query`)\n  for the same query to isolate whether the issue is embedding-related\n- Report search quality issues in the maintain workflow (see maintain skill)\n\n## Tools Used\n\n- Keyword search gbrain (search)\n- Hybrid search gbrain (query)\n- Read a page from gbrain (get_page)\n- List pages in gbrain with filters (list_pages)\n- Check backlinks in gbrain (get_backlinks)\n- Traverse the link graph in gbrain (traverse_graph)\n- View timeline entries in gbrain (get_timeline)\n","# Query Skill\n\nAnswer questions using the brain's knowledge with 3-layer search and synthesis.\n\n> **Memory verbs (MEMORY_VERBS v1, gbrain ≥ 0.43).** When connected to a brain\n> over MCP, prefer the seven frozen memory verbs for memory work — they carry\n> provenance, evidence, and a server-enforced token budget:\n> - **`recall(query | entity, budget_tokens)`** — the budget-packed memory read.\n>   Use it instead of bare `search` for \"what do we know that we SAVED about X\".\n> - **`entity(name)`** — a zero-LLM person\u002Fcompany\u002Fproject card (aliases,\n>   last-touched, open threads, top edges). Use it instead of `get_page` +\n>   `get_backlinks` when you just need the card.\n> - **`synthesize(question)`** — the explicitly-expensive cross-page answer; the\n>   heavy version of `query`. Reach for it only when the answer must combine\n>   evidence across pages.\n> Fall back to `search`\u002F`query`\u002F`get_page` when the verbs aren't on the surface\n> (pre-0.43 servers; `--surface full` includes the verbs alongside every other\n> op). See `docs\u002Fprotocol\u002FMEMORY_VERBS_v1.md`.\n\n## Contract\n\nThis skill guarantees:\n- Every answer is grounded in brain content (no hallucination)\n- Every claim has a citation tracing back to a specific page slug\n- Gaps are flagged explicitly (\"the brain doesn't have information on X\")\n- Source precedence is respected (user statements > compiled truth > timeline > external)\n- Conflicting sources are noted with both citations\n\n## Phases\n\n1. **Decompose the question** into search strategies:\n   - Keyword search for specific names, dates, terms\n   - Semantic query for conceptual questions\n   - Structured queries (list by type, backlinks) for relational questions\n2. **Execute searches:**\n   - Cheap-hybrid search gbrain for exact tokens \u002F known names (search)\n   - Full-hybrid search gbrain for concept questions (query; `--expand` adds multi-query expansion)\n   - List pages in gbrain by type or check backlinks for structural queries\n   - Narrow with filters instead of grepping the brain checkout: `--types '[\"meeting\"]'`,\n     `--match keyword`, `gbrain query \"\u003Cq>\" --since 2026-09-01 --until 2026-09-30`, `--source \u003Cid>`.\n     Every call and flag: \"Which gbrain call for which lookup\" in `skills\u002Fconventions\u002Fbrain-first.md`.\n3. **Read top results.** Read the top 3-5 pages from gbrain to get full context.\n4. **Synthesize answer** with citations. Every claim traces back to a specific page slug.\n5. **Flag gaps.** If the brain doesn't have info, say \"the brain doesn't have information on X\" rather than hallucinating. Read the result's notices first (see \"When it fails\"): a degraded or truncated result is not a gap.\n\n## When it fails\n\nFollow the [agent operator protocol](..\u002Fconventions\u002Fagent-operator-protocol.md) for any gbrain error `code`, exit code, `[AGENT]` block or notice block. Specific to this skill:\n\n- Check each retrieval result for notices before answering: on MCP, extra text blocks whose first line looks like [gbrain notice empty_retrieval kind=degraded], mirrored in `_meta.gbrain_notices`; on the CLI, the `[AGENT]` block, `search_degraded`, or a `note: search degraded` line.\n- `empty_retrieval` with `kind=degraded` (or `search_degraded: keyword_only_no_embedding_provider`): an empty result is NOT proof the user has no notes. Tell the user \"your brain is searching keywords only right now, so I may be missing notes on X\", try exact names and synonyms with `gbrain search`, and point to the notice's fix (usually enabling embeddings).\n- `empty_retrieval` with \"retrieval healthy\": nothing was degraded, but this one query matched nothing. Before saying \"the brain doesn't have information on X\", try the display name, a synonym or a hybrid search (`--match hybrid`, the default).\n- `listing_truncated` or `budget_truncated`: the list was cut off. Say \"showing the first N\", and page or narrow the query before claiming something is absent.\n- `page_not_found` from `get_page`: the slug is wrong or in another source; search by title (and check `--source`) before reporting the page missing.\n\n## Anti-Patterns\n\n- Answering from general knowledge when the brain has relevant content\n- Hallucinating facts not in the brain\n- Silently picking one source when sources conflict\n- Loading full pages when search chunks are sufficient\n- Ignoring source precedence (user statements are highest authority)\n\n## Output Format\n\nAnswers should include:\n- Direct response to the question\n- Citations: \"According to [Source: people\u002Fjane-doe, compiled truth]...\"\n- Gap flags: \"The brain doesn't have information on X\"\n- Conflict notes when sources disagree\n\n## Quality Rules\n\n- Never hallucinate. Only answer from brain content.\n- Cite sources: \"According to concepts\u002Fdo-things-that-dont-scale...\"\n- Flag stale results: if a search result shows [STALE], note that the info may be outdated\n- For \"who\" questions, use backlinks and typed links to find connections\n- For \"what happened\" questions, use timeline entries\n- For \"what do we know\" questions, read compiled_truth directly\n\n## Token-Budget Awareness\n\nSearch returns **chunks**, not full pages. Read the excerpts first before deciding\nwhether to load a full page.\n\nFor a question about saved **page evidence** with a tight budget, explicitly choose\n`recall` with `budget_policy: \"query_first\"`. It gives the existing ranked page\nresults first use of the budget, then packs recent\u002Ffiltered facts into what remains.\nThis is an opt-in packing choice, not a new relevance model: an irrelevant page can\ndisplace a useful fact. Keep entity-first, session\u002Fevent-filtered and fact-focused\nquestions on their existing facts-first route. Do not change `context_pack` or\nexisting third-party calls.\n\n```bash\ngbrain recall --query 'zebra telescope' --budget-tokens 75 --budget-policy query_first --json\n```\n\nEquivalent MCP request:\n\n```json\n{\"name\":\"recall\",\"arguments\":{\"query\":\"zebra telescope\",\"budget_tokens\":75,\"budget_policy\":\"query_first\"}}\n```\n\n**Say to your agent:** “Recall the saved notes about the zebra telescope using a\n75-token estimated budget and query-first packing. Cite the returned evidence;\nif the first page cannot fit, tell me rather than treating that as missing memory.”\n\nUse the resolved brain and source as usual; the option does not widen permissions.\n`budget_packing` reports the effective policy and per-arm candidate\u002Fkept\u002Fdropped\u002Fused\ncounts. Costs estimate `ceil(fact.length\u002F4)` or\n`ceil(title.length\u002F4) + ceil(chunk.length\u002F4)`, not exact tokenizer or JSON-envelope\nsize. Packing never skips an oversized prefix item or truncates it; multiple\nrequired pages may still not fit. With no nonblank query or no positive finite\nbudget, the operation keeps legacy behavior. An eligible positive budget below one\ntoken returns empty arms. See the protocol for fractional-budget compatibility.\n\nThis guidance and advertised tool schemas do not prove native-harness adoption.\nConfirm an observed query-first call in a fresh harness conversation before\nclaiming activation; otherwise report adoption as unverified.\n\n- `gbrain search` \u002F `gbrain query` return ranked chunks with context snippets.\n  These are often enough to answer the question directly.\n- Hits on conversation pages (sessions, transcripts, meetings, chat logs)\n  already come back as the whole session by default (`return_unit: \"auto\"`,\n  24,000-token default budget). For other multi-page or \"when did X change\"\n  questions, where the answer depends on the surrounding text rather than one\n  chunk, ask for whole evidence in the same call: `return_unit: \"page\"` (whole\n  page, budgeted by `token_budget`, default 6,000) or `\"window\"` (neighbor\n  chunks). `return_unit: \"chunk\"` opts out.\n  Each result then carries the evidence in `chunk_text` plus a `delivered`\n  block; see [evidence delivery](https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fdocs\u002Fevidence-delivery.md).\n  `gbrain query \"when did the launch move?\" --return-unit page --token-budget 6000`\n- Only use `gbrain get \u003Cslug>` to load the full page when a chunk confirms the\n  page is relevant and you need more context (e.g., compiled truth, timeline).\n- **\"Tell me about X\"** -- get the full page (the user wants the complete picture).\n- **\"Did anyone mention Y?\"** -- search results are enough (the user wants a yes\u002Fno with evidence).\n\n### Source precedence\n\nWhen multiple sources provide conflicting information, follow this precedence:\n\n1. **User's direct statements** (highest authority -- what the user told you directly)\n2. **Compiled truth** (the brain's synthesized, cited understanding)\n3. **Timeline entries** (raw evidence, reverse-chronological)\n4. **External sources** (web search, API enrichment -- lowest authority)\n\nWhen sources conflict, note the contradiction with both citations. Don't silently\npick one.\n\n## Citation in Answers\n\nWhen referencing brain pages in your answer, propagate inline citations:\n- Cite the page: \"According to [Source: people\u002Fjane-doe, compiled truth]...\"\n- When brain pages have inline `[Source: ...]` citations, propagate them so\n  the user can trace facts to their origin\n- When you synthesize across multiple pages, cite all sources\n\n## Graph Traversal (v0.10.1+)\n\nFor relationship questions (\"who knows who at X?\", \"connections between A and B\",\n\"who works at Acme?\", \"who attended the standup?\"), use the graph layer instead\nof full-text search:\n\n- `gbrain graph-query \u003Cslug> --type \u003Clink_type> --depth N --direction in|out|both`\n- Available link types: `attended`, `works_at`, `invested_in`, `founded`, `advises`, `mentions`, `source`\n- `--direction in` answers \"who points to X?\" (e.g., who works at company X)\n- `--direction out` answers \"what does X point to?\" (default)\n- `--depth N` controls multi-hop traversal (default 5)\n\nExamples:\n- \"Who works at Acme?\" → `gbrain graph-query companies\u002Facme --type works_at --direction in`\n- \"Who attended Demo Day W26?\" → `gbrain graph-query meetings\u002Fdemo-day-w26 --type attended --direction out`\n- \"What companies has Emily advised?\" → `gbrain graph-query people\u002Femily --type advises --direction out`\n- \"Who has Alice met (via meetings)?\" → `gbrain graph-query people\u002Falice --type attended --depth 2`\n\nCombine with `gbrain query` for queries that need BOTH semantic similarity AND\ngraph structure. Search results are ranked with a small backlink boost so well-\nconnected entities surface higher.\n\n## Search Quality Awareness\n\nIf search results seem off (wrong results, missing known pages, irrelevant hits):\n- Run `gbrain doctor --json` to check index health\n- Check embedding coverage -- partial embeddings degrade hybrid search\n- Compare keyword search (`gbrain search`) vs hybrid search (`gbrain query`)\n  for the same query to isolate whether the issue is embedding-related\n- Report search quality issues in the maintain workflow (see maintain skill)\n\n## Tools Used\n\n- Keyword search gbrain (search)\n- Hybrid search gbrain (query)\n- Read a page from gbrain (get_page)\n- List pages in gbrain with filters (list_pages)\n- Check backlinks in gbrain (get_backlinks)\n- Traverse the link graph in gbrain (traverse_graph)\n- View timeline entries in gbrain (get_timeline)\n",{"name":5,"tools":44,"version":51,"mutating":40,"triggers":52,"description":65,"when_to_use":66},[45,38,5,46,47,48,49,50],"recall","get_page","list_pages","get_backlinks","traverse_graph","get_timeline","1.0.0",[53,54,55,56,57,58,59,60,61,62,63,64],"what do we know about","tell me about","who is","what happened","search for","look up","background on","notes on","who knows who","relationship between","connections","graph query","Answer questions using the brain's knowledge with 3-layer search, synthesis,\nand citation propagation. Use when the user asks a question, wants a lookup,\nor needs information from the brain.\n","Use when the user asks: \"what do we know about\", \"tell me about\", \"who is\", \"what happened\", \"search for\".","master","074ec301549ded4930f04d2c3b22d709a6c095cc","plugin-variants\u002Fgbrain-coding\u002Fskills\u002Fquery",4902,"https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain","https:\u002F\u002Fgithub.com\u002Fgarrytan","https:\u002F\u002Fblog.garrytan.com","Writes software, dreams. ","2026-11-14 04:11:30",{"source":8,"skillName":5,"commands":77,"prompt":87,"zipAvailable":88},[78,81,84],{"tool":79,"command":80},"npx","npx skills add garrytan\u002Fgbrain --skill query",{"tool":82,"command":83},"bunx","bunx skills add garrytan\u002Fgbrain --skill query",{"tool":85,"command":86},"pnpm","pnpm dlx skills add garrytan\u002Fgbrain --skill query","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fplugin-variants\u002Fgbrain-coding\u002Fskills\u002Fquery\u002FSKILL.md",true,[90],{"path":91,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":94,"sourceHtmlUrl":95},"routing-eval.jsonl","OTHER","其他",535,"https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fplugin-variants\u002Fgbrain-coding\u002Fskills\u002Fquery\u002Frouting-eval.jsonl",[97,106,112,133,158,172],{"skillNo":98,"name":99,"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":100,"categories":101,"keywords":102,"publishedAt":39},"01M6N109FNGH1PK49T734PZXGB","query-helper","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fquery-helper\u002FSKILL.md",[],[103,104,5,38,35,105,26],"query helper","helper","find",{"skillNo":107,"name":108,"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":109,"categories":110,"keywords":111,"publishedAt":39},"01M6N108A23GW6NGQEQ0E7GV0A","broken","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fbroken\u002FSKILL.md",[],[108],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":39},"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",[],[119,27,120,121,122,35,123,124,32,125,5,126,127,128,129,130,131,132,38],"brain ops","ops","true","attribution","read","write","look","pages","people","with","enrich","web","path","source",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":144,"publishedAt":39},"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",[139],{"categoryNo":140,"categoryName":141,"taxonomyType":142,"taxonomyTypeDesc":143},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[145,146,147,29,148,38,149,150,151,5,26,152,153,154,155,156,21,157],"meeting","prep","meeting prep","prepare","brief","open","build","loops","about","you","briefing","threads","Meet",{"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":164,"publishedAt":39},"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",[],[165,166,167,38,168,26,169,170,171],"inbox zero","ZeRO","inbox","clear","replies","my","triage",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":39},"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",[],[179,180,181,126,27,182,183,124,184,121,38,185],"deal memo","deal","memo","draft","investment","history","founder"]