[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71JMQY5PD8SBD5NKF6ME9FV":3,"skill-same:01M71JMQY5PD8SBD5NKF6ME9FV":78},{"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},"01M71JMQY5PD8SBD5NKF6ME9FV","verify-work",null,"Multi-phase UAT gate — cold-start smoke, build, typecheck, lint, tests, step-by-step manual verification, gaps-closure loop. Use after execute-plan or develop-tdd, before audit-code.","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.pi\u002Fskills\u002Fverify-work\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],"verify work","verify","work","use","tests","manual","smoke","uat","start","audit","typecheck","haiku","plan","verification","phase","code","loop","closure","cold-start","cold","2026-11-10 10:12:30",false,"---\nname: verify-work\nmodel: haiku\ndescription: \"Multi-phase UAT gate — cold-start smoke, build, typecheck, lint, tests, step-by-step manual verification, gaps-closure loop. Use after execute-plan or develop-tdd, before audit-code.\"\n---\n\n\u003C!-- story: e02s01 e46s03 -->\n\u003C!-- story: e38s05 -->\n\u003C!-- story: e45s05 -->\n\u003C!-- story: e45s09 -->\n\u003C!-- story: e45s13 -->\n\u003C!-- story: e45s40 -->\n\u003C!-- story: e51s03 -->\n\u003C!-- story: e20s04 -->\n\u003C!-- story: e20s06 -->\n\n\n# Verify Work\n\n> **HARD GATE** — No story is \"done\" until manual UAT for the active story is confirmed with evidence.\n>\n> **HARD GATE** — Do NOT run on `main` or `master`. Use the feature branch from `kickoff-branch`.\n\nReview answers \"is the code good?\"; Verify answers \"does the built thing do what was promised?\"\n\n## Modes\n\n- Default: full UAT plus gaps loop\n- --smoke: Cold-start only plus one happy-path flow. Use for hotfixes.\n- --cli: CLI tool verification — replaces cold-start with binary smoke checklist. Use for CLI tools with no server process.\n\n## Risk-Scaled Depth\n\n`verify-work` reads the `risk:` field from the story template (defaults to `P1` if absent) to scale verification rigor:\n- **P0**: Full verify-work multi-phase + `security-review` (step 5) + NFR evidence gate (step 5b).\n- **P1**: Standard verify-work (build, test, lint, step-by-step manual).\n- **P2**: Smoke, typecheck, lint only. Skip tests, security scan, and step-by-step manual UAT.\n- **P3**: Typecheck and lint only. Skip smoke, tests, security scan, and step-by-step manual UAT.\n\n## Process\n\n> **Timing:** `bash scripts\u002Fbp-timing.sh start verify-work` at invocation; `bash scripts\u002Fbp-timing.sh end verify-work` before handoff.\n\n0. **Branch check** — must not be `main`\u002F`master`.\n\n0a. **Preflight \u002F CI green (HARD GATE — e51s03)** — Run Preflight from `CLAUDE.md` or `BP_PREFLIGHT` (`bp-read-agents.sh`). If PR open: `gh pr checks` (**CI green**). Failure blocks all phases → `quick-fix` or `fix-bug`.\n\n1. Read active story tasks from `specs\u002Fepics\u002F\u003Ccapsule>\u002FeNNsYY-tasks.yaml` and story spec from `specs\u002Fepics\u002F\u003Ccapsule>\u002FeNNsYY-\u003Cslug>.md` (countable-story-format, Gherkin in §17). Note the `risk:` level (`P0`–`P3`).\n1a. **Pre-UAT verify validation** — for each task's `verify:` command, run it and detect pattern mismatches before UAT begins. If a grep\u002Fawk\u002Fjq command fails, check whether the pattern is wrong vs. a genuine failure:\n    ```bash\n    # For a failing grep -q 'PATTERN' FILE, check what is actually in FILE\n    grep 'PATTERN' FILE || grep -n '' FILE | head -20   # show nearest lines\n    ```\n    Report: `\"Pattern 'X' not found. Nearest match: 'Y' at line N\"` and ask `\"Update verify command? [Y\u002Fn]\"`. Fix before proceeding — a mismatched verify command produces false failures during UAT.\n2. **Cold-start smoke** (if app; skip if P3): stop server, clear caches, boot from scratch.\n3. **AGENTS.md preflight** — if 0a skipped BP_PREFLIGHT, run `bash scripts\u002Fbp-read-agents.sh` and use detected command.\n4. Mechanical gates: build → typecheck → lint → tests (from `CLAUDE.md` or AGENTS.md). Skip tests if P2\u002FP3.\n\n> **HARD GATE — One-test-minimum terminal verdict (e45s13):** At least one mechanical gate MUST be a **real terminal-verdict command** (shell exits 0 or non-zero — not prose, not combined log excerpts). Record that command's stdout\u002Fstderr from a **single contiguous run** in `specs\u002Fverifications\u002FeNNsYY-verify.yaml` under `terminal_verdict`. Bug reports and gap logs MUST NOT merge evidence from multiple runs into one verdict — each failing run gets its own evidence block.\n\n5. **Security scan** (skip if P2\u002FP3) — run `security-review` against the git diff (working tree vs merge-base). Parse findings report. If any HIGH findings with confidence ≥ 8 exist → **block the gate**. Write findings to `specs\u002Fsecurity\u002FREVIEW.md`. Allow documented exceptions via `specs\u002Fsecurity\u002FEXCEPTIONS.md`. MEDIUM\u002FLOW findings warn but don't block.\n5a. **Blind-spot check** — run `bash scripts\u002Fcheck-blind-spots.sh`. This detects structural quality gaps (verify-gap, test-gap, stale-tag, etc.) beyond percentage coverage. If any HIGH-severity findings exist → **block the verify-work PASS gate**. Findings are written to `specs\u002Fblind-spots.json`. MEDIUM\u002FLOW findings warn but don't block.\n5a2. **Completeness critic (e45s05)** — `bash scripts\u002Flib\u002Fcompleteness-critic.sh`. **BLOCKER** aborts merge gate; WARNING → gaps loop; FILLED = evidence only.\n\n5b. **NFR Evidence Gate** (P0 only) — Go\u002Fno-go on Performance, Reliability, Operability against `specs\u002Ftech-architecture\u002FeNN-TEST_PLAN_LATEST.md`. Evidence written to `specs\u002Fverifications\u002FNFR-eNNsYY.json`. FAIL blocks gate.\n5c. **Adversarial Defect Mutation Gate (HARD GATE — e86 \u002F ab-20)** — `bash scripts\u002Fverify-adversarial.sh`. Boundary fuzzing & parameter injection against modified interfaces. Crashes or failures block PASS gate; evidence in `specs\u002Fverifications\u002FADVERSARIAL_LATEST.yaml`.\n6. **Step-by-step UAT** (skip if P2\u002FP3) — one user-observable action at a time.\n7. **Gaps loop** — failures → log → `plan-work` → re-verify. Unaddressed HIGH findings from step 5 feed into this loop alongside other quality gaps.\n\n7a. **Validation gate (e45s09)** — All tasks `status: passing`; evidence in `specs\u002Fverifications\u002F`; update `execution-status.yaml`.\n7b. **Reopen-don't-refile (e45s09)** — Regressions reopen existing story\u002Fbug — no duplicate capsule entries.\n\n## Verify sub-operations\n\n### Cold-Start Smoke (absorbed)\n\nStop server, clear caches, boot from scratch; confirm no stale config affects behavior.\n\n### Gaps Loop (absorbed)\n\nAfter UAT, identify and close any gaps between promised behavior and actual behavior:\n\n- Capture what was promised in the epic task description\n- Document what actually happened (expected vs actual)\n- If behavior doesn't match the promises, log the gap\n- Loop back to `plan-work` or `develop-tdd` to fix the gap\n- Re-verify until all gaps are closed (gaps count = 0)\n\n## UAT dialogue\n\n- Pass: user confirms per step.\n- Fail: capture expected vs actual; do not mark done in `execution-status.yaml`.\n\n## Persist verification evidence\n\nAfter UAT passes, write structured evidence to `specs\u002Fverifications\u002FeNNsYY-verify.yaml`:\n\n```yaml\nstory_id: e01s01\nverified_at: \"2026-06-11T14:30:00Z\"\nverifier: verify-work\nphases:\n  smoke:\n    passed: true\n  build:\n    passed: true\n    command: \"npm run build\"\n  typecheck:\n    passed: true\n  lint:\n    passed: true\n  tests:\n    passed: true\n    coverage: \"94.2%\"\n  terminal_verdict:\n    command: \"npm test\"\n    exit_code: 0\n    captured_at: \"2026-06-11T14:25:00Z\"\n    note: \"Single run — do not merge output from other attempts\"\n  manual:\n    steps:\n      - step: \"Open \u002Flogin\"\n        expected: \"Login form renders\"\n        actual: \"Login form rendered correctly\"\n        passed: true\n  gaps:\n    closed: true\n```\n\n### 5b. OKF wiki LINT (e39s08)\n\n```bash\nfor p in specs\u002Fskills-wiki\u002Fskills\u002F*.md; do s=\"skills\u002F$(basename \"$p\" .md)\u002FSKILL.md\"; [ -f \"$s\" ]&&[ \"$p\" -ot \"$s\" ]&&echo \"STALE: $p\"; done\nfor p in specs\u002Fconventions-wiki\u002F*.md; do [ \"$(basename \"$p\")\" = \"index.md\" ]&&continue; grep -q \"$(basename \"$p\" .md)\" CONVENTIONS.md||echo \"ORPHAN: $p\"; done\n```\n\n> **HARD GATE** — Verification evidence MUST be persisted before marking the story done. No evidence = not verified.\n\n## --cli mode\n\nCLI tools: use `--cli` when no server process. Binary detect + checklist: [REFERENCE.md](..\u002F..\u002F..\u002Fskills\u002Fverify-work\u002FREFERENCE.md#cli-mode).\n\n## Verify\n\n→ verify: `find specs\u002Fverifications -maxdepth 1 -name '*-verify.yaml' 2>\u002Fdev\u002Fnull | grep -q .`\n\n## Handoff\nREADY -> next: audit-code\nWrites: state.yaml handoff.next_skill = audit-code\n\n---\n\n# Verify Work — Reference\n\n## Cold-start smoke\n\n```bash\n# Example — adapt to project CLAUDE.md\npkill -f \"\u003Cdev-server>\" 2>\u002Fdev\u002Fnull || true\nrm -rf .next\u002Fcache node_modules\u002F.cache 2>\u002Fdev\u002Fnull || true\n\u003Crun command> &\nsleep 3 && curl -sf http:\u002F\u002Flocalhost:\u003Cport>\u002Fhealth || echo \"BOOT FAIL\"\n```\n\n## Gaps template\n\n```markdown\n## Gaps (verify-work)\n\n| Step | Expected | Actual | Status |\n|------|----------|--------|--------|\n| 1 | ... | ... | FAIL |\n```\n\nFeed gaps to `plan-work` as new steps with verify commands, then re-run verify-work.\n\n## CLI mode\n\nFor CLI tools where cold-start smoke does not apply. Auto-detected when no server process; or use `--cli`.\n\n**Auto-detect binary name:**\n```bash\nBINARY=$(grep '^name' Cargo.toml | head -1 | awk -F'\"' '{print $2}')  # Cargo\nBINARY=$(node -e \"console.log(require('.\u002Fpackage.json').bin && Object.keys(require('.\u002Fpackage.json').bin)[0] || '')\" 2>\u002Fdev\u002Fnull)\nBINARY=$(grep '^BIN\\s*=' Makefile 2>\u002Fdev\u002Fnull | awk '{print $3}')\n```\n\n**Checklist (replaces cold-start smoke):**\n1. `$BINARY --help` → output contains \"Usage\"\n2. `$BINARY --version` → matches manifest\n3. README example command → non-empty output\n4. `$BINARY --invalid-flag` → exit ≠ 0 with error message\n","\u003C!-- story: e02s01 e46s03 -->\n\u003C!-- story: e38s05 -->\n\u003C!-- story: e45s05 -->\n\u003C!-- story: e45s09 -->\n\u003C!-- story: e45s13 -->\n\u003C!-- story: e45s40 -->\n\u003C!-- story: e51s03 -->\n\u003C!-- story: e20s04 -->\n\u003C!-- story: e20s06 -->\n\n\n# Verify Work\n\n> **HARD GATE** — No story is \"done\" until manual UAT for the active story is confirmed with evidence.\n>\n> **HARD GATE** — Do NOT run on `main` or `master`. Use the feature branch from `kickoff-branch`.\n\nReview answers \"is the code good?\"; Verify answers \"does the built thing do what was promised?\"\n\n## Modes\n\n- Default: full UAT plus gaps loop\n- --smoke: Cold-start only plus one happy-path flow. Use for hotfixes.\n- --cli: CLI tool verification — replaces cold-start with binary smoke checklist. Use for CLI tools with no server process.\n\n## Risk-Scaled Depth\n\n`verify-work` reads the `risk:` field from the story template (defaults to `P1` if absent) to scale verification rigor:\n- **P0**: Full verify-work multi-phase + `security-review` (step 5) + NFR evidence gate (step 5b).\n- **P1**: Standard verify-work (build, test, lint, step-by-step manual).\n- **P2**: Smoke, typecheck, lint only. Skip tests, security scan, and step-by-step manual UAT.\n- **P3**: Typecheck and lint only. Skip smoke, tests, security scan, and step-by-step manual UAT.\n\n## Process\n\n> **Timing:** `bash scripts\u002Fbp-timing.sh start verify-work` at invocation; `bash scripts\u002Fbp-timing.sh end verify-work` before handoff.\n\n0. **Branch check** — must not be `main`\u002F`master`.\n\n0a. **Preflight \u002F CI green (HARD GATE — e51s03)** — Run Preflight from `CLAUDE.md` or `BP_PREFLIGHT` (`bp-read-agents.sh`). If PR open: `gh pr checks` (**CI green**). Failure blocks all phases → `quick-fix` or `fix-bug`.\n\n1. Read active story tasks from `specs\u002Fepics\u002F\u003Ccapsule>\u002FeNNsYY-tasks.yaml` and story spec from `specs\u002Fepics\u002F\u003Ccapsule>\u002FeNNsYY-\u003Cslug>.md` (countable-story-format, Gherkin in §17). Note the `risk:` level (`P0`–`P3`).\n1a. **Pre-UAT verify validation** — for each task's `verify:` command, run it and detect pattern mismatches before UAT begins. If a grep\u002Fawk\u002Fjq command fails, check whether the pattern is wrong vs. a genuine failure:\n    ```bash\n    # For a failing grep -q 'PATTERN' FILE, check what is actually in FILE\n    grep 'PATTERN' FILE || grep -n '' FILE | head -20   # show nearest lines\n    ```\n    Report: `\"Pattern 'X' not found. Nearest match: 'Y' at line N\"` and ask `\"Update verify command? [Y\u002Fn]\"`. Fix before proceeding — a mismatched verify command produces false failures during UAT.\n2. **Cold-start smoke** (if app; skip if P3): stop server, clear caches, boot from scratch.\n3. **AGENTS.md preflight** — if 0a skipped BP_PREFLIGHT, run `bash scripts\u002Fbp-read-agents.sh` and use detected command.\n4. Mechanical gates: build → typecheck → lint → tests (from `CLAUDE.md` or AGENTS.md). Skip tests if P2\u002FP3.\n\n> **HARD GATE — One-test-minimum terminal verdict (e45s13):** At least one mechanical gate MUST be a **real terminal-verdict command** (shell exits 0 or non-zero — not prose, not combined log excerpts). Record that command's stdout\u002Fstderr from a **single contiguous run** in `specs\u002Fverifications\u002FeNNsYY-verify.yaml` under `terminal_verdict`. Bug reports and gap logs MUST NOT merge evidence from multiple runs into one verdict — each failing run gets its own evidence block.\n\n5. **Security scan** (skip if P2\u002FP3) — run `security-review` against the git diff (working tree vs merge-base). Parse findings report. If any HIGH findings with confidence ≥ 8 exist → **block the gate**. Write findings to `specs\u002Fsecurity\u002FREVIEW.md`. Allow documented exceptions via `specs\u002Fsecurity\u002FEXCEPTIONS.md`. MEDIUM\u002FLOW findings warn but don't block.\n5a. **Blind-spot check** — run `bash scripts\u002Fcheck-blind-spots.sh`. This detects structural quality gaps (verify-gap, test-gap, stale-tag, etc.) beyond percentage coverage. If any HIGH-severity findings exist → **block the verify-work PASS gate**. Findings are written to `specs\u002Fblind-spots.json`. MEDIUM\u002FLOW findings warn but don't block.\n5a2. **Completeness critic (e45s05)** — `bash scripts\u002Flib\u002Fcompleteness-critic.sh`. **BLOCKER** aborts merge gate; WARNING → gaps loop; FILLED = evidence only.\n\n5b. **NFR Evidence Gate** (P0 only) — Go\u002Fno-go on Performance, Reliability, Operability against `specs\u002Ftech-architecture\u002FeNN-TEST_PLAN_LATEST.md`. Evidence written to `specs\u002Fverifications\u002FNFR-eNNsYY.json`. FAIL blocks gate.\n5c. **Adversarial Defect Mutation Gate (HARD GATE — e86 \u002F ab-20)** — `bash scripts\u002Fverify-adversarial.sh`. Boundary fuzzing & parameter injection against modified interfaces. Crashes or failures block PASS gate; evidence in `specs\u002Fverifications\u002FADVERSARIAL_LATEST.yaml`.\n6. **Step-by-step UAT** (skip if P2\u002FP3) — one user-observable action at a time.\n7. **Gaps loop** — failures → log → `plan-work` → re-verify. Unaddressed HIGH findings from step 5 feed into this loop alongside other quality gaps.\n\n7a. **Validation gate (e45s09)** — All tasks `status: passing`; evidence in `specs\u002Fverifications\u002F`; update `execution-status.yaml`.\n7b. **Reopen-don't-refile (e45s09)** — Regressions reopen existing story\u002Fbug — no duplicate capsule entries.\n\n## Verify sub-operations\n\n### Cold-Start Smoke (absorbed)\n\nStop server, clear caches, boot from scratch; confirm no stale config affects behavior.\n\n### Gaps Loop (absorbed)\n\nAfter UAT, identify and close any gaps between promised behavior and actual behavior:\n\n- Capture what was promised in the epic task description\n- Document what actually happened (expected vs actual)\n- If behavior doesn't match the promises, log the gap\n- Loop back to `plan-work` or `develop-tdd` to fix the gap\n- Re-verify until all gaps are closed (gaps count = 0)\n\n## UAT dialogue\n\n- Pass: user confirms per step.\n- Fail: capture expected vs actual; do not mark done in `execution-status.yaml`.\n\n## Persist verification evidence\n\nAfter UAT passes, write structured evidence to `specs\u002Fverifications\u002FeNNsYY-verify.yaml`:\n\n```yaml\nstory_id: e01s01\nverified_at: \"2026-06-11T14:30:00Z\"\nverifier: verify-work\nphases:\n  smoke:\n    passed: true\n  build:\n    passed: true\n    command: \"npm run build\"\n  typecheck:\n    passed: true\n  lint:\n    passed: true\n  tests:\n    passed: true\n    coverage: \"94.2%\"\n  terminal_verdict:\n    command: \"npm test\"\n    exit_code: 0\n    captured_at: \"2026-06-11T14:25:00Z\"\n    note: \"Single run — do not merge output from other attempts\"\n  manual:\n    steps:\n      - step: \"Open \u002Flogin\"\n        expected: \"Login form renders\"\n        actual: \"Login form rendered correctly\"\n        passed: true\n  gaps:\n    closed: true\n```\n\n### 5b. OKF wiki LINT (e39s08)\n\n```bash\nfor p in specs\u002Fskills-wiki\u002Fskills\u002F*.md; do s=\"skills\u002F$(basename \"$p\" .md)\u002FSKILL.md\"; [ -f \"$s\" ]&&[ \"$p\" -ot \"$s\" ]&&echo \"STALE: $p\"; done\nfor p in specs\u002Fconventions-wiki\u002F*.md; do [ \"$(basename \"$p\")\" = \"index.md\" ]&&continue; grep -q \"$(basename \"$p\" .md)\" CONVENTIONS.md||echo \"ORPHAN: $p\"; done\n```\n\n> **HARD GATE** — Verification evidence MUST be persisted before marking the story done. No evidence = not verified.\n\n## --cli mode\n\nCLI tools: use `--cli` when no server process. Binary detect + checklist: [REFERENCE.md](..\u002F..\u002F..\u002Fskills\u002Fverify-work\u002FREFERENCE.md#cli-mode).\n\n## Verify\n\n→ verify: `find specs\u002Fverifications -maxdepth 1 -name '*-verify.yaml' 2>\u002Fdev\u002Fnull | grep -q .`\n\n## Handoff\nREADY -> next: audit-code\nWrites: state.yaml handoff.next_skill = audit-code\n\n---\n\n# Verify Work — Reference\n\n## Cold-start smoke\n\n```bash\n# Example — adapt to project CLAUDE.md\npkill -f \"\u003Cdev-server>\" 2>\u002Fdev\u002Fnull || true\nrm -rf .next\u002Fcache node_modules\u002F.cache 2>\u002Fdev\u002Fnull || true\n\u003Crun command> &\nsleep 3 && curl -sf http:\u002F\u002Flocalhost:\u003Cport>\u002Fhealth || echo \"BOOT FAIL\"\n```\n\n## Gaps template\n\n```markdown\n## Gaps (verify-work)\n\n| Step | Expected | Actual | Status |\n|------|----------|--------|--------|\n| 1 | ... | ... | FAIL |\n```\n\nFeed gaps to `plan-work` as new steps with verify commands, then re-run verify-work.\n\n## CLI mode\n\nFor CLI tools where cold-start smoke does not apply. Auto-detected when no server process; or use `--cli`.\n\n**Auto-detect binary name:**\n```bash\nBINARY=$(grep '^name' Cargo.toml | head -1 | awk -F'\"' '{print $2}')  # Cargo\nBINARY=$(node -e \"console.log(require('.\u002Fpackage.json').bin && Object.keys(require('.\u002Fpackage.json').bin)[0] || '')\" 2>\u002Fdev\u002Fnull)\nBINARY=$(grep '^BIN\\s*=' Makefile 2>\u002Fdev\u002Fnull | awk '{print $3}')\n```\n\n**Checklist (replaces cold-start smoke):**\n1. `$BINARY --help` → output contains \"Usage\"\n2. `$BINARY --version` → matches manifest\n3. README example command → non-empty output\n4. `$BINARY --invalid-flag` → exit ≠ 0 with error message\n",{"name":5,"model":35,"description":7},"main","72f5e4c8b43f60cf86b37078ad8cd7e22daf67aa",".pi\u002Fskills\u002Fverify-work",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 verify-work",{"tool":64,"command":65},"bunx","bunx skills add danielvm-git\u002Fbigpowers --skill verify-work",{"tool":67,"command":68},"pnpm","pnpm dlx skills add danielvm-git\u002Fbigpowers --skill verify-work","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.pi\u002Fskills\u002Fverify-work\u002FSKILL.md",true,[72],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"REFERENCE.md","REFERENCE","参考文档",1220,"https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.pi\u002Fskills\u002Fverify-work\u002FREFERENCE.md",[79,99,106,135,157,178],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":90,"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",[85],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[91,92,25,93,94,95,96,97,98],"fixture","open","skill verify fail open fixture","skill verify","path","run","for","never",{"skillNo":100,"name":101,"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":102,"categories":103,"keywords":104,"publishedAt":44},"01M71KBE3BKEMKNE0C5DGVDWZH","negative-path","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fspecs\u002Fverifications\u002Ffixtures\u002Fnegative-path\u002FSKILL.md",[],[105,95],"negative path",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":115,"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",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000002","文档处理",[116,117,118,119,120,121,122,123,124,125,27,126,127,128,129,130,131,132,133,134],"write","write document","document","documents","actionable","technical","methodology","high","bmad","standard","when","minimal","bold","sonnet","integrity","organize","sync","directory","guides",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"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",[],[142,143,144,125,145,27,146,147,148,149,129,150,151,152,153,154,38,126,155,156],"observability","wire observability","readiness","commands","development","as","logging","add","instrumentation","at","structured logging","production-readiness","idempotent","project","scripts",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"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",[],[164,165,166,167,168,169,170,171,172,173,174,125,175,97,142,129,176,177],"wire ci","ci","remote","local","pipeline","forge","validation","setup","templates","REST","with","ci pipeline setup","git","workflows",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":191,"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",[184,187,188],{"categoryNo":185,"categoryName":186,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":189,"categoryName":190,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师",[192,193,194,195,196,197,198,199,200,129,32,201,202,36,203,204,205,155,206,207],"dashboard","visual","visual dashboard","status","artifacts","http","plans","planning","panel","release","opencode","browser","api","architecture","project status","http api"]