[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HC2AD34VCJQ4BH3QGK9S7":3,"skill-same:01M71HC2AD34VCJQ4BH3QGK9S7":72},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M71HC2AD34VCJQ4BH3QGK9S7","guard-git",null,"Block dangerous git commands (push, force push, reset --hard, clean, branch -D, checkout\u002Frestore .) and enforce Conventional Commits & Branch Protection before an AI agent runs them. Installs hook scripts for Claude Code, Cursor, Cursor CLI, and Gemini CLI; documents Google Antigravity Terminal deny lists. Use when the user wants git safety hooks, to block git push or destructive git in agents, or to mirror the same policy across AI coding tools.","danielvm-git\u002Fbigpowers","danielvm-git","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1020864?v=4","01M71H1N1CTQ529S0KN7KETVG6","Daniel V M","01M71H1N218Y3S8WHCJ58NPRSW",290,"MIT","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.codebuddy\u002Fskills\u002Fguard-git\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"guard","guard git","git","commands","scripts","terminal","cli","haiku","across","reset","code","conventional commits","when","documents","ai agent","clean","hooks","checkout","ai coding tools","branch","2026-11-10 10:12:30",false,"---\nname: guard-git\nmodel: haiku\ndescription: \"Block dangerous git commands (push, force push, reset --hard, clean, branch -D, checkout\u002Frestore .) and enforce Conventional Commits & Branch Protection before an AI agent runs them. Installs hook scripts for Claude Code, Cursor, Cursor CLI, and Gemini CLI; documents Google Antigravity Terminal deny lists. Use when the user wants git safety hooks, to block git push or destructive git in agents, or to mirror the same policy across AI coding tools.\"\n---\n\n# Guard Git\n> **HARD GATE** — **HARD GATE** — Before committing, verify: branch is not main\u002Fmaster, author is correct, git user is configured. Bad commits are hard to fix.\n\n\nInstalls a shared hook that blocks destructive git operations and enforces workflow discipline. **Requires `jq` on the agent's PATH** when the hook runs.\n\n## What gets blocked\u002Fenforced\n\n- **Safety**: force push (`-f`, `--force`, `+refspec`), `reset` with `--hard`, `clean` with any `-f*`, `branch -D` \u002F `--delete --force`, `checkout`\u002F`restore` that discard work (`-f`, `.` pathspec).\n- **Argv, not substrings**: the hook tokenizes each command, strips git's global options (`-C \u003Cpath>`, `-c k=v`, `--no-pager`, `--git-dir=…`) and judges the `(subcommand, arguments)` pair — so `git -C repo reset -q --hard` is blocked, while `git push --force-with-lease` is allowed. Rules live in `scripts\u002Flib\u002Fgit-argv.py`, mirrored in `extensions\u002Fomp-hooks.ts`; `scripts\u002Ftest-guard-git-normalize.sh` fails if the two disagree.\n- **Discipline**: Blocks direct commits or pushes to protected branches (`main`, `master`) unless `GIT_BIGPOWERS_LAND=1` (set only by `scripts\u002Fland-branch.sh`).\n- **Allows**: `git push origin \u003Cfeature-branch>` for backup\u002FCI; solo land push to `main` only inside `land-branch.sh`.\n- **Standardization**: Enforces [Conventional Commits](https:\u002F\u002Fwww.conventionalcommits.org\u002F) for all `git commit` commands.\n- **Secrets**: Blocks commits containing common secret patterns (`sk-`, `ghp_`, `AKIA`, `xoxb-`, `-----BEGIN` private keys) — see [REFERENCE.md](REFERENCE.md).\n\n## Quick start\n\n1. **Scope**: ask project-only vs global (paths differ per product).\n2. **Write the hook bundle** from [REFERENCE.md](REFERENCE.md) into the client's hooks directory.\n3. **Run `chmod +x`** on `pre-tool-use.sh`.\n4. **Merge** the hook snippet from [REFERENCE.md](REFERENCE.md) into the right settings file — do not wipe unrelated keys.\n5. **Verify** with the tests in [REFERENCE.md](REFERENCE.md).\n\n| Client | Mechanism | Config |\n|--------|-----------|--------|\n| Claude Code | `PreToolUse` (Bash) | `.claude\u002Fsettings.json` or `~\u002F.claude\u002Fsettings.json` |\n| Cursor \u002F Cursor CLI | `beforeShellExecution` | `.cursor\u002Fhooks.json` or `~\u002F.cursor\u002Fhooks.json` |\n| Gemini CLI | `BeforeTool` + `run_shell_command` | `.gemini\u002Fsettings.json` or `~\u002F.gemini\u002Fsettings.json` |\n| Google Antigravity | Built-in Terminal **Deny list** | Settings UI (no shell hook) |\n\n**Modes (env on the hook command):** `GIT_GUARDRAILS_MODE` is `claude` (default) or `cursor` → stderr + exit `2` on block. Set `gemini` for Gemini CLI → JSON `decision` on stdout.\n\n## Customization\n\nThe rule table lives in `scripts\u002Flib\u002Fgit-argv.py` (shell hooks) and is mirrored in `extensions\u002Fomp-hooks.ts`. Add a rule to both and a row to `specs\u002Fverifications\u002Ffixtures\u002Fguard-git-normalize.yaml`.\n\nThe TS side is judged through `evaluateBashCall()` — the single pure function the `tool_call` handler calls — so the fixture covers **every** rule (destructive argv, protected-branch push, Conventional Commits), not just the argv table. The gate (`bash scripts\u002Ftest-guard-git-normalize.sh`) runs both implementations with `GIT_BIGPOWERS_LAND` unset and fails if they disagree, so a verdict can never depend on the developer's shell.\n\nProtected-branch rules answer differently on `main` than on a feature branch, so a row that touches commit\u002Fpush semantics states its `branch:` and both sides are run in it (the shell hook in a throwaway repo checked out on that branch). A row without `branch:` is judged on a feature branch. Do not pin the branch inside either implementation — that is what made the gate pass on PRs and fail on `main`.\n\n## Advanced\n\nFull JSON examples, merge rules, Antigravity deny-list entries, and test commands: [REFERENCE.md](REFERENCE.md).\n\n\n\n\u003C!-- story: e01s03 -->\n\n---\n\n# Git guardrails — reference\n\n## Navigation\n\n| Lines | Section |\n|-------|---------|\n| 1 | Title |\n| 3–16 | Navigation |\n| 17–28 | Secret patterns (audit + pre-commit) |\n| 29–46 | Copy layout |\n| 47–72 | Claude Code |\n| 73–94 | Cursor and Cursor CLI |\n| 95–122 | Gemini CLI |\n| 123–137 | Google Antigravity |\n| 138–180 | Verify (local tests) |\n\n## Secret patterns (audit + pre-commit)\n\nAgents must not commit files containing:\n\n- `sk-` (OpenAI API keys)\n- `ghp_` \u002F `gho_` (GitHub tokens)\n- `AKIA` (AWS access key id)\n- `xoxb-` (Slack bot tokens)\n- `-----BEGIN` private keys\n\nUse `audit-code` supply-chain checklist before commit. Consider `git-secrets` or custom pre-commit hook in target projects.\n\n## Copy layout\n\nThe main script is `pre-tool-use.sh`.\n\n```text\n\u003Chooks-dir>\u002Fpre-tool-use.sh\n```\n\nExample project locations:\n\n- Claude: `.claude\u002Fhooks\u002F`\n- Cursor: `.cursor\u002Fhooks\u002F`\n- Gemini: `.gemini\u002Fhooks\u002F`\n\nUse the same layout for user-level hooks (`~\u002F.claude\u002Fhooks`, `~\u002F.cursor\u002Fhooks`, `~\u002F.gemini\u002Fhooks`).\n\n---\n\n## Claude Code\n\nHook command does **not** need `GIT_GUARDRAILS_MODE` (defaults to `claude`).\n\n**Project** (`.claude\u002Fsettings.json`):\n\n```json\n{\n  \"hooks\": {\n    \"PreToolUse\": [\n      {\n        \"matcher\": \"Bash\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"\\\"$CLAUDE_PROJECT_DIR\\\"\u002F.claude\u002Fhooks\u002Fpre-tool-use.sh\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n---\n\n## Cursor and Cursor CLI\n\nUse `beforeShellExecution`. Set `GIT_GUARDRAILS_MODE=cursor`.\n\n**Project** (`.cursor\u002Fhooks.json`):\n\n```json\n{\n  \"version\": 1,\n  \"hooks\": {\n    \"beforeShellExecution\": [\n      {\n        \"command\": \"GIT_GUARDRAILS_MODE=cursor .cursor\u002Fhooks\u002Fpre-tool-use.sh\",\n        \"matcher\": \"git\"\n      }\n    ]\n  }\n}\n```\n\n---\n\n## Gemini CLI\n\nUse `BeforeTool` with matcher `run_shell_command`. Set **`GIT_GUARDRAILS_MODE=gemini`**.\n\n**Project** (`.gemini\u002Fsettings.json`):\n\n```json\n{\n  \"hooks\": {\n    \"BeforeTool\": [\n      {\n        \"matcher\": \"run_shell_command\",\n        \"hooks\": [\n          {\n            \"name\": \"git-guardrails\",\n            \"type\": \"command\",\n            \"command\": \"GIT_GUARDRAILS_MODE=gemini \\\"$GEMINI_PROJECT_DIR\\\"\u002F.gemini\u002Fhooks\u002Fpre-tool-use.sh\",\n            \"timeout\": 5000\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n---\n\n## Google Antigravity\n\nAdd **Deny list** entries in **Antigravity → Settings → Terminal**:\n\n- `git push --force`\n- `git push origin main`\n- `git push origin master`\n- `git reset --hard`\n- `git clean`\n- `git branch -D`\n- `git checkout .`\n- `git restore .`\n\n---\n\n## Verify (local tests)\n\n**1. Block push to main without land mode (Claude mode):**\n```bash\necho '{\"tool_input\":{\"command\":\"git push origin main\"}}' | .\u002Fpre-tool-use.sh\n# Expected: exit 2, protected branch message\n```\n\n**2. Allow push to main with GIT_BIGPOWERS_LAND=1:**\n```bash\nGIT_BIGPOWERS_LAND=1 echo '{\"tool_input\":{\"command\":\"git push origin main\"}}' | .\u002Fpre-tool-use.sh\n# Expected: exit 0 (when on main)\n```\n\n**3. Allow push to feature branch:**\n```bash\necho '{\"tool_input\":{\"command\":\"git push -u origin feat\u002Fmy-task\"}}' | .\u002Fpre-tool-use.sh\n# Expected: exit 0\n```\n\n**4. Conventional Commits (Gemini mode):**\n```bash\necho '{\"tool_input\":{\"command\":\"git commit -m \\\"bad message\\\"\"}}' | GIT_GUARDRAILS_MODE=gemini .\u002Fpre-tool-use.sh\n# Expected: exit 0, {\"decision\":\"deny\", \"reason\":\"...\"}\n```\n\n**5. Protected Branch commit (Cursor mode):**\n```bash\n# Run on 'main' branch\necho '{\"command\":\"git commit -m \\\"feat: valid message\\\"\"}' | GIT_GUARDRAILS_MODE=cursor .\u002Fpre-tool-use.sh\n# Expected: exit 2, \"Direct commits to protected branch 'main' are forbidden\"\n```\n\n**6. Land script exists:**\n```bash\ntest -x scripts\u002Fland-branch.sh && echo OK\n```\n\n**7. Allow (Gemini mode):**\n```bash\necho '{\"tool_input\":{\"command\":\"git status\"}}' | GIT_GUARDRAILS_MODE=gemini .\u002Fpre-tool-use.sh\n# Expected: exit 0, {\"decision\":\"allow\"}\n```\n","# Guard Git\n> **HARD GATE** — **HARD GATE** — Before committing, verify: branch is not main\u002Fmaster, author is correct, git user is configured. Bad commits are hard to fix.\n\n\nInstalls a shared hook that blocks destructive git operations and enforces workflow discipline. **Requires `jq` on the agent's PATH** when the hook runs.\n\n## What gets blocked\u002Fenforced\n\n- **Safety**: force push (`-f`, `--force`, `+refspec`), `reset` with `--hard`, `clean` with any `-f*`, `branch -D` \u002F `--delete --force`, `checkout`\u002F`restore` that discard work (`-f`, `.` pathspec).\n- **Argv, not substrings**: the hook tokenizes each command, strips git's global options (`-C \u003Cpath>`, `-c k=v`, `--no-pager`, `--git-dir=…`) and judges the `(subcommand, arguments)` pair — so `git -C repo reset -q --hard` is blocked, while `git push --force-with-lease` is allowed. Rules live in `scripts\u002Flib\u002Fgit-argv.py`, mirrored in `extensions\u002Fomp-hooks.ts`; `scripts\u002Ftest-guard-git-normalize.sh` fails if the two disagree.\n- **Discipline**: Blocks direct commits or pushes to protected branches (`main`, `master`) unless `GIT_BIGPOWERS_LAND=1` (set only by `scripts\u002Fland-branch.sh`).\n- **Allows**: `git push origin \u003Cfeature-branch>` for backup\u002FCI; solo land push to `main` only inside `land-branch.sh`.\n- **Standardization**: Enforces [Conventional Commits](https:\u002F\u002Fwww.conventionalcommits.org\u002F) for all `git commit` commands.\n- **Secrets**: Blocks commits containing common secret patterns (`sk-`, `ghp_`, `AKIA`, `xoxb-`, `-----BEGIN` private keys) — see [REFERENCE.md](REFERENCE.md).\n\n## Quick start\n\n1. **Scope**: ask project-only vs global (paths differ per product).\n2. **Write the hook bundle** from [REFERENCE.md](REFERENCE.md) into the client's hooks directory.\n3. **Run `chmod +x`** on `pre-tool-use.sh`.\n4. **Merge** the hook snippet from [REFERENCE.md](REFERENCE.md) into the right settings file — do not wipe unrelated keys.\n5. **Verify** with the tests in [REFERENCE.md](REFERENCE.md).\n\n| Client | Mechanism | Config |\n|--------|-----------|--------|\n| Claude Code | `PreToolUse` (Bash) | `.claude\u002Fsettings.json` or `~\u002F.claude\u002Fsettings.json` |\n| Cursor \u002F Cursor CLI | `beforeShellExecution` | `.cursor\u002Fhooks.json` or `~\u002F.cursor\u002Fhooks.json` |\n| Gemini CLI | `BeforeTool` + `run_shell_command` | `.gemini\u002Fsettings.json` or `~\u002F.gemini\u002Fsettings.json` |\n| Google Antigravity | Built-in Terminal **Deny list** | Settings UI (no shell hook) |\n\n**Modes (env on the hook command):** `GIT_GUARDRAILS_MODE` is `claude` (default) or `cursor` → stderr + exit `2` on block. Set `gemini` for Gemini CLI → JSON `decision` on stdout.\n\n## Customization\n\nThe rule table lives in `scripts\u002Flib\u002Fgit-argv.py` (shell hooks) and is mirrored in `extensions\u002Fomp-hooks.ts`. Add a rule to both and a row to `specs\u002Fverifications\u002Ffixtures\u002Fguard-git-normalize.yaml`.\n\nThe TS side is judged through `evaluateBashCall()` — the single pure function the `tool_call` handler calls — so the fixture covers **every** rule (destructive argv, protected-branch push, Conventional Commits), not just the argv table. The gate (`bash scripts\u002Ftest-guard-git-normalize.sh`) runs both implementations with `GIT_BIGPOWERS_LAND` unset and fails if they disagree, so a verdict can never depend on the developer's shell.\n\nProtected-branch rules answer differently on `main` than on a feature branch, so a row that touches commit\u002Fpush semantics states its `branch:` and both sides are run in it (the shell hook in a throwaway repo checked out on that branch). A row without `branch:` is judged on a feature branch. Do not pin the branch inside either implementation — that is what made the gate pass on PRs and fail on `main`.\n\n## Advanced\n\nFull JSON examples, merge rules, Antigravity deny-list entries, and test commands: [REFERENCE.md](REFERENCE.md).\n\n\n\n\u003C!-- story: e01s03 -->\n\n---\n\n# Git guardrails — reference\n\n## Navigation\n\n| Lines | Section |\n|-------|---------|\n| 1 | Title |\n| 3–16 | Navigation |\n| 17–28 | Secret patterns (audit + pre-commit) |\n| 29–46 | Copy layout |\n| 47–72 | Claude Code |\n| 73–94 | Cursor and Cursor CLI |\n| 95–122 | Gemini CLI |\n| 123–137 | Google Antigravity |\n| 138–180 | Verify (local tests) |\n\n## Secret patterns (audit + pre-commit)\n\nAgents must not commit files containing:\n\n- `sk-` (OpenAI API keys)\n- `ghp_` \u002F `gho_` (GitHub tokens)\n- `AKIA` (AWS access key id)\n- `xoxb-` (Slack bot tokens)\n- `-----BEGIN` private keys\n\nUse `audit-code` supply-chain checklist before commit. Consider `git-secrets` or custom pre-commit hook in target projects.\n\n## Copy layout\n\nThe main script is `pre-tool-use.sh`.\n\n```text\n\u003Chooks-dir>\u002Fpre-tool-use.sh\n```\n\nExample project locations:\n\n- Claude: `.claude\u002Fhooks\u002F`\n- Cursor: `.cursor\u002Fhooks\u002F`\n- Gemini: `.gemini\u002Fhooks\u002F`\n\nUse the same layout for user-level hooks (`~\u002F.claude\u002Fhooks`, `~\u002F.cursor\u002Fhooks`, `~\u002F.gemini\u002Fhooks`).\n\n---\n\n## Claude Code\n\nHook command does **not** need `GIT_GUARDRAILS_MODE` (defaults to `claude`).\n\n**Project** (`.claude\u002Fsettings.json`):\n\n```json\n{\n  \"hooks\": {\n    \"PreToolUse\": [\n      {\n        \"matcher\": \"Bash\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"\\\"$CLAUDE_PROJECT_DIR\\\"\u002F.claude\u002Fhooks\u002Fpre-tool-use.sh\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n---\n\n## Cursor and Cursor CLI\n\nUse `beforeShellExecution`. Set `GIT_GUARDRAILS_MODE=cursor`.\n\n**Project** (`.cursor\u002Fhooks.json`):\n\n```json\n{\n  \"version\": 1,\n  \"hooks\": {\n    \"beforeShellExecution\": [\n      {\n        \"command\": \"GIT_GUARDRAILS_MODE=cursor .cursor\u002Fhooks\u002Fpre-tool-use.sh\",\n        \"matcher\": \"git\"\n      }\n    ]\n  }\n}\n```\n\n---\n\n## Gemini CLI\n\nUse `BeforeTool` with matcher `run_shell_command`. Set **`GIT_GUARDRAILS_MODE=gemini`**.\n\n**Project** (`.gemini\u002Fsettings.json`):\n\n```json\n{\n  \"hooks\": {\n    \"BeforeTool\": [\n      {\n        \"matcher\": \"run_shell_command\",\n        \"hooks\": [\n          {\n            \"name\": \"git-guardrails\",\n            \"type\": \"command\",\n            \"command\": \"GIT_GUARDRAILS_MODE=gemini \\\"$GEMINI_PROJECT_DIR\\\"\u002F.gemini\u002Fhooks\u002Fpre-tool-use.sh\",\n            \"timeout\": 5000\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n---\n\n## Google Antigravity\n\nAdd **Deny list** entries in **Antigravity → Settings → Terminal**:\n\n- `git push --force`\n- `git push origin main`\n- `git push origin master`\n- `git reset --hard`\n- `git clean`\n- `git branch -D`\n- `git checkout .`\n- `git restore .`\n\n---\n\n## Verify (local tests)\n\n**1. Block push to main without land mode (Claude mode):**\n```bash\necho '{\"tool_input\":{\"command\":\"git push origin main\"}}' | .\u002Fpre-tool-use.sh\n# Expected: exit 2, protected branch message\n```\n\n**2. Allow push to main with GIT_BIGPOWERS_LAND=1:**\n```bash\nGIT_BIGPOWERS_LAND=1 echo '{\"tool_input\":{\"command\":\"git push origin main\"}}' | .\u002Fpre-tool-use.sh\n# Expected: exit 0 (when on main)\n```\n\n**3. Allow push to feature branch:**\n```bash\necho '{\"tool_input\":{\"command\":\"git push -u origin feat\u002Fmy-task\"}}' | .\u002Fpre-tool-use.sh\n# Expected: exit 0\n```\n\n**4. Conventional Commits (Gemini mode):**\n```bash\necho '{\"tool_input\":{\"command\":\"git commit -m \\\"bad message\\\"\"}}' | GIT_GUARDRAILS_MODE=gemini .\u002Fpre-tool-use.sh\n# Expected: exit 0, {\"decision\":\"deny\", \"reason\":\"...\"}\n```\n\n**5. Protected Branch commit (Cursor mode):**\n```bash\n# Run on 'main' branch\necho '{\"command\":\"git commit -m \\\"feat: valid message\\\"\"}' | GIT_GUARDRAILS_MODE=cursor .\u002Fpre-tool-use.sh\n# Expected: exit 2, \"Direct commits to protected branch 'main' are forbidden\"\n```\n\n**6. Land script exists:**\n```bash\ntest -x scripts\u002Fland-branch.sh && echo OK\n```\n\n**7. Allow (Gemini mode):**\n```bash\necho '{\"tool_input\":{\"command\":\"git status\"}}' | GIT_GUARDRAILS_MODE=gemini .\u002Fpre-tool-use.sh\n# Expected: exit 0, {\"decision\":\"allow\"}\n```\n",{"name":5,"model":31,"description":7},"main","72f5e4c8b43f60cf86b37078ad8cd7e22daf67aa",".codebuddy\u002Fskills\u002Fguard-git",24,"https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers","https:\u002F\u002Fdanielvm-git.github.io\u002Fbigpowers\u002F","https:\u002F\u002Fgithub.com\u002Fdanielvm-git","danielvm.net","2026-11-10 01:18:54",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add danielvm-git\u002Fbigpowers --skill guard-git",{"tool":64,"command":65},"bunx","bunx skills add danielvm-git\u002Fbigpowers --skill guard-git",{"tool":67,"command":68},"pnpm","pnpm dlx skills add danielvm-git\u002Fbigpowers --skill guard-git","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.codebuddy\u002Fskills\u002Fguard-git\u002FSKILL.md",true,[],[73,94,101,129,150,170],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":84,"publishedAt":44},"01M71KBG9F8X644MJB16H4V8M7","skill-verify-fail-open-fixture","Negative-path fixture for run-skill-verify.sh — must never PASS.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fspecs\u002Fverifications\u002Ffixtures\u002Fskill-verify-fail-open\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[85,86,87,88,89,90,91,92,93],"fixture","open","verify","skill verify fail open fixture","skill verify","path","run","for","never",{"skillNo":95,"name":96,"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":97,"categories":98,"keywords":99,"publishedAt":44},"01M71KBE3BKEMKNE0C5DGVDWZH","negative-path","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fspecs\u002Fverifications\u002Ffixtures\u002Fnegative-path\u002FSKILL.md",[],[100,90],"negative path",{"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":110,"publishedAt":44},"01M71KBBGF7Y4EB4AMHBZ8CJFC","write-document","Write, organize, and sync high-integrity technical documents using the BMAD methodology. Ensures every document is Bold, Minimal, Actionable, and Durable. Use when creating architectural docs, technical guides, or organizing the specs\u002F directory.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-document\u002FSKILL.md",[107],{"categoryNo":108,"categoryName":109,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000002","文档处理",[111,112,113,37,114,115,116,117,118,119,120,36,121,122,123,124,125,126,127,128],"write","write document","document","actionable","technical","methodology","high","bmad","standard","use","minimal","bold","sonnet","integrity","organize","sync","directory","guides",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":44},"01M71KB8TM089JJD5AY5KAFSDM","wire-observability","Add structured JSON logging, observability commands, and idempotent setup scripts to a project. Use when a project needs production-readiness instrumentation, when user wants structured logging, or as a production-readiness gate at any phase of development.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwire-observability\u002FSKILL.md",[],[136,137,138,119,27,120,139,140,141,142,123,143,144,145,146,147,148,36,149,28],"observability","wire observability","readiness","development","as","logging","add","instrumentation","at","structured logging","production-readiness","idempotent","phase","project",{"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":44},"01M71KB6CNRANP449DQA3NJZ96","wire-ci","CI pipeline setup with bundled, forge-neutral templates and local validation. Detects the forge from the git remote, generates workflows for supported forges, and skips honestly for the rest. The CI equivalent of wire-observability.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwire-ci\u002FSKILL.md",[],[157,158,159,160,161,162,163,164,165,166,167,119,168,92,136,123,26,169],"wire ci","ci","remote","local","pipeline","forge","validation","setup","templates","REST","with","ci pipeline setup","workflows",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":183,"publishedAt":44},"01M71KB2ZV98P03X88QR8MT9F1","visual-dashboard","Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Persists artifacts in .bigpowers\u002Fdashboard\u002F. Reads specs\u002Fstate.yaml, release-plan.yaml, epics, and planning-status via HTTP API or opencode panel.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-dashboard\u002FSKILL.md",[176,179,180],{"categoryNo":177,"categoryName":178,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":181,"categoryName":182,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师",[184,185,186,187,188,189,190,191,192,123,193,194,195,196,197,198,199,149,200,201],"dashboard","visual","visual dashboard","status","artifacts","http","plans","planning","panel","start","release","opencode","plan","browser","api","architecture","project status","http api"]