[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HFPKN3RH22AFK8JSSGAT2":3,"skill-same:01M71HFPKN3RH22AFK8JSSGAT2":75},{"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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":57,"ownerHtmlUrl":58,"ownerBlogUrl":59,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M71HFPKN3RH22AFK8JSSGAT2","trace-requirement",null,"Link story IDs from specs\u002Frelease-plan.yaml + epic capsule directories to the implementing code and tests. Produces specs\u002FTRACEABILITY_LATEST.md. Use when you want to verify coverage of a release plan, audit which stories are implemented, or find \"dark\" stories with no code.","danielvm-git\u002Fbigpowers","danielvm-git","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1020864?v=4","01M71H1N1CTQ529S0KN7KETVG6","Daniel V M","01M71H1N218Y3S8WHCJ58NPRSW",289,"MIT","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.codebuddy\u002Fskills\u002Ftrace-requirement\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000031","产品经理",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"trace","trace requirement","implementing code","traceability","dark","release plan","no code","release","audit","haiku","verify coverage","plan","code","you","when","implementing","ids","directories","which","coverage","2026-11-10 10:12:30",false,"---\nname: trace-requirement\nmodel: haiku\ndescription: \"Link story IDs from specs\u002Frelease-plan.yaml + epic capsule directories to the implementing code and tests. Produces specs\u002FTRACEABILITY_LATEST.md. Use when you want to verify coverage of a release plan, audit which stories are implemented, or find \\\"dark\\\" stories with no code.\"\n---\n\n# Trace Requirement\n\nBuild a traceability matrix from `specs\u002Frelease-plan.yaml + epic capsule directories` to implementing code and tests. Surfaces gaps in both directions: stories with no code, and code with no story.\n\n## Pre-flight\n\n> **HARD GATE** — `specs\u002Frelease-plan.yaml + epic capsule directories` must exist. If it doesn't, run `plan-release` first.\n\n→ verify: `test -f specs\u002Frelease-plan.yaml && test -d specs\u002Fepics`\n\nRead `specs\u002Frelease-plan.yaml + epic capsule directories` fully before proceeding.\n\n## Process\n\n### 1. Extract story IDs\n\nFrom release-plan.yaml, collect all story IDs (e.g. `1.1`, `1.2`, `2.1`).\n\n→ verify: `grep -rho 'e[0-9]\\+s[0-9]\\+' specs\u002Frelease-plan.yaml specs\u002Fepics\u002F*\u002Fepic.yaml 2>\u002Fdev\u002Fnull | sort -u | head -1 | grep -q .`\n\n### 2. Search for story tags in code\n\nLook for `\u002F\u002F story: X.Y` or `# story: X.Y` comments in source files and tests:\n\n```\ngrep -rn \"story: \" . --include=\"*.ts\" --include=\"*.js\" --include=\"*.py\" --include=\"*.sh\" | grep -v node_modules\n```\n\n→ verify: `[ \"$(grep -rl \"story: \" . --include=\"*.ts\" --include=\"*.sh\" --include=\"*.py\" 2>\u002Fdev\u002Fnull | wc -l | tr -d \" \")\" -gt 0 ]`\n\n### 3. Build the matrix\n\nFor each story ID:\n- **Implemented**: list files that contain `\u002F\u002F story: X.Y`\n- **Tested**: list test files that contain `\u002F\u002F story: X.Y`\n- **Dark**: story has no tag in any file — flag as unimplemented\n\nFor each tagged file with no matching story ID in release-plan.yaml:\n- **Orphan**: code exists but story was removed or never planned — flag for cleanup\n\n### 4. Write specs\u002FTRACEABILITY_LATEST.md\n\n```\n## Story Coverage\n\n| Story | Title              | Files | Tests | Status    |\n|-------|--------------------|-------|-------|-----------|\n| 1.1   | [title]            | 2     | 1     | Covered   |\n| 1.2   | [title]            | 0     | 0     | Dark      |\n\n## Orphan Code (no story tag)\n- [file]: contains untagged implementation\n\n## Gaps (dark stories)\n- Story 1.2: no implementation found → run plan-work\n\n## Coverage summary\nStories: [X] covered \u002F [Y] dark \u002F [Z] total\n```\n\n→ verify: `grep -c \"Covered\\|Dark\" specs\u002FTRACEABILITY_LATEST.md`\n\nSuggest `plan-work` for each dark story found.\n","# Trace Requirement\n\nBuild a traceability matrix from `specs\u002Frelease-plan.yaml + epic capsule directories` to implementing code and tests. Surfaces gaps in both directions: stories with no code, and code with no story.\n\n## Pre-flight\n\n> **HARD GATE** — `specs\u002Frelease-plan.yaml + epic capsule directories` must exist. If it doesn't, run `plan-release` first.\n\n→ verify: `test -f specs\u002Frelease-plan.yaml && test -d specs\u002Fepics`\n\nRead `specs\u002Frelease-plan.yaml + epic capsule directories` fully before proceeding.\n\n## Process\n\n### 1. Extract story IDs\n\nFrom release-plan.yaml, collect all story IDs (e.g. `1.1`, `1.2`, `2.1`).\n\n→ verify: `grep -rho 'e[0-9]\\+s[0-9]\\+' specs\u002Frelease-plan.yaml specs\u002Fepics\u002F*\u002Fepic.yaml 2>\u002Fdev\u002Fnull | sort -u | head -1 | grep -q .`\n\n### 2. Search for story tags in code\n\nLook for `\u002F\u002F story: X.Y` or `# story: X.Y` comments in source files and tests:\n\n```\ngrep -rn \"story: \" . --include=\"*.ts\" --include=\"*.js\" --include=\"*.py\" --include=\"*.sh\" | grep -v node_modules\n```\n\n→ verify: `[ \"$(grep -rl \"story: \" . --include=\"*.ts\" --include=\"*.sh\" --include=\"*.py\" 2>\u002Fdev\u002Fnull | wc -l | tr -d \" \")\" -gt 0 ]`\n\n### 3. Build the matrix\n\nFor each story ID:\n- **Implemented**: list files that contain `\u002F\u002F story: X.Y`\n- **Tested**: list test files that contain `\u002F\u002F story: X.Y`\n- **Dark**: story has no tag in any file — flag as unimplemented\n\nFor each tagged file with no matching story ID in release-plan.yaml:\n- **Orphan**: code exists but story was removed or never planned — flag for cleanup\n\n### 4. Write specs\u002FTRACEABILITY_LATEST.md\n\n```\n## Story Coverage\n\n| Story | Title              | Files | Tests | Status    |\n|-------|--------------------|-------|-------|-----------|\n| 1.1   | [title]            | 2     | 1     | Covered   |\n| 1.2   | [title]            | 0     | 0     | Dark      |\n\n## Orphan Code (no story tag)\n- [file]: contains untagged implementation\n\n## Gaps (dark stories)\n- Story 1.2: no implementation found → run plan-work\n\n## Coverage summary\nStories: [X] covered \u002F [Y] dark \u002F [Z] total\n```\n\n→ verify: `grep -c \"Covered\\|Dark\" specs\u002FTRACEABILITY_LATEST.md`\n\nSuggest `plan-work` for each dark story found.\n",{"name":5,"model":36,"description":7},"main","72f5e4c8b43f60cf86b37078ad8cd7e22daf67aa",".codebuddy\u002Fskills\u002Ftrace-requirement",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":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add danielvm-git\u002Fbigpowers --skill trace-requirement",{"tool":67,"command":68},"bunx","bunx skills add danielvm-git\u002Fbigpowers --skill trace-requirement",{"tool":70,"command":71},"pnpm","pnpm dlx skills add danielvm-git\u002Fbigpowers --skill trace-requirement","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.codebuddy\u002Fskills\u002Ftrace-requirement\u002FSKILL.md",true,[],[76,97,104,133,156,177],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":87,"publishedAt":47},"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",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[88,89,90,91,92,93,94,95,96],"fixture","open","verify","skill verify fail open fixture","skill verify","path","run","for","never",{"skillNo":98,"name":99,"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":100,"categories":101,"keywords":102,"publishedAt":47},"01M71KBE3BKEMKNE0C5DGVDWZH","negative-path","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fspecs\u002Fverifications\u002Ffixtures\u002Fnegative-path\u002FSKILL.md",[],[103,93],"negative path",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":113,"publishedAt":47},"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",[110],{"categoryNo":111,"categoryName":112,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000002","文档处理",[114,115,116,117,118,119,120,121,122,123,124,41,125,126,127,128,129,130,131,132],"write","write document","document","documents","actionable","technical","methodology","high","bmad","standard","use","minimal","bold","sonnet","integrity","organize","sync","directory","guides",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":47},"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",[],[140,141,142,123,143,124,144,145,146,147,127,148,149,150,151,152,153,41,154,155],"observability","wire observability","readiness","commands","development","as","logging","add","instrumentation","at","structured logging","production-readiness","idempotent","phase","project","scripts",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":47},"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",[],[163,164,165,166,167,168,169,170,171,172,173,123,174,95,140,127,175,176],"wire ci","ci","remote","local","pipeline","forge","validation","setup","templates","REST","with","ci pipeline setup","git","workflows",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":190,"publishedAt":47},"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",[183,186,187],{"categoryNo":184,"categoryName":185,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":188,"categoryName":189,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师",[191,192,193,194,195,196,197,198,199,127,200,34,201,38,202,203,204,154,205,206],"dashboard","visual","visual dashboard","status","artifacts","http","plans","planning","panel","start","opencode","browser","api","architecture","project status","http api"]