openspec-archive-change
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
- License 许可
- MIT
- 最近更新
- 2026-11-12
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- openspec-archive-change
- license
- MIT
- metadata
- { "author": "openspec", "version": "1.0", "generatedBy": "1.2.0" }
- description
- Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
- compatibility
- Requires openspec CLI.
02 资源文件 18
- 参考文档agents/openai.yaml349 B
- 参考文档evals/crossframe-public-smoke-tests.md2.9 KB
- 参考文档examples/failure-samples.md901 B
- 参考文档examples/institutional-compliance-case.md810 B
- 参考文档examples/platform-appeal-case.md902 B
- 参考文档examples/public-policy-case.md696 B
- 参考文档protocols/institutional-compliance-protocol.md1.2 KB
- 参考文档protocols/platform-appeal-protocol.md1.3 KB
- 参考文档protocols/public-issue-protocol.md2.2 KB
- 参考文档protocols/public-policy-protocol.md1.0 KB
- 参考文档references/ai-compliance-performance.md1.1 KB
- 参考文档references/public-evidence-ladder.md778 B
- 参考文档references/risk-language-boundaries.md762 B
- 参考文档references/source-and-evidence-rules.md1.7 KB
- 参考文档templates/action-boundary.md532 B
- 参考文档templates/evidence-boundary-summary.md479 B
- 参考文档templates/public-comment-draft.md774 B
- 参考文档templates/public-institution-diagnosis.md708 B
03 SKILL.md 正文
Archive a completed change in the experimental workflow.
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.
Steps
-
If no change name provided, prompt for selection
Run
openspec list --jsonto get available changes. Use the AskUserQuestion tool to let the user select.Show only active changes (not already archived). Include the schema used for each change if available.
IMPORTANT: Do NOT guess or auto-select a change. Always let the user choose.
-
Check artifact completion status
Run
openspec status --change "<name>" --jsonto check artifact completion.Parse the JSON to understand:
schemaName: The workflow being usedartifacts: List of artifacts with their status (doneor other)
If any artifacts are not
done:- Display warning listing incomplete artifacts
- Use AskUserQuestion tool to confirm user wants to proceed
- Proceed if user confirms
-
Check task completion status
Read the tasks file (typically
tasks.md) to check for incomplete tasks.Count tasks marked with
- [ ](incomplete) vs- [x](complete).If incomplete tasks found:
- Display warning showing count of incomplete tasks
- Use AskUserQuestion tool to confirm user wants to proceed
- Proceed if user confirms
If no tasks file exists: Proceed without task-related warning.
-
Assess delta spec sync state
Check for delta specs at
openspec/changes/<name>/specs/. If none exist, proceed without sync prompt.If delta specs exist:
- Compare each delta spec with its corresponding main spec at
openspec/specs/<capability>/spec.md - Determine what changes would be applied (adds, modifications, removals, renames)
- Show a combined summary before prompting
Prompt options:
- If changes needed: "Sync now (recommended)", "Archive without syncing"
- If already synced: "Archive now", "Sync anyway", "Cancel"
If user chooses sync, use Task tool (subagent_type: "general-purpose", prompt: "Use Skill tool to invoke openspec-sync-specs for change '<name>'. Delta spec analysis: <include the analyzed delta spec summary>"). Proceed to archive regardless of choice.
- Compare each delta spec with its corresponding main spec at
-
Perform the archive
Create the archive directory if it doesn't exist:
mkdir -p openspec/changes/archiveGenerate target name using current date:
YYYY-MM-DD-<change-name>Check if target already exists:
- If yes: Fail with error, suggest renaming existing archive or using different date
- If no: Move the change directory to archive
mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name> -
Display summary
Show archive completion summary including:
- Change name
- Schema that was used
- Archive location
- Whether specs were synced (if applicable)
- Note about any warnings (incomplete artifacts/tasks)
Output On Success
## Archive Complete
**Change:** <change-name>
**Schema:** <schema-name>
**Archived to:** openspec/changes/archive/YYYY-MM-DD-<name>/
**Specs:** ✓ Synced to main specs (or "No delta specs" or "Sync skipped")
All artifacts complete. All tasks complete.
Guardrails
- Always prompt for change selection if not provided
- Use artifact graph (openspec status --json) for completion checking
- Don't block archive on warnings - just inform and confirm
- Preserve .openspec.yaml when moving to archive (it moves with the directory)
- Show clear summary of what happened
- If sync is requested, use openspec-sync-specs approach (agent-driven)
- If delta specs exist, always run the sync assessment and show the combined summary before prompting
04 同仓库更多 Skills
speckit-taskstoissues
speckit.taskstoissues
speckit-tasks
speckit.tasks
speckit-specify
speckit.specify
speckit-plan
speckit.plan
speckit-implement
speckit.implement
speckit-git-validate
speckit.git.validate