[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71Q9FC4574GTSS4PBTG6SND":3,"skill-same:01M71Q9FC4574GTSS4PBTG6SND":62},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M71Q9FC4574GTSS4PBTG6SND","openspec-archive-change",null,"Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.","flyfishlxy\u002Fopenspec-claude","flyfishlxy","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F52433968?v=4","01M71Q99JSGZ5D7W4S9FAEPDWY","飞鱼","01M71Q99KYYCKGRES5CZFE7V53",2,"MIT","https:\u002F\u002Fgithub.com\u002Fflyfishlxy\u002Fopenspec-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"change","openspec archive change","archive","openspec","cli","workflow","user","use","implementation","complete","when","finalize","2026-11-10 13:02:02",false,"---\nname: openspec-archive-change\ndescription: Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.\nlicense: MIT\ncompatibility: Requires openspec CLI.\nmetadata:\n  author: openspec\n  version: \"1.0\"\n  generatedBy: \"1.3.1\"\n---\n\nArchive a completed change in the experimental workflow.\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 only active changes (not already archived).\n   Include the schema used for each change if available.\n\n   **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.\n\n2. **Check artifact completion status**\n\n   Run `openspec status --change \"\u003Cname>\" --json` to check artifact completion.\n\n   Parse the JSON to understand:\n   - `schemaName`: The workflow being used\n   - `artifacts`: List of artifacts with their status (`done` or other)\n\n   **If any artifacts are not `done`:**\n   - Display warning listing incomplete artifacts\n   - Use **AskUserQuestion tool** to confirm user wants to proceed\n   - Proceed if user confirms\n\n3. **Check task completion status**\n\n   Read the tasks file (typically `tasks.md`) to check for incomplete tasks.\n\n   Count tasks marked with `- [ ]` (incomplete) vs `- [x]` (complete).\n\n   **If incomplete tasks found:**\n   - Display warning showing count of incomplete tasks\n   - Use **AskUserQuestion tool** to confirm user wants to proceed\n   - Proceed if user confirms\n\n   **If no tasks file exists:** Proceed without task-related warning.\n\n4. **Assess delta spec sync state**\n\n   Check for delta specs at `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F`. If none exist, proceed without sync prompt.\n\n   **If delta specs exist:**\n   - Compare each delta spec with its corresponding main spec at `openspec\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md`\n   - Determine what changes would be applied (adds, modifications, removals, renames)\n   - Show a combined summary before prompting\n\n   **Prompt options:**\n   - If changes needed: \"Sync now (recommended)\", \"Archive without syncing\"\n   - If already synced: \"Archive now\", \"Sync anyway\", \"Cancel\"\n\n   If user chooses sync, use Task tool (subagent_type: \"general-purpose\", prompt: \"Use Skill tool to invoke openspec-sync-specs for change '\u003Cname>'. Delta spec analysis: \u003Cinclude the analyzed delta spec summary>\"). Proceed to archive regardless of choice.\n\n5. **Perform the archive**\n\n   Create the archive directory if it doesn't exist:\n   ```bash\n   mkdir -p openspec\u002Fchanges\u002Farchive\n   ```\n\n   Generate target name using current date: `YYYY-MM-DD-\u003Cchange-name>`\n\n   **Check if target already exists:**\n   - If yes: Fail with error, suggest renaming existing archive or using different date\n   - If no: Move the change directory to archive\n\n   ```bash\n   mv openspec\u002Fchanges\u002F\u003Cname> openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cname>\n   ```\n\n6. **Display summary**\n\n   Show archive completion summary including:\n   - Change name\n   - Schema that was used\n   - Archive location\n   - Whether specs were synced (if applicable)\n   - Note about any warnings (incomplete artifacts\u002Ftasks)\n\n**Output On Success**\n\n```\n## Archive Complete\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Archived to:** openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cname>\u002F\n**Specs:** ✓ Synced to main specs (or \"No delta specs\" or \"Sync skipped\")\n\nAll artifacts complete. All tasks complete.\n```\n\n**Guardrails**\n- Always prompt for change selection if not provided\n- Use artifact graph (openspec status --json) for completion checking\n- Don't block archive on warnings - just inform and confirm\n- Preserve .openspec.yaml when moving to archive (it moves with the directory)\n- Show clear summary of what happened\n- If sync is requested, use openspec-sync-specs approach (agent-driven)\n- If delta specs exist, always run the sync assessment and show the combined summary before prompting\n","Archive a completed change in the experimental workflow.\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 only active changes (not already archived).\n   Include the schema used for each change if available.\n\n   **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.\n\n2. **Check artifact completion status**\n\n   Run `openspec status --change \"\u003Cname>\" --json` to check artifact completion.\n\n   Parse the JSON to understand:\n   - `schemaName`: The workflow being used\n   - `artifacts`: List of artifacts with their status (`done` or other)\n\n   **If any artifacts are not `done`:**\n   - Display warning listing incomplete artifacts\n   - Use **AskUserQuestion tool** to confirm user wants to proceed\n   - Proceed if user confirms\n\n3. **Check task completion status**\n\n   Read the tasks file (typically `tasks.md`) to check for incomplete tasks.\n\n   Count tasks marked with `- [ ]` (incomplete) vs `- [x]` (complete).\n\n   **If incomplete tasks found:**\n   - Display warning showing count of incomplete tasks\n   - Use **AskUserQuestion tool** to confirm user wants to proceed\n   - Proceed if user confirms\n\n   **If no tasks file exists:** Proceed without task-related warning.\n\n4. **Assess delta spec sync state**\n\n   Check for delta specs at `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F`. If none exist, proceed without sync prompt.\n\n   **If delta specs exist:**\n   - Compare each delta spec with its corresponding main spec at `openspec\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md`\n   - Determine what changes would be applied (adds, modifications, removals, renames)\n   - Show a combined summary before prompting\n\n   **Prompt options:**\n   - If changes needed: \"Sync now (recommended)\", \"Archive without syncing\"\n   - If already synced: \"Archive now\", \"Sync anyway\", \"Cancel\"\n\n   If user chooses sync, use Task tool (subagent_type: \"general-purpose\", prompt: \"Use Skill tool to invoke openspec-sync-specs for change '\u003Cname>'. Delta spec analysis: \u003Cinclude the analyzed delta spec summary>\"). Proceed to archive regardless of choice.\n\n5. **Perform the archive**\n\n   Create the archive directory if it doesn't exist:\n   ```bash\n   mkdir -p openspec\u002Fchanges\u002Farchive\n   ```\n\n   Generate target name using current date: `YYYY-MM-DD-\u003Cchange-name>`\n\n   **Check if target already exists:**\n   - If yes: Fail with error, suggest renaming existing archive or using different date\n   - If no: Move the change directory to archive\n\n   ```bash\n   mv openspec\u002Fchanges\u002F\u003Cname> openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cname>\n   ```\n\n6. **Display summary**\n\n   Show archive completion summary including:\n   - Change name\n   - Schema that was used\n   - Archive location\n   - Whether specs were synced (if applicable)\n   - Note about any warnings (incomplete artifacts\u002Ftasks)\n\n**Output On Success**\n\n```\n## Archive Complete\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Archived to:** openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cname>\u002F\n**Specs:** ✓ Synced to main specs (or \"No delta specs\" or \"Sync skipped\")\n\nAll artifacts complete. All tasks complete.\n```\n\n**Guardrails**\n- Always prompt for change selection if not provided\n- Use artifact graph (openspec status --json) for completion checking\n- Don't block archive on warnings - just inform and confirm\n- Preserve .openspec.yaml when moving to archive (it moves with the directory)\n- Show clear summary of what happened\n- If sync is requested, use openspec-sync-specs approach (agent-driven)\n- If delta specs exist, always run the sync assessment and show the combined summary before prompting\n",{"name":5,"license":15,"metadata":36,"description":7,"compatibility":39},{"author":22,"version":37,"generatedBy":38},"1.0","1.3.1","Requires openspec CLI.","main","551c7cac8c6fb1f10c688fb23046b85be57f9a31",".claude\u002Fskills\u002Fopenspec-archive-change",0,"https:\u002F\u002Fgithub.com\u002Fflyfishlxy\u002Fopenspec-claude","https:\u002F\u002Fgithub.com\u002Fflyfishlxy","👨‍💻 独立开发者 | AI Builder\r\n⚡ AI 编程 | Agent Systems | AI Native\r\n📚 分享开发、创造与生活思考","2026-04-28 18:00:19",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add flyfishlxy\u002Fopenspec-claude --skill openspec-archive-change",{"tool":54,"command":55},"bunx","bunx skills add flyfishlxy\u002Fopenspec-claude --skill openspec-archive-change",{"tool":57,"command":58},"pnpm","pnpm dlx skills add flyfishlxy\u002Fopenspec-claude --skill openspec-archive-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fflyfishlxy\u002Fopenspec-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",true,[],[63,83,99],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":31},"01M71Q9MVHHGW9QDCX4P5KGKET","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\u002Fflyfishlxy\u002Fopenspec-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[70,22,71,26,72,73,74,19,23,75,76,27,77,28,78,79,80,81,29,82],"openspec propose","artifacts","generated","build","tasks","design","ready","get","proposal","with","for","describe","new",{"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":31},"01M71Q9HPGTMRMG9VX41VRJ87M","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\u002Fflyfishlxy\u002Fopenspec-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-explore\u002FSKILL.md",[],[90,91,22,29,92,23,80,19,25,26,93,94,95,96,97,98],"openspec explore","explore","thinking","think","thinking partner","ideas","requirements","partner","mode",{"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":31},"01M71Q9CKFKCTXSCAJEAFC8YBJ","openspec-apply-change","Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.","https:\u002F\u002Fgithub.com\u002Fflyfishlxy\u002Fopenspec-claude\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fopenspec-apply-change\u002FSKILL.md",[],[19,106,107,108,22,109,110,74,111,112,113,25,26,27,114,29,23],"openspec apply change","apply change","apply","openspec apply","implement","start","continue","work","implementing"]