[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6R32096FE57K397WMF86DJY":3,"skill-same:01M6R32096FE57K397WMF86DJY":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":13,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":63,"install":64,"resources":76},"01M6R32096FE57K397WMF86DJY","setup",null,"Set up GBrain-QMD (local QMD + SQLite, no cloud dependencies)","sixtycat2000-ctrl\u002Fgbrain-qmd","sixtycat2000-ctrl","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F263121306?v=4","01M6R2SPVP79P6Y6CC3HW4Y6GD","01M6R2SQ2MJXN4VVXWT7NQW9DD",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd\u002Fblob\u002Fmaster\u002Fskills\u002Fsetup\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"page","true","gbrain","db","brain","get","local","dependencies","up","initialize","qmd","health","sqlite","SET","cloud","stats","index","sync","init","2026-11-10 10:12:30",false,"---\nname: setup\nversion: 1.0.0\ndescription: Set up GBrain-QMD (local QMD + SQLite, no cloud dependencies)\ntriggers:\n  - \"set up gbrain\"\n  - \"initialize brain\"\n  - \"gbrain setup\"\n  - \"gbrain init\"\ntools:\n  - get_stats\n  - get_health\n  - sync_brain\n  - put_page\nmutating: true\nwrites_to:\n  - brain.db\n  - content\u002F\n  - qmd-index.sqlite\n---\n\n# Setup GBrain\n\nSet up GBrain from scratch. Target: working brain in under 2 minutes.\n\n## Contract\n\n- Setup completes with a working brain verified by `gbrain doctor --json` (all checks OK).\n- The brain-first lookup protocol is injected into the project's AGENTS.md or equivalent.\n- Schema state is tracked in `~\u002F.gbrain\u002Fupdate-state.json` so future upgrades know what the user adopted or declined.\n- No external database or API key is required for core operations.\n\n## Install (if not already installed)\n\n```bash\nbun add github:sixtycat2000-ctrl\u002Fgbrain-qmd\n```\n\n## How GBrain Works\n\nGBrain is fully local. All data lives on your machine -- no cloud database required.\n\n- **QMD** handles search, indexing, and embedding (local Qwen3-Embedding-0.6B model)\n- **SQLite** stores domain data (pages, links, tags, timeline, versions)\n- **Filesystem** stores content files (`~\u002F.gbrain\u002Fdata\u002Fcontent\u002F`) and attachments (`~\u002F.gbrain\u002Fdata\u002Ffiles\u002F`)\n\nNo DATABASE_URL, no Supabase, no OpenAI API key for core operations. Search works offline.\n\nOptional: configure an Expander API key (Anthropic or OpenAI) for enhanced query expansion via `gbrain query`.\n\n## Prerequisites\n\n- Bun runtime (for running gbrain)\n- ~1GB disk space for QMD embedding model (downloaded automatically on first embed)\n- A git-backed markdown knowledge base (or start fresh)\n- Optional: Anthropic or OpenAI API key for Expander-enhanced search\n\n## Available init options\n\n- `gbrain init` -- interactive setup (creates data directory, initializes SQLite + QMD)\n- `gbrain doctor --json` -- health check after init\n\n## Phase A: Initialize Data Directory\n\n1. Run init to create the data directory and initialize everything:\n   ```bash\n   gbrain init\n   ```\n   This creates:\n   - `~\u002F.gbrain\u002Fdata\u002Fbrain.db` (SQLite database)\n   - `~\u002F.gbrain\u002Fdata\u002Fcontent\u002F` (markdown content files)\n   - `~\u002F.gbrain\u002Fdata\u002Ffiles\u002F` (attachments)\n   - `~\u002F.gbrain\u002Fdata\u002Fqmd-index.sqlite` (QMD search index)\n\n2. Verify setup:\n   ```bash\n   gbrain doctor --json\n   ```\n\n## Phase B: Configure Expander (Optional)\n\nFor enhanced search with query expansion, set environment variables:\n\n```bash\n# Choose provider: anthropic (default), openai, openrouter, or custom\nexport GBRAIN_EXPAND_PROVIDER=anthropic\nexport GBRAIN_EXPAND_MODEL=claude-haiku-4-5-20251001\n\n# Set the API key for your chosen provider\nexport ANTHROPIC_API_KEY=sk-ant-...\n# or for OpenAI: export OPENAI_API_KEY=sk-...\n```\n\nWithout an API key, gbrain uses the **QMD local expansion model** (1.7B GGUF, auto-downloaded) -- search works with full lex\u002Fvec\u002Fhyde expansion, no cloud dependency.\n\n## Phase C: First Import\n\n1. **Discover markdown repos.** Scan the environment for git repos with markdown content.\n\n```bash\necho \"=== GBrain Environment Discovery ===\"\nfor dir in \u002Fdata\u002F* ~\u002Fgit\u002F* ~\u002FDocuments\u002F* 2>\u002Fdev\u002Fnull; do\n  if [ -d \"$dir\u002F.git\" ]; then\n    md_count=$(find \"$dir\" -name \"*.md\" -not -path \"*\u002Fnode_modules\u002F*\" -not -path \"*\u002F.git\u002F*\" 2>\u002Fdev\u002Fnull | wc -l | tr -d ' ')\n    if [ \"$md_count\" -gt 10 ]; then\n      total_size=$(du -sh \"$dir\" 2>\u002Fdev\u002Fnull | cut -f1)\n      echo \"  $dir ($total_size, $md_count .md files)\"\n    fi\n  fi\ndone\necho \"=== Discovery Complete ===\"\n```\n\n2. **Import the best candidate.** For large imports (>1000 files), use nohup to\n   survive session timeouts:\n   ```bash\n   nohup gbrain import \u003Cdir> --no-embed > \u002Ftmp\u002Fgbrain-import.log 2>&1 &\n   ```\n   Then check progress: `tail -1 \u002Ftmp\u002Fgbrain-import.log`\n\n   For smaller imports, run directly:\n   ```bash\n   gbrain import \u003Cdir>\n   ```\n\n3. **Prove search works.** Pick a keyword query based on what you imported:\n   ```bash\n   gbrain search \"\u003Ctopic from the imported data>\"\n   ```\n   This works immediately -- no API keys needed for keyword search.\n\n4. **Run embedding.** Generate embeddings for semantic search (downloads ~640MB model on first run):\n   ```bash\n   gbrain embed\n   ```\n\nIf no markdown repos are found, create a starter brain with a few template pages\n(a person page, a company page, a concept page) from docs\u002FGBRAIN_RECOMMENDED_SCHEMA.md.\n\n## Phase D: Brain-First Lookup Protocol\n\nInject the brain-first lookup protocol into the project's AGENTS.md (or equivalent).\nThis replaces grep-based knowledge lookups with structured gbrain queries.\n\n### BEFORE (grep) vs AFTER (gbrain)\n\n| Task | Before (grep) | After (gbrain) |\n|------|---------------|-----------------|\n| Find a person | `grep -r \"Pedro\" brain\u002F` | `gbrain search \"Pedro\"` |\n| Understand a topic | `grep -rl \"deal\" brain\u002F \\| head -5 && cat ...` | `gbrain query \"what's the status of the deal\"` |\n| Read a known page | `cat brain\u002Fpeople\u002Fpedro.md` | `gbrain get people\u002Fpedro` |\n| Find connections | `grep -rl \"Brex\" brain\u002F \\| xargs grep \"Pedro\"` | `gbrain query \"Pedro Brex relationship\"` |\n\n### Lookup sequence (MANDATORY for every entity question)\n\n1. `gbrain search \"name\"` -- keyword match, fast, works offline\n2. `gbrain query \"what do we know about name\"` -- Expander-enhanced search (needs API key for full expansion)\n3. `gbrain get \u003Cslug>` -- direct page read when you know the slug from steps 1-2\n4. `grep` fallback -- only if gbrain returns zero results AND the file may exist outside the indexed brain\n\nStop at the first step that gives you what you need. Most lookups resolve at step 1.\n\n### Sync-after-write rule\n\nAfter creating or updating any brain page in the repo, sync immediately so the\nindex stays current:\n\n```bash\ngbrain sync --no-pull\n```\n\nThis indexes new\u002Fchanged files without pulling from git.\n\n### gbrain vs memory_search\n\n| Layer | What it stores | When to use |\n|-------|---------------|-------------|\n| **gbrain** | World knowledge: people, companies, deals, meetings, concepts, media | \"Who is Pedro?\", \"What happened at the board meeting?\" |\n| **memory_search** | Agent operational state: preferences, decisions, session context | \"How does the user like formatting?\", \"What did we decide about X?\" |\n\nBoth should be checked. gbrain for facts about the world. memory_search for how\nthe agent should behave.\n\n## Phase E: Load the Production Agent Guide\n\nRead `docs\u002FGBRAIN_SKILLPACK.md`. This is the reference architecture for how a\nproduction agent uses gbrain: the brain-agent loop, entity detection, enrichment\npipeline, meeting ingestion, cron schedules, and the five operational disciplines.\n\nInject the key patterns into the agent's system context or AGENTS.md:\n\n1. **Brain-agent loop** (Section 2): read before responding, write after learning\n2. **Entity detection** (Section 3): spawn on every message, capture people\u002Fcompanies\u002Fideas\n3. **Source attribution** (Section 7): every fact needs `[Source: ...]`\n4. **Iron law back-linking** (Section 15.4): every mention links back to the entity page\n\nTell the user: \"The production agent guide is at docs\u002FGBRAIN_SKILLPACK.md. It covers\nthe brain-agent loop, entity detection, enrichment, meeting ingestion, and cron\nschedules. Read it when you're ready to go from 'search works' to 'the brain\nmaintains itself.'\"\n\n## Phase F: Health Check\n\nRun `gbrain doctor --json` and report the results. Every check should be OK.\nIf any check fails, the doctor output tells you exactly what's wrong and how to fix it.\n\n## Error Recovery\n\n**If any gbrain command fails, run `gbrain doctor --json` first.** Report the full\noutput. It checks SQLite integrity, QMD index status, content directory, and embedding coverage.\n\n| What You See | Why | Fix |\n|---|---|---|\n| SQLite not found | Data directory missing | Run `gbrain init` |\n| QMD index not found | No content indexed | Import files then run `gbrain embed` |\n| No pages found | Query before import | Import files into gbrain first |\n| Embedding model download failed | Network issue or disk space | Ensure ~1GB free, re-run `gbrain embed` |\n\n## Phase G: Auto-Update Check\n\nIf the user's install did NOT include setting up auto-update checks, offer it:\n\n> \"Would you like daily GBrain update checks? I'll let you know when there's a\n> new version worth upgrading to -- including new skills and schema recommendations.\n> You'll always be asked before anything is installed.\"\n\nIf they agree:\n1. Test: `gbrain check-update --json`\n2. Register daily cron (see GBRAIN_SKILLPACK.md Section 17)\n\nIf already configured or user declines, skip.\n\n## Schema State Tracking\n\nAfter presenting the recommended directories (Phase C\u002FE) and the user selects which\nones to create, write `~\u002F.gbrain\u002Fupdate-state.json` recording:\n- `schema_version_applied`: current gbrain version\n- `skillpack_version_applied`: current gbrain version\n- `schema_choices.adopted`: directories the user created\n- `schema_choices.declined`: directories the user explicitly skipped\n- `schema_choices.custom`: directories the user added that aren't in the recommended schema\n\nThis file enables future upgrades to suggest new schema additions without\nre-suggesting things the user already declined.\n\n## Anti-Patterns\n\n- **Skipping health check.** Never declare setup complete without running `gbrain doctor --json` and confirming all checks pass. A failed check means setup is incomplete.\n- **Declaring setup without verification.** \"The command ran\" is not the same as \"it worked.\" Search for something you imported to prove the brain is functional.\n- **Importing without proving search.** The magical moment is the user seeing search find things grep couldn't. Don't skip it.\n- **Ignoring schema state.** Without `update-state.json`, future upgrades cannot distinguish what the user adopted vs declined.\n\n## Output Format\n\n```\nSETUP COMPLETE\n==============\n\nEngine: QMD + SQLite (local)\nPages imported: N\nEmbeddings: N\u002FN (keyword search active, semantic improving)\nHealth check: all OK \u002F [specific failures]\n\nNext steps:\n- Read docs\u002FGBRAIN_SKILLPACK.md for production agent patterns\n- [any pending items]\n```\n\n## Tools Used\n\n- `gbrain init` -- create local data directory and initialize brain\n- `gbrain import \u003Cdir> [--no-embed]` -- import files\n- `gbrain search \u003Cquery>` -- keyword search brain (offline)\n- `gbrain query \u003Cquery>` -- Expander-enhanced search\n- `gbrain doctor --json` -- health check\n- `gbrain check-update --json` -- check for updates\n- `gbrain embed` -- generate embeddings via QMD local model\n- `gbrain reindex` -- full re-index of all content\n- `gbrain stats` -- page count + embed coverage\n- `gbrain sync --no-pull` -- index new\u002Fchanged files\n","# Setup GBrain\n\nSet up GBrain from scratch. Target: working brain in under 2 minutes.\n\n## Contract\n\n- Setup completes with a working brain verified by `gbrain doctor --json` (all checks OK).\n- The brain-first lookup protocol is injected into the project's AGENTS.md or equivalent.\n- Schema state is tracked in `~\u002F.gbrain\u002Fupdate-state.json` so future upgrades know what the user adopted or declined.\n- No external database or API key is required for core operations.\n\n## Install (if not already installed)\n\n```bash\nbun add github:sixtycat2000-ctrl\u002Fgbrain-qmd\n```\n\n## How GBrain Works\n\nGBrain is fully local. All data lives on your machine -- no cloud database required.\n\n- **QMD** handles search, indexing, and embedding (local Qwen3-Embedding-0.6B model)\n- **SQLite** stores domain data (pages, links, tags, timeline, versions)\n- **Filesystem** stores content files (`~\u002F.gbrain\u002Fdata\u002Fcontent\u002F`) and attachments (`~\u002F.gbrain\u002Fdata\u002Ffiles\u002F`)\n\nNo DATABASE_URL, no Supabase, no OpenAI API key for core operations. Search works offline.\n\nOptional: configure an Expander API key (Anthropic or OpenAI) for enhanced query expansion via `gbrain query`.\n\n## Prerequisites\n\n- Bun runtime (for running gbrain)\n- ~1GB disk space for QMD embedding model (downloaded automatically on first embed)\n- A git-backed markdown knowledge base (or start fresh)\n- Optional: Anthropic or OpenAI API key for Expander-enhanced search\n\n## Available init options\n\n- `gbrain init` -- interactive setup (creates data directory, initializes SQLite + QMD)\n- `gbrain doctor --json` -- health check after init\n\n## Phase A: Initialize Data Directory\n\n1. Run init to create the data directory and initialize everything:\n   ```bash\n   gbrain init\n   ```\n   This creates:\n   - `~\u002F.gbrain\u002Fdata\u002Fbrain.db` (SQLite database)\n   - `~\u002F.gbrain\u002Fdata\u002Fcontent\u002F` (markdown content files)\n   - `~\u002F.gbrain\u002Fdata\u002Ffiles\u002F` (attachments)\n   - `~\u002F.gbrain\u002Fdata\u002Fqmd-index.sqlite` (QMD search index)\n\n2. Verify setup:\n   ```bash\n   gbrain doctor --json\n   ```\n\n## Phase B: Configure Expander (Optional)\n\nFor enhanced search with query expansion, set environment variables:\n\n```bash\n# Choose provider: anthropic (default), openai, openrouter, or custom\nexport GBRAIN_EXPAND_PROVIDER=anthropic\nexport GBRAIN_EXPAND_MODEL=claude-haiku-4-5-20251001\n\n# Set the API key for your chosen provider\nexport ANTHROPIC_API_KEY=sk-ant-...\n# or for OpenAI: export OPENAI_API_KEY=sk-...\n```\n\nWithout an API key, gbrain uses the **QMD local expansion model** (1.7B GGUF, auto-downloaded) -- search works with full lex\u002Fvec\u002Fhyde expansion, no cloud dependency.\n\n## Phase C: First Import\n\n1. **Discover markdown repos.** Scan the environment for git repos with markdown content.\n\n```bash\necho \"=== GBrain Environment Discovery ===\"\nfor dir in \u002Fdata\u002F* ~\u002Fgit\u002F* ~\u002FDocuments\u002F* 2>\u002Fdev\u002Fnull; do\n  if [ -d \"$dir\u002F.git\" ]; then\n    md_count=$(find \"$dir\" -name \"*.md\" -not -path \"*\u002Fnode_modules\u002F*\" -not -path \"*\u002F.git\u002F*\" 2>\u002Fdev\u002Fnull | wc -l | tr -d ' ')\n    if [ \"$md_count\" -gt 10 ]; then\n      total_size=$(du -sh \"$dir\" 2>\u002Fdev\u002Fnull | cut -f1)\n      echo \"  $dir ($total_size, $md_count .md files)\"\n    fi\n  fi\ndone\necho \"=== Discovery Complete ===\"\n```\n\n2. **Import the best candidate.** For large imports (>1000 files), use nohup to\n   survive session timeouts:\n   ```bash\n   nohup gbrain import \u003Cdir> --no-embed > \u002Ftmp\u002Fgbrain-import.log 2>&1 &\n   ```\n   Then check progress: `tail -1 \u002Ftmp\u002Fgbrain-import.log`\n\n   For smaller imports, run directly:\n   ```bash\n   gbrain import \u003Cdir>\n   ```\n\n3. **Prove search works.** Pick a keyword query based on what you imported:\n   ```bash\n   gbrain search \"\u003Ctopic from the imported data>\"\n   ```\n   This works immediately -- no API keys needed for keyword search.\n\n4. **Run embedding.** Generate embeddings for semantic search (downloads ~640MB model on first run):\n   ```bash\n   gbrain embed\n   ```\n\nIf no markdown repos are found, create a starter brain with a few template pages\n(a person page, a company page, a concept page) from docs\u002FGBRAIN_RECOMMENDED_SCHEMA.md.\n\n## Phase D: Brain-First Lookup Protocol\n\nInject the brain-first lookup protocol into the project's AGENTS.md (or equivalent).\nThis replaces grep-based knowledge lookups with structured gbrain queries.\n\n### BEFORE (grep) vs AFTER (gbrain)\n\n| Task | Before (grep) | After (gbrain) |\n|------|---------------|-----------------|\n| Find a person | `grep -r \"Pedro\" brain\u002F` | `gbrain search \"Pedro\"` |\n| Understand a topic | `grep -rl \"deal\" brain\u002F \\| head -5 && cat ...` | `gbrain query \"what's the status of the deal\"` |\n| Read a known page | `cat brain\u002Fpeople\u002Fpedro.md` | `gbrain get people\u002Fpedro` |\n| Find connections | `grep -rl \"Brex\" brain\u002F \\| xargs grep \"Pedro\"` | `gbrain query \"Pedro Brex relationship\"` |\n\n### Lookup sequence (MANDATORY for every entity question)\n\n1. `gbrain search \"name\"` -- keyword match, fast, works offline\n2. `gbrain query \"what do we know about name\"` -- Expander-enhanced search (needs API key for full expansion)\n3. `gbrain get \u003Cslug>` -- direct page read when you know the slug from steps 1-2\n4. `grep` fallback -- only if gbrain returns zero results AND the file may exist outside the indexed brain\n\nStop at the first step that gives you what you need. Most lookups resolve at step 1.\n\n### Sync-after-write rule\n\nAfter creating or updating any brain page in the repo, sync immediately so the\nindex stays current:\n\n```bash\ngbrain sync --no-pull\n```\n\nThis indexes new\u002Fchanged files without pulling from git.\n\n### gbrain vs memory_search\n\n| Layer | What it stores | When to use |\n|-------|---------------|-------------|\n| **gbrain** | World knowledge: people, companies, deals, meetings, concepts, media | \"Who is Pedro?\", \"What happened at the board meeting?\" |\n| **memory_search** | Agent operational state: preferences, decisions, session context | \"How does the user like formatting?\", \"What did we decide about X?\" |\n\nBoth should be checked. gbrain for facts about the world. memory_search for how\nthe agent should behave.\n\n## Phase E: Load the Production Agent Guide\n\nRead `docs\u002FGBRAIN_SKILLPACK.md`. This is the reference architecture for how a\nproduction agent uses gbrain: the brain-agent loop, entity detection, enrichment\npipeline, meeting ingestion, cron schedules, and the five operational disciplines.\n\nInject the key patterns into the agent's system context or AGENTS.md:\n\n1. **Brain-agent loop** (Section 2): read before responding, write after learning\n2. **Entity detection** (Section 3): spawn on every message, capture people\u002Fcompanies\u002Fideas\n3. **Source attribution** (Section 7): every fact needs `[Source: ...]`\n4. **Iron law back-linking** (Section 15.4): every mention links back to the entity page\n\nTell the user: \"The production agent guide is at docs\u002FGBRAIN_SKILLPACK.md. It covers\nthe brain-agent loop, entity detection, enrichment, meeting ingestion, and cron\nschedules. Read it when you're ready to go from 'search works' to 'the brain\nmaintains itself.'\"\n\n## Phase F: Health Check\n\nRun `gbrain doctor --json` and report the results. Every check should be OK.\nIf any check fails, the doctor output tells you exactly what's wrong and how to fix it.\n\n## Error Recovery\n\n**If any gbrain command fails, run `gbrain doctor --json` first.** Report the full\noutput. It checks SQLite integrity, QMD index status, content directory, and embedding coverage.\n\n| What You See | Why | Fix |\n|---|---|---|\n| SQLite not found | Data directory missing | Run `gbrain init` |\n| QMD index not found | No content indexed | Import files then run `gbrain embed` |\n| No pages found | Query before import | Import files into gbrain first |\n| Embedding model download failed | Network issue or disk space | Ensure ~1GB free, re-run `gbrain embed` |\n\n## Phase G: Auto-Update Check\n\nIf the user's install did NOT include setting up auto-update checks, offer it:\n\n> \"Would you like daily GBrain update checks? I'll let you know when there's a\n> new version worth upgrading to -- including new skills and schema recommendations.\n> You'll always be asked before anything is installed.\"\n\nIf they agree:\n1. Test: `gbrain check-update --json`\n2. Register daily cron (see GBRAIN_SKILLPACK.md Section 17)\n\nIf already configured or user declines, skip.\n\n## Schema State Tracking\n\nAfter presenting the recommended directories (Phase C\u002FE) and the user selects which\nones to create, write `~\u002F.gbrain\u002Fupdate-state.json` recording:\n- `schema_version_applied`: current gbrain version\n- `skillpack_version_applied`: current gbrain version\n- `schema_choices.adopted`: directories the user created\n- `schema_choices.declined`: directories the user explicitly skipped\n- `schema_choices.custom`: directories the user added that aren't in the recommended schema\n\nThis file enables future upgrades to suggest new schema additions without\nre-suggesting things the user already declined.\n\n## Anti-Patterns\n\n- **Skipping health check.** Never declare setup complete without running `gbrain doctor --json` and confirming all checks pass. A failed check means setup is incomplete.\n- **Declaring setup without verification.** \"The command ran\" is not the same as \"it worked.\" Search for something you imported to prove the brain is functional.\n- **Importing without proving search.** The magical moment is the user seeing search find things grep couldn't. Don't skip it.\n- **Ignoring schema state.** Without `update-state.json`, future upgrades cannot distinguish what the user adopted vs declined.\n\n## Output Format\n\n```\nSETUP COMPLETE\n==============\n\nEngine: QMD + SQLite (local)\nPages imported: N\nEmbeddings: N\u002FN (keyword search active, semantic improving)\nHealth check: all OK \u002F [specific failures]\n\nNext steps:\n- Read docs\u002FGBRAIN_SKILLPACK.md for production agent patterns\n- [any pending items]\n```\n\n## Tools Used\n\n- `gbrain init` -- create local data directory and initialize brain\n- `gbrain import \u003Cdir> [--no-embed]` -- import files\n- `gbrain search \u003Cquery>` -- keyword search brain (offline)\n- `gbrain query \u003Cquery>` -- Expander-enhanced search\n- `gbrain doctor --json` -- health check\n- `gbrain check-update --json` -- check for updates\n- `gbrain embed` -- generate embeddings via QMD local model\n- `gbrain reindex` -- full re-index of all content\n- `gbrain stats` -- page count + embed coverage\n- `gbrain sync --no-pull` -- index new\u002Fchanged files\n",{"name":5,"tools":42,"version":47,"mutating":48,"triggers":49,"writes_to":54,"description":7},[43,44,45,46],"get_stats","get_health","sync_brain","put_page","1.0.0",true,[50,51,52,53],"set up gbrain","initialize brain","gbrain setup","gbrain init",[55,56,57],"brain.db","content\u002F","qmd-index.sqlite","master","48f3da67113808a35b3721091cc58290a8c49ab4","skills\u002Fsetup","https:\u002F\u002Fgithub.com\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd","https:\u002F\u002Fgithub.com\u002Fsixtycat2000-ctrl","2026-04-26 19:27:01",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":48},[66,69,72],{"tool":67,"command":68},"npx","npx skills add sixtycat2000-ctrl\u002Fgbrain-qmd --skill setup",{"tool":70,"command":71},"bunx","bunx skills add sixtycat2000-ctrl\u002Fgbrain-qmd --skill setup",{"tool":73,"command":74},"pnpm","pnpm dlx skills add sixtycat2000-ctrl\u002Fgbrain-qmd --skill setup","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd\u002Fblob\u002Fmaster\u002Fskills\u002Fsetup\u002FSKILL.md",[],[78,100,136,160,183,205],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":37},"01M6R33ZFP10GVGJ7FX4GQWVK1","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\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd\u002Fblob\u002Fmaster\u002Fskills\u002Fwebhook-transforms\u002FSKILL.md",[],[85,86,87,88,89,31,18,90,26,91,92,23,93,94,95,96,97,19,98,99],"webhook","transforms","webhook transforms","search","pipeline","meetings","social","signals","define","register","sms","event","URL","for","generic",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":119,"publishedAt":37},"01M6R33SCJAHZHG7HRN0JF29AB","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\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd\u002Fblob\u002Fmaster\u002Fskills\u002Ftesting\u002FSKILL.md",[106,111,114],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":112,"categoryName":113,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":115,"categoryName":116,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[102,120,121,122,88,29,123,124,125,126,127,128,129,130,131,132,133,134,135,98],"test","run","validation","system","check","health check","skill validation","validate skills","contract","tests","skill health","pages","env","false","test skills","with",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":37},"01M6R33DCE6RSA4YRCJ5H787E3","soul-audit","6-phase interactive interview that generates the agent's identity (SOUL.md),\nuser profile (USER.md), access control (ACCESS_POLICY.md), and operational\ncadence (HEARTBEAT.md). Re-runnable anytime to update any section.","https:\u002F\u002Fgithub.com\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd\u002Fblob\u002Fmaster\u002Fskills\u002Fsoul-audit\u002FSKILL.md",[142],{"categoryNo":112,"categoryName":113,"taxonomyType":109,"taxonomyTypeDesc":110},[144,145,146,147,148,31,149,18,150,151,26,152,153,154,155,156,157,19,158,159],"audit","soul","soul audit","policy","customize","access","interactive","interview","personality","Access Control","cadence","SOUL.md","re","my agent","section","phase",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":37},"01M6R338GVZ1B8RCTWCEBG3SFS","smoke-test","Post-restart smoke tests + auto-fix for gbrain and OpenClaw environments.\nTests critical services, auto-fixes known issues, extensible via user-defined\ntest scripts in ~\u002F.gbrain\u002Fsmoke-tests.d\u002F*.sh.","https:\u002F\u002Fgithub.com\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd\u002Fblob\u002Fmaster\u002Fskills\u002Fsmoke-test\u002FSKILL.md",[166],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[120,168,169,170,171,121,172,173,174,175,176,129,177,178,179,19,98,180,181,182],"smoke","smoke test","openclaw","run smoke tests","issues","read","fix","auto","restart","critical","scripts","environments","fixes","break","auto-fix",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":37},"01M6R32XF94PR8S1G75S1FRZ94","skillpack-check","Run `gbrain skillpack-check` to produce an agent-readable JSON health report\nfor the gbrain install. Wraps `gbrain doctor` + `gbrain apply-migrations\n--list` so a host agent (your OpenClaw's morning-briefing, any OpenClaw cron)\ncan see at a glance whether the skillpack needs attention.\n\nUse when the user asks \"is gbrain healthy?\", when a cron fires a morning\ncheck, or proactively when something seems off (jobs not running, brain\nnot updating, autopilot silent).","https:\u002F\u002Fgithub.com\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd\u002Fblob\u002Fmaster\u002Fskills\u002Fskillpack-check\u002FSKILL.md",[],[124,190,191,192,29,193,194,195,196,133,20,197,198,199,200,98,201,202,203,204],"skillpack check","doctor","produce","use","migrations","glance","attention","host","healthy","briefing","can","apply","morning check","when","running",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":212,"publishedAt":37},"01M6R32RBQXAG40PM35VSA2Y8T","skillify","The meta skill. Turn any raw feature or script into a properly-skilled,\ntested, resolvable, evaled unit of agent-visible capability. Use when\nthe user says \"skillify this\", \"is this a skill?\", \"make this proper\",\nor after a new feature is built without the full skill infrastructure.\n\nPaired with `gbrain check-resolvable`, skillify gives a user-controllable\nequivalent of Hermes' auto-skill-creation: you build, skillify checks the\nchecklist, check-resolvable verifies nothing is orphaned. The human keeps\njudgment; the tooling keeps the checklist honest.","https:\u002F\u002Fgithub.com\u002Fsixtycat2000-ctrl\u002Fgbrain-qmd\u002Fblob\u002Fmaster\u002Fskills\u002Fskillify\u002FSKILL.md",[211],{"categoryNo":112,"categoryName":113,"taxonomyType":109,"taxonomyTypeDesc":110},[207,213,88,214,215,175,216,217,218,219,220,221,133,222,223,224,225,98,226,203],"infrastructure","Meta","list","evals","human","judgment","full","creation","feature","add","unit","make","you","capability"]