[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6N0DR5SXCKHFWPQ4BYPBZ4J":3,"skill-same:01M6N0DR5SXCKHFWPQ4BYPBZ4J":82},{"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":23,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":66,"ownerDescription":67,"updatedAt":68,"install":69,"resources":81},"01M6N0DR5SXCKHFWPQ4BYPBZ4J","smoke-test",null,"Health smoke tests + auto-fix for gbrain installs (and OpenClaw services\nwhen present). Run after machine\u002Fcontainer restarts or whenever something\nseems broken. Tests critical services, auto-fixes bounded local issues,\nand reports worker topology without starting daemons. Extensible via\nuser-defined test scripts in ~\u002F.gbrain\u002Fsmoke-tests.d\u002F*.sh.","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\u002Fsmoke-test\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"test","smoke test","smoke","reports","when","auto-fix","break","scripts","critical","present","worker","local","run","openclaw","run smoke tests","auto","fix","read","broken","topology","issues","2026-11-10 10:12:30",false,"---\nname: smoke-test\ndescription: |\n  Health smoke tests + auto-fix for gbrain installs (and OpenClaw services\n  when present). Run after machine\u002Fcontainer restarts or whenever something\n  seems broken. Tests critical services, auto-fixes bounded local issues,\n  and reports worker topology without starting daemons. Extensible via\n  user-defined test scripts in ~\u002F.gbrain\u002Fsmoke-tests.d\u002F*.sh.\ntriggers:\n  - \"smoke test\"\n  - \"run smoke tests\"\n  - \"container restart check\"\n  - \"health check\"\n  - \"did the restart break anything\"\n  - \"did the container restart break anything\"\ntools:\n  - exec\n  - read\nmutating: true\nwhen_to_use: \"Use when the user asks: \\\"smoke test\\\", \\\"run smoke tests\\\", \\\"container restart check\\\", \\\"health check\\\", \\\"did the restart break anything\\\".\"\n---\n\n# Smoke Test Skillpack\n\n> Run `gbrain smoke-test` after any machine or container restart, or whenever\n> something seems broken.\n\n## Contract\n\nThis skill guarantees:\n- 8 core tests verify gbrain health after restart (plus OpenClaw services when\n  present; skipped otherwise)\n- Bounded local failures are auto-fixed before reporting; worker repair is\n  explicit because process topology and shell-job policy are operator choices\n- User-extensible via `~\u002F.gbrain\u002Fsmoke-tests.d\u002F*.sh` drop-in scripts\n- Results logged to `\u002Ftmp\u002Fgbrain-smoke-test.log`\n- Exit code = number of unfixed failures (0 = all pass)\n\n## Built-in Tests\n\n| # | Test | Auto-Fix |\n|---|------|----------|\n| 1 | Bun runtime | Install from bun.sh |\n| 2 | GBrain CLI loads | Reinstall deps |\n| 3 | GBrain database (engine identity via `gbrain engine status --json`, then `doctor --json`'s `connection` check) | `gbrain db-repair --yes`, re-test |\n| 4 | GBrain worker process | — (native supervisor status + duplicate detection) |\n| 5 | OpenClaw Codex plugin (Zod CJS); skips if OpenClaw absent | `npm install zod@4 --force` |\n| 6 | OpenClaw gateway; skips if OpenClaw absent | — (may not be started yet) |\n| 7 | Embedding API key | — (check .env) |\n| 8 | Brain repo exists | — |\n\n## Usage\n\n### CLI\n```bash\ngbrain smoke-test\n```\n\nThis is the invocation for all installs; it resolves the test script from the\ninstalled package.\n\n### From any startup script or login hook\n```bash\ngbrain smoke-test >> \u002Ftmp\u002Fbootstrap.log 2>&1\n```\n\n### From OpenClaw bootstrap (OpenClaw deployments only)\nAdd to your `ensure-services.sh` or equivalent:\n```bash\nbash \u002Fpath\u002Fto\u002Fgbrain\u002Fscripts\u002Fsmoke-test.sh >> \u002Ftmp\u002Fbootstrap.log 2>&1\n```\n\n### From an agent\n```\nexec: gbrain smoke-test\n```\n\nContributor note: inside a gbrain repo checkout you can also run the script\ndirectly with `bash scripts\u002Fsmoke-test.sh`.\n\n## Adding Custom Tests\n\nCreate executable scripts in `~\u002F.gbrain\u002Fsmoke-tests.d\u002F`:\n\n```bash\n# ~\u002F.gbrain\u002Fsmoke-tests.d\u002Fcheck-redis.sh\n#!\u002Fbin\u002Fbash\nredis-cli ping | grep -q PONG\n```\n\nRules:\n- Exit 0 = pass, non-zero = fail\n- Filename becomes the test name (e.g. `check-redis` from `check-redis.sh`)\n- Keep tests fast (\u003C 10s each)\n- Tests run in alphabetical order\n\n## Adding Built-in Tests (gbrain contributors)\n\nThis section is for contributors working in the gbrain source repo. Plugin\ninstalls ship the script read-only and upgrades overwrite it; if you just want\nextra checks, use the `~\u002F.gbrain\u002Fsmoke-tests.d\u002F` drop-in scripts above.\n\nEdit `scripts\u002Fsmoke-test.sh`. Follow this pattern:\n\n```bash\n# ── N. [Service Name] ──────────────────────────────────────\nif [test condition]; then\n  pass \"[Service Name]\"\nelse\n  # Auto-fix attempt\n  [fix command]\n  if [re-test condition]; then\n    fixed \"[What was fixed]\"\n    pass \"[Service Name] (after fix)\"\n  else\n    fail \"[Service Name] — [error detail]\"\n  fi\nfi\n```\n\n### Design rules:\n1. **Test first** — never fix without confirming broken\n2. **Re-test after fix** — verify the fix worked\n3. **Timeout everything** — `timeout N` on any command that could hang\n4. **Use helpers** — `pass()`, `fail()`, `fixed()`, `skip()`\n5. **Idempotent fixes** — safe to run repeatedly\n6. **Skip gracefully** — `skip()` when a prerequisite is missing, don't fail\n\n## Environment Variables\n\n| Var | Default | Description |\n|-----|---------|-------------|\n| `GBRAIN_SMOKE_LOG` | `\u002Ftmp\u002Fgbrain-smoke-test.log` | Log file path |\n| `GBRAIN_DIR_OVERRIDE` | (auto-detect) | Force gbrain install path |\n| `GBRAIN_BUN_PATH` | (auto-detect) | Force Bun binary path |\n| `GBRAIN_DATABASE_URL` | (from .env) | Database connection URL |\n| `GBRAIN_SMOKE_WORKER_PID_FILE` | `\u002Ftmp\u002Fgbrain-worker.pid` | Legacy bare-worker PID path |\n| `OPENCLAW_GATEWAY_PORT` | `18789` | Gateway port to test |\n| `GBRAIN_BRAIN_PATH` | (deployment-specific) | Brain repo path. Container deployments default to `\u002Fdata\u002Fbrain`; set it to your brain repo path otherwise. Test 8 skips (not fails) when unset. |\n\n## Known Issues & Their Auto-Fixes\n\n### Codex Zod core.cjs Missing (discovered 2026-04-23)\n(OpenClaw gateway deployments only: this concerns OpenClaw's Codex ACP plugin,\nnot the OpenAI Codex CLI.)\n- **Symptom:** `Cannot find module '.\u002Fcore.cjs'` → all Codex ACP sessions fail\n- **Cause:** Zod v4 npm package ships without `core.cjs` in some installs\n- **Auto-fix:** `npm install zod@4 --force` in the codex extension's zod dir\n- **Persistence:** Does NOT survive container restart (gateway reinstalls deps)\n- This is why smoke tests must run on every restart\n\n### GBrain Worker Auth Failure\n- **Symptom:** Worker can't connect to DB\n- **Cause:** `GBRAIN_DATABASE_URL` not propagated to worker subprocess\n- **Auto-fix:** Script explicitly passes both `DATABASE_URL` and `GBRAIN_DATABASE_URL`\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- Exit code = number of unfixed failures: report each by name and the attempted fix; never report all-green when a test was skipped.\n- The database test fails with a `GBRAIN_DB_ACCESS` marker: run `gbrain db-repair` and re-test; the rewrite tier needs the user's agreement.\n- The embedding API key check fails: there is no auto-fix. Tell the user which key is missing and that search runs keyword-only until it is set.\n\n## Anti-Patterns\n\n- ❌ Running smoke tests on every chat turn. Once per container restart (or\n  on user request) is plenty. The script is cheap but it's not free.\n- ❌ Writing a user drop-in without `timeout N` around any command that\n  could hang. A single hung drop-in stalls every subsequent run.\n- ❌ Auto-fixing without confirming the check is actually broken first.\n  The `pass → fail-detected → fix → re-test` loop is the contract; fixes\n  that skip the re-test can report success on a still-broken state.\n- ❌ Treating `skip` as `fail`. Missing prerequisites (no OpenClaw installed,\n  no brain repo configured) are skips, not failures. Exit code = count of\n  real failures, not skipped checks.\n- ❌ Hardcoding paths in a user drop-in. Read env vars\n  (`GBRAIN_DATABASE_URL`, `HOME`, etc.) so the script travels across\n  container rebuilds.\n\n## Output Format\n\nThe script writes a one-line status per check to stdout (✅\u002F❌\u002F?\u002F⏭️) plus a\nfinal summary line: `Results: N\u002FM passed, F auto-fixed, S skipped`. A\nstructured timestamped log appends to `$GBRAIN_SMOKE_LOG`\n(default `\u002Ftmp\u002Fgbrain-smoke-test.log`) for post-run forensics. Exit code\nequals the count of unfixed failures (0 = all pass, positive integer =\ncount of remaining failures).\n","# Smoke Test Skillpack\n\n> Run `gbrain smoke-test` after any machine or container restart, or whenever\n> something seems broken.\n\n## Contract\n\nThis skill guarantees:\n- 8 core tests verify gbrain health after restart (plus OpenClaw services when\n  present; skipped otherwise)\n- Bounded local failures are auto-fixed before reporting; worker repair is\n  explicit because process topology and shell-job policy are operator choices\n- User-extensible via `~\u002F.gbrain\u002Fsmoke-tests.d\u002F*.sh` drop-in scripts\n- Results logged to `\u002Ftmp\u002Fgbrain-smoke-test.log`\n- Exit code = number of unfixed failures (0 = all pass)\n\n## Built-in Tests\n\n| # | Test | Auto-Fix |\n|---|------|----------|\n| 1 | Bun runtime | Install from bun.sh |\n| 2 | GBrain CLI loads | Reinstall deps |\n| 3 | GBrain database (engine identity via `gbrain engine status --json`, then `doctor --json`'s `connection` check) | `gbrain db-repair --yes`, re-test |\n| 4 | GBrain worker process | — (native supervisor status + duplicate detection) |\n| 5 | OpenClaw Codex plugin (Zod CJS); skips if OpenClaw absent | `npm install zod@4 --force` |\n| 6 | OpenClaw gateway; skips if OpenClaw absent | — (may not be started yet) |\n| 7 | Embedding API key | — (check .env) |\n| 8 | Brain repo exists | — |\n\n## Usage\n\n### CLI\n```bash\ngbrain smoke-test\n```\n\nThis is the invocation for all installs; it resolves the test script from the\ninstalled package.\n\n### From any startup script or login hook\n```bash\ngbrain smoke-test >> \u002Ftmp\u002Fbootstrap.log 2>&1\n```\n\n### From OpenClaw bootstrap (OpenClaw deployments only)\nAdd to your `ensure-services.sh` or equivalent:\n```bash\nbash \u002Fpath\u002Fto\u002Fgbrain\u002Fscripts\u002Fsmoke-test.sh >> \u002Ftmp\u002Fbootstrap.log 2>&1\n```\n\n### From an agent\n```\nexec: gbrain smoke-test\n```\n\nContributor note: inside a gbrain repo checkout you can also run the script\ndirectly with `bash scripts\u002Fsmoke-test.sh`.\n\n## Adding Custom Tests\n\nCreate executable scripts in `~\u002F.gbrain\u002Fsmoke-tests.d\u002F`:\n\n```bash\n# ~\u002F.gbrain\u002Fsmoke-tests.d\u002Fcheck-redis.sh\n#!\u002Fbin\u002Fbash\nredis-cli ping | grep -q PONG\n```\n\nRules:\n- Exit 0 = pass, non-zero = fail\n- Filename becomes the test name (e.g. `check-redis` from `check-redis.sh`)\n- Keep tests fast (\u003C 10s each)\n- Tests run in alphabetical order\n\n## Adding Built-in Tests (gbrain contributors)\n\nThis section is for contributors working in the gbrain source repo. Plugin\ninstalls ship the script read-only and upgrades overwrite it; if you just want\nextra checks, use the `~\u002F.gbrain\u002Fsmoke-tests.d\u002F` drop-in scripts above.\n\nEdit `scripts\u002Fsmoke-test.sh`. Follow this pattern:\n\n```bash\n# ── N. [Service Name] ──────────────────────────────────────\nif [test condition]; then\n  pass \"[Service Name]\"\nelse\n  # Auto-fix attempt\n  [fix command]\n  if [re-test condition]; then\n    fixed \"[What was fixed]\"\n    pass \"[Service Name] (after fix)\"\n  else\n    fail \"[Service Name] — [error detail]\"\n  fi\nfi\n```\n\n### Design rules:\n1. **Test first** — never fix without confirming broken\n2. **Re-test after fix** — verify the fix worked\n3. **Timeout everything** — `timeout N` on any command that could hang\n4. **Use helpers** — `pass()`, `fail()`, `fixed()`, `skip()`\n5. **Idempotent fixes** — safe to run repeatedly\n6. **Skip gracefully** — `skip()` when a prerequisite is missing, don't fail\n\n## Environment Variables\n\n| Var | Default | Description |\n|-----|---------|-------------|\n| `GBRAIN_SMOKE_LOG` | `\u002Ftmp\u002Fgbrain-smoke-test.log` | Log file path |\n| `GBRAIN_DIR_OVERRIDE` | (auto-detect) | Force gbrain install path |\n| `GBRAIN_BUN_PATH` | (auto-detect) | Force Bun binary path |\n| `GBRAIN_DATABASE_URL` | (from .env) | Database connection URL |\n| `GBRAIN_SMOKE_WORKER_PID_FILE` | `\u002Ftmp\u002Fgbrain-worker.pid` | Legacy bare-worker PID path |\n| `OPENCLAW_GATEWAY_PORT` | `18789` | Gateway port to test |\n| `GBRAIN_BRAIN_PATH` | (deployment-specific) | Brain repo path. Container deployments default to `\u002Fdata\u002Fbrain`; set it to your brain repo path otherwise. Test 8 skips (not fails) when unset. |\n\n## Known Issues & Their Auto-Fixes\n\n### Codex Zod core.cjs Missing (discovered 2026-04-23)\n(OpenClaw gateway deployments only: this concerns OpenClaw's Codex ACP plugin,\nnot the OpenAI Codex CLI.)\n- **Symptom:** `Cannot find module '.\u002Fcore.cjs'` → all Codex ACP sessions fail\n- **Cause:** Zod v4 npm package ships without `core.cjs` in some installs\n- **Auto-fix:** `npm install zod@4 --force` in the codex extension's zod dir\n- **Persistence:** Does NOT survive container restart (gateway reinstalls deps)\n- This is why smoke tests must run on every restart\n\n### GBrain Worker Auth Failure\n- **Symptom:** Worker can't connect to DB\n- **Cause:** `GBRAIN_DATABASE_URL` not propagated to worker subprocess\n- **Auto-fix:** Script explicitly passes both `DATABASE_URL` and `GBRAIN_DATABASE_URL`\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- Exit code = number of unfixed failures: report each by name and the attempted fix; never report all-green when a test was skipped.\n- The database test fails with a `GBRAIN_DB_ACCESS` marker: run `gbrain db-repair` and re-test; the rewrite tier needs the user's agreement.\n- The embedding API key check fails: there is no auto-fix. Tell the user which key is missing and that search runs keyword-only until it is set.\n\n## Anti-Patterns\n\n- ❌ Running smoke tests on every chat turn. Once per container restart (or\n  on user request) is plenty. The script is cheap but it's not free.\n- ❌ Writing a user drop-in without `timeout N` around any command that\n  could hang. A single hung drop-in stalls every subsequent run.\n- ❌ Auto-fixing without confirming the check is actually broken first.\n  The `pass → fail-detected → fix → re-test` loop is the contract; fixes\n  that skip the re-test can report success on a still-broken state.\n- ❌ Treating `skip` as `fail`. Missing prerequisites (no OpenClaw installed,\n  no brain repo configured) are skips, not failures. Exit code = count of\n  real failures, not skipped checks.\n- ❌ Hardcoding paths in a user drop-in. Read env vars\n  (`GBRAIN_DATABASE_URL`, `HOME`, etc.) so the script travels across\n  container rebuilds.\n\n## Output Format\n\nThe script writes a one-line status per check to stdout (✅\u002F❌\u002F?\u002F⏭️) plus a\nfinal summary line: `Results: N\u002FM passed, F auto-fixed, S skipped`. A\nstructured timestamped log appends to `$GBRAIN_SMOKE_LOG`\n(default `\u002Ftmp\u002Fgbrain-smoke-test.log`) for post-run forensics. Exit code\nequals the count of unfixed failures (0 = all pass, positive integer =\ncount of remaining failures).\n",{"name":5,"tools":50,"mutating":52,"triggers":53,"description":58,"when_to_use":59},[51,41],"exec",true,[25,38,54,55,56,57],"container restart check","health check","did the restart break anything","did the container restart break anything","Health smoke tests + auto-fix for gbrain installs (and OpenClaw services\nwhen present). Run after machine\u002Fcontainer restarts or whenever something\nseems broken. Tests critical services, auto-fixes bounded local issues,\nand reports worker topology without starting daemons. Extensible via\nuser-defined test scripts in ~\u002F.gbrain\u002Fsmoke-tests.d\u002F*.sh.\n","Use when the user asks: \"smoke test\", \"run smoke tests\", \"container restart check\", \"health check\", \"did the restart break anything\".","master","074ec301549ded4930f04d2c3b22d709a6c095cc","plugin\u002Fskills\u002Fsmoke-test",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":70,"prompt":80,"zipAvailable":52},[71,74,77],{"tool":72,"command":73},"npx","npx skills add garrytan\u002Fgbrain --skill smoke-test",{"tool":75,"command":76},"bunx","bunx skills add garrytan\u002Fgbrain --skill smoke-test",{"tool":78,"command":79},"pnpm","pnpm dlx skills add garrytan\u002Fgbrain --skill smoke-test","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Fplugin\u002Fskills\u002Fsmoke-test\u002FSKILL.md",[],[83,96,101,123,150,164],{"skillNo":84,"name":85,"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":86,"categories":87,"keywords":88,"publishedAt":45},"01M6N109FNGH1PK49T734PZXGB","query-helper","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fquery-helper\u002FSKILL.md",[],[89,90,91,92,93,94,95],"query helper","helper","query","search","page","find","false",{"skillNo":97,"name":42,"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":98,"categories":99,"keywords":100,"publishedAt":45},"01M6N108A23GW6NGQEQ0E7GV0A","https:\u002F\u002Fgithub.com\u002Fgarrytan\u002Fgbrain\u002Fblob\u002Fmaster\u002Ftest\u002Ffixtures\u002Fskill-catalog\u002Fskills\u002Fbroken\u002FSKILL.md",[],[42],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":45},"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",[],[108,109,110,111,112,93,41,113,114,115,91,116,117,118,119,120,121,122,92],"brain ops","brain","ops","true","attribution","write","up","look","pages","people","with","enrich","web","path","source",{"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":134,"publishedAt":45},"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",[129],{"categoryNo":130,"categoryName":131,"taxonomyType":132,"taxonomyTypeDesc":133},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[135,136,137,138,139,92,140,141,142,91,95,143,144,145,146,147,148,149],"meeting","prep","meeting prep","me","prepare","brief","open","build","loops","about","you","briefing","threads","for","Meet",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":45},"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",[],[157,158,159,92,160,95,161,162,163],"inbox zero","ZeRO","inbox","clear","replies","my","triage",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":45},"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",[],[171,172,173,116,109,174,175,113,176,111,92,177],"deal memo","deal","memo","draft","investment","history","founder"]