[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6RVCNF1R99C8DAJ221C57NB":3,"skill-same:01M6RVCNF1R99C8DAJ221C57NB":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},"01M6RVCNF1R99C8DAJ221C57NB","openspec-apply-change",null,"Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.","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\u002Fweek2\u002Fcode\u002F.claude\u002Fskills\u002Fopenspec-apply-change\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"change","openspec apply change","openspec","openspec apply","apply","cli","implement","tasks","start","continue","work","user","use","implementation","implementing","when","2026-11-10 10:12:30",false,"---\nname: openspec-apply-change\ndescription: Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.\nlicense: MIT\ncompatibility: Requires openspec CLI.\nmetadata:\n  author: openspec\n  version: \"1.0\"\n  generatedBy: \"1.3.0\"\n---\n\nImplement tasks from an OpenSpec change.\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. **Select the change**\n\n   If a name is provided, use it. Otherwise:\n   - Infer from conversation context if the user mentioned a change\n   - Auto-select if only one active change exists\n   - If ambiguous, run `openspec list --json` to get available changes and use the **AskUserQuestion tool** to let the user select\n\n   Always announce: \"Using change: \u003Cname>\" and how to override (e.g., `\u002Fopsx:apply \u003Cother>`).\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 artifact contains the tasks (typically \"tasks\" for spec-driven, check status for others)\n\n3. **Get apply instructions**\n\n   ```bash\n   openspec instructions apply --change \"\u003Cname>\" --json\n   ```\n\n   This returns:\n   - Context file paths (varies by schema - could be proposal\u002Fspecs\u002Fdesign\u002Ftasks or spec\u002Ftests\u002Fimplementation\u002Fdocs)\n   - Progress (total, complete, remaining)\n   - Task list with status\n   - Dynamic instruction based on current state\n\n   **Handle states:**\n   - If `state: \"blocked\"` (missing artifacts): show message, suggest using openspec-continue-change\n   - If `state: \"all_done\"`: congratulate, suggest archive\n   - Otherwise: proceed to implementation\n\n4. **Read context files**\n\n   Read the files listed in `contextFiles` from the apply instructions output.\n   The files depend on the schema being used:\n   - **spec-driven**: proposal, specs, design, tasks\n   - Other schemas: follow the contextFiles from CLI output\n\n5. **Show current progress**\n\n   Display:\n   - Schema being used\n   - Progress: \"N\u002FM tasks complete\"\n   - Remaining tasks overview\n   - Dynamic instruction from CLI\n\n6. **Implement tasks (loop until done or blocked)**\n\n   For each pending task:\n   - Show which task is being worked on\n   - Make the code changes required\n   - Keep changes minimal and focused\n   - Mark task complete in the tasks file: `- [ ]` → `- [x]`\n   - Continue to next task\n\n   **Pause if:**\n   - Task is unclear → ask for clarification\n   - Implementation reveals a design issue → suggest updating artifacts\n   - Error or blocker encountered → report and wait for guidance\n   - User interrupts\n\n7. **On completion or pause, show status**\n\n   Display:\n   - Tasks completed this session\n   - Overall progress: \"N\u002FM tasks complete\"\n   - If all done: suggest archive\n   - If paused: explain why and wait for guidance\n\n**Output During Implementation**\n\n```\n## Implementing: \u003Cchange-name> (schema: \u003Cschema-name>)\n\nWorking on task 3\u002F7: \u003Ctask description>\n[...implementation happening...]\n✓ Task complete\n\nWorking on task 4\u002F7: \u003Ctask description>\n[...implementation happening...]\n✓ Task complete\n```\n\n**Output On Completion**\n\n```\n## Implementation Complete\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Progress:** 7\u002F7 tasks complete ✓\n\n### Completed This Session\n- [x] Task 1\n- [x] Task 2\n...\n\nAll tasks complete! Ready to archive this change.\n```\n\n**Output On Pause (Issue Encountered)**\n\n```\n## Implementation Paused\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Progress:** 4\u002F7 tasks complete\n\n### Issue Encountered\n\u003Cdescription of the issue>\n\n**Options:**\n1. \u003Coption 1>\n2. \u003Coption 2>\n3. Other approach\n\nWhat would you like to do?\n```\n\n**Guardrails**\n- Keep going through tasks until done or blocked\n- Always read context files before starting (from the apply instructions output)\n- If task is ambiguous, pause and ask before implementing\n- If implementation reveals issues, pause and suggest artifact updates\n- Keep code changes minimal and scoped to each task\n- Update task checkbox immediately after completing each task\n- Pause on errors, blockers, or unclear requirements - don't guess\n- Use contextFiles from CLI output, don't assume specific file names\n\n**Fluid Workflow Integration**\n\nThis skill supports the \"actions on a change\" model:\n\n- **Can be invoked anytime**: Before all artifacts are done (if tasks exist), after partial implementation, interleaved with other actions\n- **Allows artifact updates**: If implementation reveals design issues, suggest updating artifacts - not phase-locked, work fluidly\n","Implement tasks from an OpenSpec change.\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. **Select the change**\n\n   If a name is provided, use it. Otherwise:\n   - Infer from conversation context if the user mentioned a change\n   - Auto-select if only one active change exists\n   - If ambiguous, run `openspec list --json` to get available changes and use the **AskUserQuestion tool** to let the user select\n\n   Always announce: \"Using change: \u003Cname>\" and how to override (e.g., `\u002Fopsx:apply \u003Cother>`).\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 artifact contains the tasks (typically \"tasks\" for spec-driven, check status for others)\n\n3. **Get apply instructions**\n\n   ```bash\n   openspec instructions apply --change \"\u003Cname>\" --json\n   ```\n\n   This returns:\n   - Context file paths (varies by schema - could be proposal\u002Fspecs\u002Fdesign\u002Ftasks or spec\u002Ftests\u002Fimplementation\u002Fdocs)\n   - Progress (total, complete, remaining)\n   - Task list with status\n   - Dynamic instruction based on current state\n\n   **Handle states:**\n   - If `state: \"blocked\"` (missing artifacts): show message, suggest using openspec-continue-change\n   - If `state: \"all_done\"`: congratulate, suggest archive\n   - Otherwise: proceed to implementation\n\n4. **Read context files**\n\n   Read the files listed in `contextFiles` from the apply instructions output.\n   The files depend on the schema being used:\n   - **spec-driven**: proposal, specs, design, tasks\n   - Other schemas: follow the contextFiles from CLI output\n\n5. **Show current progress**\n\n   Display:\n   - Schema being used\n   - Progress: \"N\u002FM tasks complete\"\n   - Remaining tasks overview\n   - Dynamic instruction from CLI\n\n6. **Implement tasks (loop until done or blocked)**\n\n   For each pending task:\n   - Show which task is being worked on\n   - Make the code changes required\n   - Keep changes minimal and focused\n   - Mark task complete in the tasks file: `- [ ]` → `- [x]`\n   - Continue to next task\n\n   **Pause if:**\n   - Task is unclear → ask for clarification\n   - Implementation reveals a design issue → suggest updating artifacts\n   - Error or blocker encountered → report and wait for guidance\n   - User interrupts\n\n7. **On completion or pause, show status**\n\n   Display:\n   - Tasks completed this session\n   - Overall progress: \"N\u002FM tasks complete\"\n   - If all done: suggest archive\n   - If paused: explain why and wait for guidance\n\n**Output During Implementation**\n\n```\n## Implementing: \u003Cchange-name> (schema: \u003Cschema-name>)\n\nWorking on task 3\u002F7: \u003Ctask description>\n[...implementation happening...]\n✓ Task complete\n\nWorking on task 4\u002F7: \u003Ctask description>\n[...implementation happening...]\n✓ Task complete\n```\n\n**Output On Completion**\n\n```\n## Implementation Complete\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Progress:** 7\u002F7 tasks complete ✓\n\n### Completed This Session\n- [x] Task 1\n- [x] Task 2\n...\n\nAll tasks complete! Ready to archive this change.\n```\n\n**Output On Pause (Issue Encountered)**\n\n```\n## Implementation Paused\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Progress:** 4\u002F7 tasks complete\n\n### Issue Encountered\n\u003Cdescription of the issue>\n\n**Options:**\n1. \u003Coption 1>\n2. \u003Coption 2>\n3. Other approach\n\nWhat would you like to do?\n```\n\n**Guardrails**\n- Keep going through tasks until done or blocked\n- Always read context files before starting (from the apply instructions output)\n- If task is ambiguous, pause and ask before implementing\n- If implementation reveals issues, pause and suggest artifact updates\n- Keep code changes minimal and scoped to each task\n- Update task checkbox immediately after completing each task\n- Pause on errors, blockers, or unclear requirements - don't guess\n- Use contextFiles from CLI output, don't assume specific file names\n\n**Fluid Workflow Integration**\n\nThis skill supports the \"actions on a change\" model:\n\n- **Can be invoked anytime**: Before all artifacts are done (if tasks exist), after partial implementation, interleaved with other actions\n- **Allows artifact updates**: If implementation reveals design issues, suggest updating artifacts - not phase-locked, work fluidly\n",{"name":5,"license":15,"metadata":40,"description":7,"compatibility":43},{"author":21,"version":41,"generatedBy":42},"1.0","1.3.0","Requires openspec CLI.","master","7ccc24b38f7cae09897ace41ebae14780250ac86","week2\u002Fcode\u002F.claude\u002Fskills\u002Fopenspec-apply-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-apply-change",{"tool":59,"command":60},"bunx","bunx skills add huangjia2019\u002Fsdd-in-action --skill openspec-apply-change",{"tool":62,"command":63},"pnpm","pnpm dlx skills add huangjia2019\u002Fsdd-in-action --skill openspec-apply-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek2\u002Fcode\u002F.claude\u002Fskills\u002Fopenspec-apply-change\u002FSKILL.md",true,[],[68,84,99,115,129,143],{"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},"01M6WZBHKBA02YT2SHSACNJR91","openspec-verify-change","Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.","https:\u002F\u002Fgithub.com\u002Fhuangjia2019\u002Fsdd-in-action\u002Fblob\u002Fmaster\u002Fweek3\u002Fcode\u002F.opencode\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",[],[19,75,76,77,21,34,78,79,80,81,32,31,30,82,83,24],"openspec verify change","verify","verify change","validate","complete","verify implementation","coherent","correct","artifacts",{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"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",[],[91,92,21,19,93,24,94,34,95,96,97,98,31,30],"openspec sync specs","sync","spec","update","changes","with","main","delta",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"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",[],[106,21,34,32,107,79,108,109,110,96,111,112,113,30,83,26,19,24,114,31],"openspec propose","build","describe","for","ready","get","proposal","generated","design",{"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},"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",[],[122,123,21,96,124,109,79,125,126,29,127,128,24],"openspec onboard","onboard","codebase","cycle","narration","onboarding","workflow",{"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":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,21,136,137,138,31,139,140,30,27,141,128,24,142,34,96],"openspec new change","structured","artifact","new feature","fix","create","feature",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"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",[],[19,150,21,24,34,109,151,138,32,31,30,152,83,141],"openspec ff change","creation","fast"]