[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C2B6GJ4HZ69S9TPCMX2KQ0":3,"skill-same:01M6C2B6GJ4HZ69S9TPCMX2KQ0":59},{"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":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":14,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":43,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M6C2B6GJ4HZ69S9TPCMX2KQ0","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.","kalbasit\u002Fncps-test","kalbasit","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F87115?v=4","01M6C2A733H05KZCC1FTS5ENT4","Wael Nasreddine","01M6C2A77QVF5AD69EP1S1ZTY4",0,"MIT","https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"change","openspec verify change","verify","cli","validate","artifacts","correct","user","use","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.1\"\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 `contextFiles` (artifact ID -> array of concrete file paths). 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 `contextFiles.tasks` exists, read every file path in 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 `contextFiles.design` exists:\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 `contextFiles` (artifact ID -> array of concrete file paths). 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 `contextFiles.tasks` exists, read every file path in 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 `contextFiles.design` exists:\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":33,"description":7,"compatibility":37},{"author":34,"version":35,"generatedBy":36},"openspec","1.0","1.3.1","Requires openspec CLI.","main","a541621e4e20d5773ebbcefa969b7bad1c15ed2a",".agent\u002Fskills\u002Fopenspec-verify-change","https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test","https:\u002F\u002Fgithub.com\u002Fkalbasit","https:\u002F\u002Fkalbas.it","2026-09-30 03:07:07",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add kalbasit\u002Fncps-test --skill openspec-verify-change",{"tool":51,"command":52},"bunx","bunx skills add kalbasit\u002Fncps-test --skill openspec-verify-change",{"tool":54,"command":55},"pnpm","pnpm dlx skills add kalbasit\u002Fncps-test --skill openspec-verify-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",true,[],[60,65,76,87,100,109],{"skillNo":61,"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":62,"categories":63,"keywords":64,"publishedAt":28},"01M6C2BVH1AB05AHRRKM1KT5EK","https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",[],[20,19,21,22,23,24,25,26,27],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":28},"01M6C2BSQEMJR15D1ESJBY51Q4","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\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",[],[72,73,27,22,74,19,75,26],"openspec sync specs","sync","spec","update",{"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":82,"publishedAt":28},"01M6C2BQZ1J60X2BKKNRJQSHMF","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\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[83,84,27,26,24,22,85,86,19],"openspec propose","generated","tasks","design",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":28},"01M6C2BP1B1Y34VD761K3SKPVM","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\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-new-change\u002FSKILL.md",[],[94,19,95,22,96,97,26,98,99,27],"openspec new change","workflow","create","start","fix","new feature",{"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":28},"01M6C2BMFQ6AZ3VSMSEEYGFZ03","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\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-ff-change\u002FSKILL.md",[],[107,19,22,96,24,108,26,27],"openspec ff change","fast",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":28},"01M6C2BJC0APWXADJ7B4WC0YCJ","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\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-explore\u002FSKILL.md",[],[116,117,19,26,27,22],"explore","openspec explore"]