[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6WZBHKBA02YT2SHSACNJR91":3,"skill-same:01M6WZBHKBA02YT2SHSACNJR91":67},{"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":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6WZBHKBA02YT2SHSACNJR91","openspec-verify-change",null,"Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.","huangjia2019\u002Fsdd-in-action","huangjia2019","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F48795276?v=4","01M6RVB2A5TS40SQTN843K74XF","Jia Huang (黄佳)","01M6RVB2DWAKV004CDR8A4QXCY",172,"MIT","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"change","openspec verify change","verify","verify change","openspec","cli","validate","artifacts","correct","user","use","implementation","coherent","verify implementation","complete","when","2026-11-10 10:12:30",false,"---\nname: openspec-verify-change\ndescription: Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.\nlicense: MIT\ncompatibility: Requires openspec CLI.\nmetadata:\n  author: openspec\n  version: \"1.0\"\n  generatedBy: \"1.3.0\"\n---\n\nVerify that an implementation matches the change artifacts (specs, tasks, design).\n\n**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.\n\n**Steps**\n\n1. **If no change name provided, prompt for selection**\n\n   Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.\n\n   Show changes that have implementation tasks (tasks artifact exists).\n   Include the schema used for each change if available.\n   Mark changes with incomplete tasks as \"(In Progress)\".\n\n   **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.\n\n2. **Check status to understand the schema**\n   ```bash\n   openspec status --change \"\u003Cname>\" --json\n   ```\n   Parse the JSON to understand:\n   - `schemaName`: The workflow being used (e.g., \"spec-driven\")\n   - Which artifacts exist for this change\n\n3. **Get the change directory and load artifacts**\n\n   ```bash\n   openspec instructions apply --change \"\u003Cname>\" --json\n   ```\n\n   This returns the change directory and context files. Read all available artifacts from `contextFiles`.\n\n4. **Initialize verification report structure**\n\n   Create a report structure with three dimensions:\n   - **Completeness**: Track tasks and spec coverage\n   - **Correctness**: Track requirement implementation and scenario coverage\n   - **Coherence**: Track design adherence and pattern consistency\n\n   Each dimension can have CRITICAL, WARNING, or SUGGESTION issues.\n\n5. **Verify Completeness**\n\n   **Task Completion**:\n   - If tasks.md exists in contextFiles, read it\n   - Parse checkboxes: `- [ ]` (incomplete) vs `- [x]` (complete)\n   - Count complete vs total tasks\n   - If incomplete tasks exist:\n     - Add CRITICAL issue for each incomplete task\n     - Recommendation: \"Complete task: \u003Cdescription>\" or \"Mark as done if already implemented\"\n\n   **Spec Coverage**:\n   - If delta specs exist in `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F`:\n     - Extract all requirements (marked with \"### Requirement:\")\n     - For each requirement:\n       - Search codebase for keywords related to the requirement\n       - Assess if implementation likely exists\n     - If requirements appear unimplemented:\n       - Add CRITICAL issue: \"Requirement not found: \u003Crequirement name>\"\n       - Recommendation: \"Implement requirement X: \u003Cdescription>\"\n\n6. **Verify Correctness**\n\n   **Requirement Implementation Mapping**:\n   - For each requirement from delta specs:\n     - Search codebase for implementation evidence\n     - If found, note file paths and line ranges\n     - Assess if implementation matches requirement intent\n     - If divergence detected:\n       - Add WARNING: \"Implementation may diverge from spec: \u003Cdetails>\"\n       - Recommendation: \"Review \u003Cfile>:\u003Clines> against requirement X\"\n\n   **Scenario Coverage**:\n   - For each scenario in delta specs (marked with \"#### Scenario:\"):\n     - Check if conditions are handled in code\n     - Check if tests exist covering the scenario\n     - If scenario appears uncovered:\n       - Add WARNING: \"Scenario not covered: \u003Cscenario name>\"\n       - Recommendation: \"Add test or implementation for scenario: \u003Cdescription>\"\n\n7. **Verify Coherence**\n\n   **Design Adherence**:\n   - If design.md exists in contextFiles:\n     - Extract key decisions (look for sections like \"Decision:\", \"Approach:\", \"Architecture:\")\n     - Verify implementation follows those decisions\n     - If contradiction detected:\n       - Add WARNING: \"Design decision not followed: \u003Cdecision>\"\n       - Recommendation: \"Update implementation or revise design.md to match reality\"\n   - If no design.md: Skip design adherence check, note \"No design.md to verify against\"\n\n   **Code Pattern Consistency**:\n   - Review new code for consistency with project patterns\n   - Check file naming, directory structure, coding style\n   - If significant deviations found:\n     - Add SUGGESTION: \"Code pattern deviation: \u003Cdetails>\"\n     - Recommendation: \"Consider following project pattern: \u003Cexample>\"\n\n8. **Generate Verification Report**\n\n   **Summary Scorecard**:\n   ```\n   ## Verification Report: \u003Cchange-name>\n\n   ### Summary\n   | Dimension    | Status           |\n   |--------------|------------------|\n   | Completeness | X\u002FY tasks, N reqs|\n   | Correctness  | M\u002FN reqs covered |\n   | Coherence    | Followed\u002FIssues  |\n   ```\n\n   **Issues by Priority**:\n\n   1. **CRITICAL** (Must fix before archive):\n      - Incomplete tasks\n      - Missing requirement implementations\n      - Each with specific, actionable recommendation\n\n   2. **WARNING** (Should fix):\n      - Spec\u002Fdesign divergences\n      - Missing scenario coverage\n      - Each with specific recommendation\n\n   3. **SUGGESTION** (Nice to fix):\n      - Pattern inconsistencies\n      - Minor improvements\n      - Each with specific recommendation\n\n   **Final Assessment**:\n   - If CRITICAL issues: \"X critical issue(s) found. Fix before archiving.\"\n   - If only warnings: \"No critical issues. Y warning(s) to consider. Ready for archive (with noted improvements).\"\n   - If all clear: \"All checks passed. Ready for archive.\"\n\n**Verification Heuristics**\n\n- **Completeness**: Focus on objective checklist items (checkboxes, requirements list)\n- **Correctness**: Use keyword search, file path analysis, reasonable inference - don't require perfect certainty\n- **Coherence**: Look for glaring inconsistencies, don't nitpick style\n- **False Positives**: When uncertain, prefer SUGGESTION over WARNING, WARNING over CRITICAL\n- **Actionability**: Every issue must have a specific recommendation with file\u002Fline references where applicable\n\n**Graceful Degradation**\n\n- If only tasks.md exists: verify task completion only, skip spec\u002Fdesign checks\n- If tasks + specs exist: verify completeness and correctness, skip design\n- If full artifacts: verify all three dimensions\n- Always note which checks were skipped and why\n\n**Output Format**\n\nUse clear markdown with:\n- Table for summary scorecard\n- Grouped lists for issues (CRITICAL\u002FWARNING\u002FSUGGESTION)\n- Code references in format: `file.ts:123`\n- Specific, actionable recommendations\n- No vague suggestions like \"consider reviewing\"\n","Verify that an implementation matches the change artifacts (specs, tasks, design).\n\n**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.\n\n**Steps**\n\n1. **If no change name provided, prompt for selection**\n\n   Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.\n\n   Show changes that have implementation tasks (tasks artifact exists).\n   Include the schema used for each change if available.\n   Mark changes with incomplete tasks as \"(In Progress)\".\n\n   **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.\n\n2. **Check status to understand the schema**\n   ```bash\n   openspec status --change \"\u003Cname>\" --json\n   ```\n   Parse the JSON to understand:\n   - `schemaName`: The workflow being used (e.g., \"spec-driven\")\n   - Which artifacts exist for this change\n\n3. **Get the change directory and load artifacts**\n\n   ```bash\n   openspec instructions apply --change \"\u003Cname>\" --json\n   ```\n\n   This returns the change directory and context files. Read all available artifacts from `contextFiles`.\n\n4. **Initialize verification report structure**\n\n   Create a report structure with three dimensions:\n   - **Completeness**: Track tasks and spec coverage\n   - **Correctness**: Track requirement implementation and scenario coverage\n   - **Coherence**: Track design adherence and pattern consistency\n\n   Each dimension can have CRITICAL, WARNING, or SUGGESTION issues.\n\n5. **Verify Completeness**\n\n   **Task Completion**:\n   - If tasks.md exists in contextFiles, read it\n   - Parse checkboxes: `- [ ]` (incomplete) vs `- [x]` (complete)\n   - Count complete vs total tasks\n   - If incomplete tasks exist:\n     - Add CRITICAL issue for each incomplete task\n     - Recommendation: \"Complete task: \u003Cdescription>\" or \"Mark as done if already implemented\"\n\n   **Spec Coverage**:\n   - If delta specs exist in `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F`:\n     - Extract all requirements (marked with \"### Requirement:\")\n     - For each requirement:\n       - Search codebase for keywords related to the requirement\n       - Assess if implementation likely exists\n     - If requirements appear unimplemented:\n       - Add CRITICAL issue: \"Requirement not found: \u003Crequirement name>\"\n       - Recommendation: \"Implement requirement X: \u003Cdescription>\"\n\n6. **Verify Correctness**\n\n   **Requirement Implementation Mapping**:\n   - For each requirement from delta specs:\n     - Search codebase for implementation evidence\n     - If found, note file paths and line ranges\n     - Assess if implementation matches requirement intent\n     - If divergence detected:\n       - Add WARNING: \"Implementation may diverge from spec: \u003Cdetails>\"\n       - Recommendation: \"Review \u003Cfile>:\u003Clines> against requirement X\"\n\n   **Scenario Coverage**:\n   - For each scenario in delta specs (marked with \"#### Scenario:\"):\n     - Check if conditions are handled in code\n     - Check if tests exist covering the scenario\n     - If scenario appears uncovered:\n       - Add WARNING: \"Scenario not covered: \u003Cscenario name>\"\n       - Recommendation: \"Add test or implementation for scenario: \u003Cdescription>\"\n\n7. **Verify Coherence**\n\n   **Design Adherence**:\n   - If design.md exists in contextFiles:\n     - Extract key decisions (look for sections like \"Decision:\", \"Approach:\", \"Architecture:\")\n     - Verify implementation follows those decisions\n     - If contradiction detected:\n       - Add WARNING: \"Design decision not followed: \u003Cdecision>\"\n       - Recommendation: \"Update implementation or revise design.md to match reality\"\n   - If no design.md: Skip design adherence check, note \"No design.md to verify against\"\n\n   **Code Pattern Consistency**:\n   - Review new code for consistency with project patterns\n   - Check file naming, directory structure, coding style\n   - If significant deviations found:\n     - Add SUGGESTION: \"Code pattern deviation: \u003Cdetails>\"\n     - Recommendation: \"Consider following project pattern: \u003Cexample>\"\n\n8. **Generate Verification Report**\n\n   **Summary Scorecard**:\n   ```\n   ## Verification Report: \u003Cchange-name>\n\n   ### Summary\n   | Dimension    | Status           |\n   |--------------|------------------|\n   | Completeness | X\u002FY tasks, N reqs|\n   | Correctness  | M\u002FN reqs covered |\n   | Coherence    | Followed\u002FIssues  |\n   ```\n\n   **Issues by Priority**:\n\n   1. **CRITICAL** (Must fix before archive):\n      - Incomplete tasks\n      - Missing requirement implementations\n      - Each with specific, actionable recommendation\n\n   2. **WARNING** (Should fix):\n      - Spec\u002Fdesign divergences\n      - Missing scenario coverage\n      - Each with specific recommendation\n\n   3. **SUGGESTION** (Nice to fix):\n      - Pattern inconsistencies\n      - Minor improvements\n      - Each with specific recommendation\n\n   **Final Assessment**:\n   - If CRITICAL issues: \"X critical issue(s) found. Fix before archiving.\"\n   - If only warnings: \"No critical issues. Y warning(s) to consider. Ready for archive (with noted improvements).\"\n   - If all clear: \"All checks passed. Ready for archive.\"\n\n**Verification Heuristics**\n\n- **Completeness**: Focus on objective checklist items (checkboxes, requirements list)\n- **Correctness**: Use keyword search, file path analysis, reasonable inference - don't require perfect certainty\n- **Coherence**: Look for glaring inconsistencies, don't nitpick style\n- **False Positives**: When uncertain, prefer SUGGESTION over WARNING, WARNING over CRITICAL\n- **Actionability**: Every issue must have a specific recommendation with file\u002Fline references where applicable\n\n**Graceful Degradation**\n\n- If only tasks.md exists: verify task completion only, skip spec\u002Fdesign checks\n- If tasks + specs exist: verify completeness and correctness, skip design\n- If full artifacts: verify all three dimensions\n- Always note which checks were skipped and why\n\n**Output Format**\n\nUse clear markdown with:\n- Table for summary scorecard\n- Grouped lists for issues (CRITICAL\u002FWARNING\u002FSUGGESTION)\n- Code references in format: `file.ts:123`\n- Specific, actionable recommendations\n- No vague suggestions like \"consider reviewing\"\n",{"name":5,"license":15,"metadata":40,"description":7,"compatibility":43},{"author":23,"version":41,"generatedBy":42},"1.0","1.3.0","Requires openspec CLI.","master","7ccc24b38f7cae09897ace41ebae14780250ac86","week3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-verify-change",60,"https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action","https:\u002F\u002Fgithub.com\u002Fhuangjia2019","https:\u002F\u002Fkage-ai.com","AI researcher at A*STAR | Author of Designing AI Agents (Manning) | Co-founder of ADPS","2026-08-25 16:05:09",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add huangjia2019\u002Fsdd-in-action --skill openspec-verify-change",{"tool":59,"command":60},"bunx","bunx skills add huangjia2019\u002Fsdd-in-action --skill openspec-verify-change",{"tool":62,"command":63},"pnpm","pnpm dlx skills add huangjia2019\u002Fsdd-in-action --skill openspec-verify-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",true,[],[68,83,100,115,130,140],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":35},"01M6WZBEQRPC45MDYVPMG17X89","openspec-sync-specs","Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",[],[75,76,23,24,34,77,78,79,80,29,28,81,19,82],"sync","openspec sync specs","changes","with","main","delta","update","spec",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":35},"01M6WZBA2QKBW10Z1ZYA4K2AV9","openspec-propose","Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[23,90,91,33,29,92,28,26,19,24,93,94,34,95,96,78,97,98,99,30],"openspec propose","tasks","generated","design","ready","describe","for","proposal","get","build",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":35},"01M6WZB3J0FJQJ0WSW9EK6447P","openspec-onboard","Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-onboard\u002FSKILL.md",[],[23,107,108,109,96,33,78,110,24,111,112,113,114],"onboard","openspec onboard","cycle","codebase","work","onboarding","workflow","narration",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":35},"01M6WZAZX6QSAV79619M68K8N1","openspec-new-change","Start a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-new-change\u002FSKILL.md",[],[19,122,23,29,34,78,123,124,125,126,127,28,128,129,113,24],"openspec new change","feature","structured","artifact","new feature","fix","start","create",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":35},"01M6WZAX8300NEPY3T1J8FRS3C","openspec-ff-change","Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-ff-change\u002FSKILL.md",[],[23,137,19,125,30,29,28,138,26,129,24,139,34,96],"openspec ff change","fast","creation",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":35},"01M6WZAT3BM9W7SKVTKN2P894M","openspec-explore","Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-explore\u002FSKILL.md",[],[147,148,23,149,34,96,150,151,152,153,154,155,29,28,19,24],"openspec explore","explore","mode","partner","requirements","ideas","thinking","thinking partner","think"]