[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71J6YZTPF4B9SB4FAA2895C":3,"skill-same:01M71J6YZTPF4B9SB4FAA2895C":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},"01M71J6YZTPF4B9SB4FAA2895C","assess-impact",null,"Analyze the blast radius of a proposed change before any code is written. Maps dependents, affected stories, and test coverage. Produces specs\u002FIMPACT_LATEST.md. Use before plan-work on any non-trivial change, when touching a shared module, or when the user asks \"what does this break?\".","danielvm-git\u002Fbigpowers","danielvm-git","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1020864?v=4","01M71H1N1CTQ529S0KN7KETVG6","Daniel V M","01M71H1N218Y3S8WHCJ58NPRSW",292,"MIT","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fassess-impact\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],"assess impact","assess","impact","maps","when","break","affected","sonnet","module","shared","change","test coverage","coverage","work","analyze","work on","plan","radius","blast radius","code","2026-11-10 10:12:30",false,"---\nname: assess-impact\nmodel: sonnet\ndescription: \"Analyze the blast radius of a proposed change before any code is written. Maps dependents, affected stories, and test coverage. Produces specs\u002FIMPACT_LATEST.md. Use before plan-work on any non-trivial change, when touching a shared module, or when the user asks \\\"what does this break?\\\".\"\n---\n\n# Assess Impact\n\n> **HARD GATE** — Run this skill before `plan-work` whenever a change touches an existing module, symbol, or file used by more than one caller. Skip only for net-new code with no existing dependents.\n\nFind the blast radius of the proposed change before a single line is written.\n\n## Modes\n\n- Default: full impact analysis (dependents + affected stories + test coverage mapping)\n- --lightweight: Fast fan-in\u002Ffan-out only (\u003C10s). Maps callers and imports without test coverage mapping. Used by build-epic step 2 as a pre-plan gate. Risk score > 7 triggers a mandatory grill-me session before proceeding.\n\n## Process\n\n### 1. Identify the target\n\nName the symbol, module, or file being changed. If the user hasn't specified, ask one question: \"What exactly are you changing?\"\n\n### 2. Find dependents\n\n```\ngrep -rn \"[symbol-name]\" . --include=\"*.ts\" | grep -v node_modules\ngit log --oneline -10 -- [file-path]\n```\n\n→ verify: `test -f specs\u002FIMPACT_LATEST.md || test -d specs\u002Fbugs`\n\n### 3. Map to release plan stories\n\nRead `specs\u002Frelease-plan.yaml + epic capsule directories` (if it exists). For each dependent found in Step 2, identify which story owns that module. List stories that will be affected by the change.\n\n→ verify: `test -f specs\u002Frelease-plan.yaml && grep -ci \"stor\" specs\u002Frelease-plan.yaml`\n\n### 4. List test coverage\n\nFind tests that exercise the target:\n\n```\ngrep -rn \"[symbol-name]\" . --include=\"*.test.*\" --include=\"*.spec.*\"\n```\n\n→ verify: `test -d specs\u002Fepics || test -d skills`\n\n### 5. Classify risk\n\n| Level | Condition |\n|-------|-----------|\n| Low   | ≤ 2 callers, all covered by tests |\n| Medium | 3–10 callers, partial test coverage |\n| High  | > 10 callers, or shared API\u002Finterface, or no tests |\n\n### 6. Write specs\u002FIMPACT_LATEST.md\n\n```\n## Target\n[symbol or file being changed]\n\n## Dependents ([count])\n- [file]: [caller or usage]\n\n## Affected Stories\n- Story [X.Y]: [title]\n\n## Test Coverage\n- [test file]: covers [scenario]\n- Gap: [untested behavior]\n\n## Risk: Low \u002F Medium \u002F High\n[One-sentence rationale]\n\n## Recommended action\n[Proceed \u002F Add tests first \u002F Discuss design]\n```\n\n→ verify: `grep \"Risk:\" specs\u002FIMPACT_LATEST.md`\n\nSuggest `plan-work` once risk is understood and any test gaps are noted.\n\n## Risk score gating\n\nIn `--lightweight` mode (used by build-epic step 2), assign a numeric risk score (1–10):\n- Fan-in (how many callers): 0–4 points\n- Fan-out (how many dependencies the module itself uses): 0–3 points  \n- Recent churn (git log --oneline -5 count): 0–3 points\n\n**Risk score > 7**: Gate — require a `grill-me` session before proceeding to implementation. Document the grill-me result in the impact report at `specs\u002FIMPACT-\u003Cepic>-\u003Cstory>.md`.\n","# Assess Impact\n\n> **HARD GATE** — Run this skill before `plan-work` whenever a change touches an existing module, symbol, or file used by more than one caller. Skip only for net-new code with no existing dependents.\n\nFind the blast radius of the proposed change before a single line is written.\n\n## Modes\n\n- Default: full impact analysis (dependents + affected stories + test coverage mapping)\n- --lightweight: Fast fan-in\u002Ffan-out only (\u003C10s). Maps callers and imports without test coverage mapping. Used by build-epic step 2 as a pre-plan gate. Risk score > 7 triggers a mandatory grill-me session before proceeding.\n\n## Process\n\n### 1. Identify the target\n\nName the symbol, module, or file being changed. If the user hasn't specified, ask one question: \"What exactly are you changing?\"\n\n### 2. Find dependents\n\n```\ngrep -rn \"[symbol-name]\" . --include=\"*.ts\" | grep -v node_modules\ngit log --oneline -10 -- [file-path]\n```\n\n→ verify: `test -f specs\u002FIMPACT_LATEST.md || test -d specs\u002Fbugs`\n\n### 3. Map to release plan stories\n\nRead `specs\u002Frelease-plan.yaml + epic capsule directories` (if it exists). For each dependent found in Step 2, identify which story owns that module. List stories that will be affected by the change.\n\n→ verify: `test -f specs\u002Frelease-plan.yaml && grep -ci \"stor\" specs\u002Frelease-plan.yaml`\n\n### 4. List test coverage\n\nFind tests that exercise the target:\n\n```\ngrep -rn \"[symbol-name]\" . --include=\"*.test.*\" --include=\"*.spec.*\"\n```\n\n→ verify: `test -d specs\u002Fepics || test -d skills`\n\n### 5. Classify risk\n\n| Level | Condition |\n|-------|-----------|\n| Low   | ≤ 2 callers, all covered by tests |\n| Medium | 3–10 callers, partial test coverage |\n| High  | > 10 callers, or shared API\u002Finterface, or no tests |\n\n### 6. Write specs\u002FIMPACT_LATEST.md\n\n```\n## Target\n[symbol or file being changed]\n\n## Dependents ([count])\n- [file]: [caller or usage]\n\n## Affected Stories\n- Story [X.Y]: [title]\n\n## Test Coverage\n- [test file]: covers [scenario]\n- Gap: [untested behavior]\n\n## Risk: Low \u002F Medium \u002F High\n[One-sentence rationale]\n\n## Recommended action\n[Proceed \u002F Add tests first \u002F Discuss design]\n```\n\n→ verify: `grep \"Risk:\" specs\u002FIMPACT_LATEST.md`\n\nSuggest `plan-work` once risk is understood and any test gaps are noted.\n\n## Risk score gating\n\nIn `--lightweight` mode (used by build-epic step 2), assign a numeric risk score (1–10):\n- Fan-in (how many callers): 0–4 points\n- Fan-out (how many dependencies the module itself uses): 0–3 points  \n- Recent churn (git log --oneline -5 count): 0–3 points\n\n**Risk score > 7**: Gate — require a `grill-me` session before proceeding to implementation. Document the grill-me result in the impact report at `specs\u002FIMPACT-\u003Cepic>-\u003Cstory>.md`.\n",{"name":5,"model":31,"description":7},"main","72f5e4c8b43f60cf86b37078ad8cd7e22daf67aa",".opencode\u002Fskills\u002Fassess-impact",23,"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 assess-impact",{"tool":64,"command":65},"bunx","bunx skills add danielvm-git\u002Fbigpowers --skill assess-impact",{"tool":67,"command":68},"pnpm","pnpm dlx skills add danielvm-git\u002Fbigpowers --skill assess-impact","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fassess-impact\u002FSKILL.md",true,[],[73,94,101,129,152,173],{"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,114,115,116,117,118,119,120,121,28,122,123,31,124,125,126,127,128],"write","write document","document","documents","actionable","technical","methodology","high","bmad","standard","use","minimal","bold","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,120,139,121,140,141,142,143,31,144,145,146,147,148,149,28,150,151],"observability","wire observability","readiness","commands","development","as","logging","add","instrumentation","at","structured logging","production-readiness","idempotent","phase","project","scripts",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"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",[],[159,160,161,162,163,164,165,166,167,168,169,120,170,92,136,31,171,172],"wire ci","ci","remote","local","pipeline","forge","validation","setup","templates","REST","with","ci pipeline setup","git","workflows",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":186,"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",[179,182,183],{"categoryNo":180,"categoryName":181,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":184,"categoryName":185,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000033","数据分析师",[187,188,189,190,191,192,193,194,195,31,196,197,198,40,199,200,201,150,202,203],"dashboard","visual","visual dashboard","status","artifacts","http","plans","planning","panel","start","release","opencode","browser","api","architecture","project status","http api"]