[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71AVWY9AY3YGZKMJ2HBZSW6":3,"skill-same:01M71AVWY9AY3YGZKMJ2HBZSW6":61},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M71AVWY9AY3YGZKMJ2HBZSW6","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.","AGI4Sci\u002FSciForge","AGI4Sci","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F266947901?v=4","01M71AVA4B4CVST1G4RH4QYN4T","01M71AVA4Y3ZPKX6JZGJDVZWMA",84,"MIT","https:\u002F\u002Fgithub.com\u002FAGI4Sci\u002FSciForge\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29],"change","openspec archive change","openspec","archive","finalize","implementation","cli","use","when","workflow","complete","user","2026-11-10 10:12:30",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":14,"metadata":35,"description":7,"compatibility":38},{"author":20,"version":36,"generatedBy":37},"1.0","1.3.1","Requires openspec CLI.","main","ba00016cd864127102e9736e8acfb942050bfc80",".codex\u002Fskills\u002Fopenspec-archive-change",21,"https:\u002F\u002Fgithub.com\u002FAGI4Sci\u002FSciForge","https:\u002F\u002Fagi4sci.github.io\u002Fsciforge-docs-v2\u002F","https:\u002F\u002Fgithub.com\u002FAGI4Sci","2026-11-07 11:32:24",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add AGI4Sci\u002FSciForge --skill openspec-archive-change",{"tool":53,"command":54},"bunx","bunx skills add AGI4Sci\u002FSciForge --skill openspec-archive-change",{"tool":56,"command":57},"pnpm","pnpm dlx skills add AGI4Sci\u002FSciForge --skill openspec-archive-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAGI4Sci\u002FSciForge\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",true,[],[62,82,98,103,118,149],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":30},"01M71AW8KVKM0X7GSHBSTCFYSQ","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\u002FAGI4Sci\u002FSciForge\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[20,69,70,71,72,18,24,73,74,75,28,76,77,23,78,79,25,26,80,81],"openspec propose","with","ready","proposal","get","build","for","design","new","generated","describe","artifacts","tasks",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":30},"01M71AW6FEH6HB37XGS0MNTWB4","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\u002FAGI4Sci\u002FSciForge\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fopenspec-explore\u002FSKILL.md",[],[20,89,90,91,92,93,75,94,25,26,95,18,24,96,97,29],"explore","openspec explore","thinking","ideas","thinking partner","mode","requirements","partner","think",{"skillNo":99,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":30},"01M71AW58RXBPM8878CPJ7B327","https:\u002F\u002Fgithub.com\u002FAGI4Sci\u002FSciForge\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29],{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":30},"01M71AW3YHB752B3NY5RH9FVZ2","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\u002FAGI4Sci\u002FSciForge\u002Fblob\u002Fmain\u002F.cursor\u002Fskills\u002Fopenspec-apply-change\u002FSKILL.md",[],[18,110,20,111,112,113,24,114,115,116,23,25,26,81,29,117],"openspec apply change","openspec apply","apply","work","continue","implementing","start","implement",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":132,"publishedAt":30},"01M71AW2GJ4W8T0R1F3RWAY2T6","research-memory","Draft, confirm, and synchronize research status, evidence, blockers, and review-ready GitHub summaries using the Research Memory skill, GitHub conventions, and file templates.","https:\u002F\u002Fgithub.com\u002FAGI4Sci\u002FSciForge\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fresearch-memory\u002FSKILL.md",[124,129],{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",{"categoryNo":130,"categoryName":131,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000023","Skill与智能体开发",[133,134,135,136,71,137,138,139,140,141,142,143,144,145,146,147,148],"research","memory","research memory","draft","evidence","summaries","research status","github","templates","status","conventions","MCP","contributors","file","review","memory skill",{"skillNo":150,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":30},"01M71AW0VQ6S6NBENYYJ5G9BGE","https:\u002F\u002Fgithub.com\u002FAGI4Sci\u002FSciForge\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[20,69,70,71,72,18,24,73,74,75,28,76,77,23,78,79,25,26,80,81]]