[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GG60SJ2EAZHTNKCYZHS10":3,"skill-same:01M71GG60SJ2EAZHTNKCYZHS10":69},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":50,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M71GG60SJ2EAZHTNKCYZHS10","openspec-apply-change",null,"Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.","getsentry\u002Fskillet","getsentry","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1396951?v=4","01M6CHRN2S1A588Q46ASWA5335","Sentry","01M71GG484BE9509DG4P0AWRWG",13,"MIT","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-apply-change\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"openspec apply change","apply change","openspec","openspec apply","apply","change","implement","user","tasks","when","use","implementation","start","implementing","continue","cli","work","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":41,"description":7,"compatibility":44},{"author":21,"version":42,"generatedBy":43},"1.0","1.3.0","Requires openspec CLI.","main","69b74a14f5aadacf71ed4b4e3516d1e83b20993c",".claude\u002Fskills\u002Fopenspec-apply-change",2,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet","https:\u002F\u002Fskillet.sentry.dev","https:\u002F\u002Fgithub.com\u002Fgetsentry","https:\u002F\u002Fsentry.io","Real-time crash reporting for your web apps, mobile apps, and games.","2026-11-04 05:30:07",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add getsentry\u002Fskillet --skill openspec-apply-change",{"tool":61,"command":62},"bunx","bunx skills add getsentry\u002Fskillet --skill openspec-apply-change",{"tool":64,"command":65},"pnpm","pnpm dlx skills add getsentry\u002Fskillet --skill openspec-apply-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-apply-change\u002FSKILL.md",true,[],[70,82,96,105,110,132],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":36},"01M71GH3C7A3B43X8RYB1NCBGS","safe-delete","Delete files carefully. Use when a task involves removing multiple files.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002Fevals\u002Ffixtures\u002Fweak-wording\u002Fsafe-delete\u002FSKILL.md",[],[77,78,79,80,29,28,81],"delete","safe delete","safe","files","task",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":36},"01M71GH20SGHG62M443AY9CZVV","todo-hygiene","Write TODO comments with owners. Use whenever stubbing out incomplete work.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002Fevals\u002Ffixtures\u002Frendered-no-evals\u002Fhalf-baked\u002FSKILL.md",[],[89,90,91,92,35,93,29,94,95],"hygiene","todo","todo hygiene","with","owners","comments","write",{"skillNo":97,"name":72,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":36},"01M71GGZST9GDE58H4TKGQEZFQ","Deletes generated files carefully. Use when cleanup may remove many files.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002Fevals\u002Ffixtures\u002Flegacy-uppercase-spec\u002Flegacy-skill\u002FSKILL.md",[],[77,78,79,102,103,80,104,29,28],"remove","generated","cleanup",{"skillNo":106,"name":72,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":36},"01M71GGYGD28X0WAK8YHXG45S5","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002Fevals\u002Ffixtures\u002Flegacy-lowercase-spec\u002Flegacy-skill\u002FSKILL.md",[],[79,78,77,29,102,28,103,104,80],{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":36},"01M71GGW17VZH6690R0B5EQV6H","skillet-authoring","Authors, improves, or migrates agent skills with the Skillet CLI; use when asked to create or write a skill, improve its instructions or evals, diagnose failing evals, or migrate a legacy SKILL.md, uppercase SPEC.md, or spec.yaml skill, but not when merely using an existing skill.","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fskills\u002Fskillet-authoring\u002FSKILL.md",[],[117,118,95,119,120,121,34,122,123,92,124,125,28,126,127,29,128,129,130,131],"skillet authoring","authoring","legacy skill","Legacy","instructions","write a skill","create","uppercase","migrate","spec","Existing","improve","failing","diagnose","evals",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":136,"licenseFileUrl":137,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":36},"01M71GGRPAY8BYV0CNZGSC20W9","garfield","Use while implementing code changes, after a meaningful slice, to coordinate subagent review\u002Ffix\u002Fverify loops that preserve the core user or PR intent. Fix regressions, explicit requirement mismatches, validation gaps, and behavior-preserving cleanup; report unrelated improvements or out-of-intent behavior changes instead. Do not use for standalone reviews, brainstorming, or non-code iteration.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fexamples\u002Fgarfield\u002Foriginal\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskillet\u002Fblob\u002Fmain\u002Fexamples\u002Fgarfield\u002Foriginal\u002FSKILL.md",[],[134,141,142,29,104,143,144,32,145,146,147,148,149,150,151,152,153,154,155,156],"iteration","code","true","implementing code","fix","slice","gaps","for","core","pr","standalone","reviews","do","coordinate","behavior-preserving","subagent"]