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.
Best use case
openspec-archive-change is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
Teams using openspec-archive-change should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/openspec-archive-change/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How openspec-archive-change Compares
| Feature / Agent | openspec-archive-change | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
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** 1. **If no change name provided, prompt for selection** Run `openspec list --json` to 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. 2. **Check artifact completion status** Run `openspec status --change "<name>" --json` to check artifact completion. Parse the JSON to understand: - `schemaName`: The workflow being used - `artifacts`: List of artifacts with their status (`done` or 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 3. **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. 4. **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. 5. **Perform the archive** Create the archive directory if it doesn't exist: ```bash mkdir -p openspec/changes/archive ``` Generate 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 ```bash mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name> ``` 6. **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
Related Skills
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.
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.
openspec-apply-change
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
wallet-cli
How to run watch, keygen, and sign wallet CLI commands. Use when executing wallet commands or testing wallet functionality.
typescript-development
TypeScript/JavaScript development workflow for apps/ directory. Use when modifying TypeScript code in xrpl-grpc-server or JavaScript in eth-contracts.
solidity-development
Solidity smart contract development workflow. Use when modifying smart contracts in apps/eth-contracts/contracts/.
shell-scripts
Shell script development workflow. Use when modifying files in scripts/ directory or any *.sh files.
mockery
Mock generation workflow for go-crypto-wallet. Activate whenever a developer asks to generate a mock for a new interface, add test coverage that requires a mock, or replace a manually-written test stub for a ports interface. Claude MUST use `make mockery` — never write mock struct code by hand.
makefile-update
Makefile development workflow. Use when modifying Makefile or files in make/ directory.
label-context-mapping
Maps GitHub labels to Skills and Context documents. Use when creating issues (github-issue-creation) or working on issues (fix-issue command).
knowledge-gap
Post-task knowledge gap review and proposals for improving skills/rules
go-development
Go development workflow including verification commands and self-review checklist. Use when modifying Go code in internal/, pkg/, or cmd/ directories.