[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6N08JET8QEPJJEYSZF99VT6":3,"skill-same:01M6N08JET8QEPJJEYSZF99VT6":77},{"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":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":60,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6N08JET8QEPJJEYSZF99VT6","gbrain-advisor",null,"Proactive \"make the most of gbrain\" coaching. Runs `gbrain advisor` on a\ncadence and pings the user with the top high-leverage actions for their brain:\nversion drift, pending migrations, stalled jobs, low embed coverage, setup\nsmells, and uninstalled brain skills. Read-only; always asks before fixing.","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\u002Fskills\u002Fgbrain-advisor\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"gbrain advisor","advisor","gbrain","brain","when","advise","weekly","my","top","cadence","false","leverage","actions","get","me","drift","up","only","coverage","read","SET","2026-11-10 10:12:30",false,"---\nname: gbrain-advisor\nversion: 1.0.0\ndescription: |\n  Proactive \"make the most of gbrain\" coaching. Runs `gbrain advisor` on a\n  cadence and pings the user with the top high-leverage actions for their brain:\n  version drift, pending migrations, stalled jobs, low embed coverage, setup\n  smells, and uninstalled brain skills. Read-only; always asks before fixing.\ntriggers:\n  - \"what should I do to get more out of gbrain\"\n  - \"is my brain set up right\"\n  - \"gbrain advisor\"\n  - \"advise me on my brain\"\n  - \"weekly brain checkup\"\ntools:\n  - advisor\nmutating: false\nwhen_to_use: \"Use when the user asks: \\\"what should I do to get more out of gbrain\\\", \\\"is my brain set up right\\\", \\\"gbrain advisor\\\", \\\"advise me on my brain\\\", \\\"weekly brain checkup\\\".\"\n---\n\n# gbrain Advisor\n\n> **Convention:** See `skills\u002Fconventions\u002Fbrain-first.md`. This skill is the\n> proactive voice of the brain — it tells the owner how to run it better.\n\n## Contract\n\nThis skill guarantees:\n- **Read-only.** `gbrain advisor` never mutates. It computes a ranked list of\n  actions from existing brain state.\n- **Print, never execute.** You SHOW the user the findings and ASK before running\n  any fix. The user owns every decision.\n- **Bounded nagging.** On a cadence, surface only what changed or what's\n  critical; don't repeat an ignored low-severity item every run.\n\n## When to run\n\n- On demand when the user asks \"how do I get more out of this brain?\"\n- On a **weekly** cadence via the cron recipe below (even idle brains get a\n  \"here's how to run this better\" ping).\n- Monthly, the advisor also surfaces the backup-coverage verdict (`gbrain\n  backup status` — which knowledge repos have no git remote); relay any warn.\n\n## How to run it\n\n```bash\ngbrain advisor --json\n```\n\nExit code is the severity gate (E2): `0` clean, `1` warn, `2` critical. The JSON\npayload is `{ version, generated_at, worst, findings: [...] }`. Each finding has:\n\n- `severity` — `critical` | `warn` | `info`\n- `title` — one-line why-it-matters\n- `fix.command_argv` — the exact command to fix it (a structured argv)\n- `fix.dispatch_id` — present when the fix is safe to run via `--apply`\n\n## What to do with the findings\n\n1. Read the findings, highest severity first.\n2. Summarize the top 1-3 to the user in their own channel\u002Fvoice. Lead with any\n   `critical` item (e.g. pending migrations).\n3. For each, show the `fix.command_argv` and **ask** whether to run it.\n4. If they say yes and the finding has a `fix.dispatch_id`, you may run it\n   locally with an explicit confirm:\n\n   ```bash\n   gbrain advisor --apply \u003Cdispatch_id>\n   ```\n\n   `--apply` is local-only, runs the fix as a structured argv (no shell), and\n   confirms first. Findings without a `dispatch_id` are not auto-runnable — run\n   their `fix.command_argv` yourself after the user agrees.\n5. Never run a fix the user didn't approve.\n\n## Cron recipe (weekly checkup)\n\nInstall a weekly job via the `cron-scheduler` skill. Keep the prompt THIN — the\njob just reads this skill and runs the advisor:\n\n- **Schedule:** weekly, one quiet-hours-respecting slot (e.g. Monday 09:00 local).\n- **Job prompt:** `Read skills\u002Fgbrain-advisor\u002FSKILL.md and run gbrain advisor --json. If anything is critical or new since last run, ping me with the top items and the exact fix commands. Ask before fixing.`\n- **Idempotent:** the advisor is read-only, so a double-fire is harmless.\n\nThe advisor records a local run history, so on each fire you can tell the user\nwhat is **new since last run** rather than re-listing everything.\n\n## Output Format\n\nWhen you surface advisor findings to the user, lead with severity and keep it\nscannable:\n\n```\n? gbrain checkup — 2 things worth your attention\n\nCRITICAL  Schema migrations are pending.\n          Fix: gbrain apply-migrations --yes   (want me to run it?)\n\nWARN      gbrain 0.44 is available (you're on 0.43).\n          Fix: gbrain upgrade\n```\n\n- One block per finding, highest severity first.\n- Always show the exact `fix` command and ASK before running it.\n- If nothing is pressing, say so in one line (\"brain looks healthy\") — don't\n  manufacture work.\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- A `critical` finding (pending migrations) carries a fix such as `gbrain apply-migrations --yes`: ask the user before running it; findings without a `dispatch_id` are not auto-runnable.\n- `gbrain advisor` cannot reach the brain (`GBRAIN_DB_ACCESS` marker): route to the db-repair skill instead of reporting \"no findings\".\n\n## Anti-Patterns\n\n- **Running a fix without asking.** The advisor is read-only by contract. Never\n  run `--apply` (or any `fix` command) without the user's explicit yes.\n- **Dumping the raw JSON at the user.** Translate findings into their voice; lead\n  with what matters.\n- **Re-nagging ignored low-severity items every run.** Use the \"new since last\n  run\" delta; respect the user's prior non-action.\n- **Treating `info` like `critical`.** Only block\u002Finsist on `critical` findings\n  (pending migrations). `info` is a gentle nudge.\n- **Calling the MCP `advisor` op for workspace install state.** Over MCP the\n  advisor returns brain-state signals only; uninstalled-skill findings are a\n  local-CLI concern.\n","# gbrain Advisor\n\n> **Convention:** See `skills\u002Fconventions\u002Fbrain-first.md`. This skill is the\n> proactive voice of the brain — it tells the owner how to run it better.\n\n## Contract\n\nThis skill guarantees:\n- **Read-only.** `gbrain advisor` never mutates. It computes a ranked list of\n  actions from existing brain state.\n- **Print, never execute.** You SHOW the user the findings and ASK before running\n  any fix. The user owns every decision.\n- **Bounded nagging.** On a cadence, surface only what changed or what's\n  critical; don't repeat an ignored low-severity item every run.\n\n## When to run\n\n- On demand when the user asks \"how do I get more out of this brain?\"\n- On a **weekly** cadence via the cron recipe below (even idle brains get a\n  \"here's how to run this better\" ping).\n- Monthly, the advisor also surfaces the backup-coverage verdict (`gbrain\n  backup status` — which knowledge repos have no git remote); relay any warn.\n\n## How to run it\n\n```bash\ngbrain advisor --json\n```\n\nExit code is the severity gate (E2): `0` clean, `1` warn, `2` critical. The JSON\npayload is `{ version, generated_at, worst, findings: [...] }`. Each finding has:\n\n- `severity` — `critical` | `warn` | `info`\n- `title` — one-line why-it-matters\n- `fix.command_argv` — the exact command to fix it (a structured argv)\n- `fix.dispatch_id` — present when the fix is safe to run via `--apply`\n\n## What to do with the findings\n\n1. Read the findings, highest severity first.\n2. Summarize the top 1-3 to the user in their own channel\u002Fvoice. Lead with any\n   `critical` item (e.g. pending migrations).\n3. For each, show the `fix.command_argv` and **ask** whether to run it.\n4. If they say yes and the finding has a `fix.dispatch_id`, you may run it\n   locally with an explicit confirm:\n\n   ```bash\n   gbrain advisor --apply \u003Cdispatch_id>\n   ```\n\n   `--apply` is local-only, runs the fix as a structured argv (no shell), and\n   confirms first. Findings without a `dispatch_id` are not auto-runnable — run\n   their `fix.command_argv` yourself after the user agrees.\n5. Never run a fix the user didn't approve.\n\n## Cron recipe (weekly checkup)\n\nInstall a weekly job via the `cron-scheduler` skill. Keep the prompt THIN — the\njob just reads this skill and runs the advisor:\n\n- **Schedule:** weekly, one quiet-hours-respecting slot (e.g. Monday 09:00 local).\n- **Job prompt:** `Read skills\u002Fgbrain-advisor\u002FSKILL.md and run gbrain advisor --json. If anything is critical or new since last run, ping me with the top items and the exact fix commands. Ask before fixing.`\n- **Idempotent:** the advisor is read-only, so a double-fire is harmless.\n\nThe advisor records a local run history, so on each fire you can tell the user\nwhat is **new since last run** rather than re-listing everything.\n\n## Output Format\n\nWhen you surface advisor findings to the user, lead with severity and keep it\nscannable:\n\n```\n? gbrain checkup — 2 things worth your attention\n\nCRITICAL  Schema migrations are pending.\n          Fix: gbrain apply-migrations --yes   (want me to run it?)\n\nWARN      gbrain 0.44 is available (you're on 0.43).\n          Fix: gbrain upgrade\n```\n\n- One block per finding, highest severity first.\n- Always show the exact `fix` command and ASK before running it.\n- If nothing is pressing, say so in one line (\"brain looks healthy\") — don't\n  manufacture work.\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- A `critical` finding (pending migrations) carries a fix such as `gbrain apply-migrations --yes`: ask the user before running it; findings without a `dispatch_id` are not auto-runnable.\n- `gbrain advisor` cannot reach the brain (`GBRAIN_DB_ACCESS` marker): route to the db-repair skill instead of reporting \"no findings\".\n\n## Anti-Patterns\n\n- **Running a fix without asking.** The advisor is read-only by contract. Never\n  run `--apply` (or any `fix` command) without the user's explicit yes.\n- **Dumping the raw JSON at the user.** Translate findings into their voice; lead\n  with what matters.\n- **Re-nagging ignored low-severity items every run.** Use the \"new since last\n  run\" delta; respect the user's prior non-action.\n- **Treating `info` like `critical`.** Only block\u002Finsist on `critical` findings\n  (pending migrations). `info` is a gentle nudge.\n- **Calling the MCP `advisor` op for workspace install state.** Over MCP the\n  advisor returns brain-state signals only; uninstalled-skill findings are a\n  local-CLI concern.\n",{"name":5,"tools":45,"version":46,"mutating":41,"triggers":47,"description":52,"when_to_use":53},[20],"1.0.0",[48,49,19,50,51],"what should I do to get more out of gbrain","is my brain set up right","advise me on my brain","weekly brain checkup","Proactive \"make the most of gbrain\" coaching. Runs `gbrain advisor` on a\ncadence and pings the user with the top high-leverage actions for their brain:\nversion drift, pending migrations, stalled jobs, low embed coverage, setup\nsmells, and uninstalled brain skills. Read-only; always asks before fixing.\n","Use when the user asks: \"what should I do to get more out of gbrain\", \"is my brain set up right\", \"gbrain advisor\", \"advise me on my brain\", \"weekly brain checkup\".","master","074ec301549ded4930f04d2c3b22d709a6c095cc","plugin\u002Fskills\u002Fgbrain-advisor",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":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add garrytan\u002Fgbrain --skill gbrain-advisor",{"tool":69,"command":70},"bunx","bunx skills add garrytan\u002Fgbrain --skill gbrain-advisor",{"tool":72,"command":73},"pnpm","pnpm dlx skills add garrytan\u002Fgbrain --skill gbrain-advisor","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fplugin\u002Fskills\u002Fgbrain-advisor\u002FSKILL.md",true,[],[78,90,96,116,142,155],{"skillNo":79,"name":80,"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":81,"categories":82,"keywords":83,"publishedAt":40},"01M6N109FNGH1PK49T734PZXGB","query-helper","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fquery-helper\u002FSKILL.md",[],[84,85,86,87,88,89,29],"query helper","helper","query","search","page","find",{"skillNo":91,"name":92,"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":93,"categories":94,"keywords":95,"publishedAt":40},"01M6N108A23GW6NGQEQ0E7GV0A","broken","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fbroken\u002FSKILL.md",[],[92],{"skillNo":97,"name":98,"nameZh":6,"description":99,"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":40},"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",[],[103,22,104,105,106,88,38,107,35,108,86,109,110,111,112,113,114,115,87],"brain ops","ops","true","attribution","write","look","pages","people","with","enrich","web","path","source",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":127,"publishedAt":40},"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",[122],{"categoryNo":123,"categoryName":124,"taxonomyType":125,"taxonomyTypeDesc":126},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[128,129,130,33,131,87,132,133,134,86,29,135,136,137,138,139,140,141],"meeting","prep","meeting prep","prepare","brief","open","build","loops","about","you","briefing","threads","for","Meet",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":40},"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",[],[149,150,151,87,152,29,153,26,154],"inbox zero","ZeRO","inbox","clear","replies","triage",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":40},"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",[],[162,163,164,109,22,165,166,107,167,105,87,168],"deal memo","deal","memo","draft","investment","history","founder"]