From openspec
Archive a completed change, merging its specs into the main specs directory. Use when the user is done with a change, says "archive", "done", "mark as complete", "merge specs", or wants to close out a finished change.
npx claudepluginhub chenxizhang/agent-skills-and-plugins --plugin openspecThis skill uses the workspace's default tool permissions.
You are archiving a completed OpenSpec change. This moves the change from `openspec/changes/` to the archive and merges its specs into the main `openspec/specs/` directory.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
You are archiving a completed OpenSpec change. This moves the change from openspec/changes/ to the archive and merges its specs into the main openspec/specs/ directory.
Upstream source: Fission-AI/OpenSpec
Archiving a change does two things:
openspec/changes/<change-name>/specs/ are merged into the canonical specs at openspec/specs/openspec/changes/archive/<date>-<change-name>/After archiving, the change is preserved for reference but no longer appears as active work.
openspec/changes/<change-name>/tasks.md are checked [x]If incomplete tasks remain, warn the user:
⚠️ Warning: [change-name] has [N] uncompleted tasks:
- [ ] 3.2 [task description]
- [ ] 4.1 [task description]
Are you sure you want to archive with incomplete tasks? (yes/no)
For each spec file in openspec/changes/<change-name>/specs/**/*.md:
Read the delta spec and identify the operation headers:
## ADDED Requirements → Add new requirements to the main spec## MODIFIED Requirements → Update existing requirements in the main spec## REMOVED Requirements → Remove requirements from the main spec (with migration note)## RENAMED Requirements → Rename requirements in the main specFor ADDED requirements:
openspec/specs/<capability>/spec.md exists
For MODIFIED requirements:
### Requirement: <name> section in openspec/specs/<capability>/spec.md### Requirement: through all its scenarios) with the modified versionFor REMOVED requirements:
openspec/specs/<capability>/spec.md## Removed Requirements
### [Requirement Name] (removed: [DATE])
**Reason**: [from the delta spec]
**Migration**: [from the delta spec]
For RENAMED requirements:
Report each merge operation:
Merging specs for: [capability]
✓ ADDED: Requirement: [name]
✓ MODIFIED: Requirement: [name]
✓ REMOVED: Requirement: [name]
Move the change directory to the archive:
From: openspec/changes/<change-name>/
To: openspec/changes/archive/[TODAY'S DATE]-<change-name>/
Preserve all files (proposal.md, specs/, design.md, tasks.md, .openspec.yaml).
Change Archived: [change-name]
Specs Updated:
openspec/specs/[capability-1]/spec.md
✓ Added: [N] requirements
✓ Modified: [N] requirements
openspec/specs/[capability-2]/spec.md (created)
✓ Added: [N] requirements
Archived to:
openspec/changes/archive/[DATE]-[change-name]/
Active changes remaining: [N]
Next: Start a new change with /openspec:propose
No specs in the change: If openspec/changes/<change-name>/specs/ is empty or doesn't exist, skip the merge step and just archive the directory.
Conflicting requirements: If a MODIFIED requirement doesn't exist in the main spec (possibly deleted by another change), report the conflict:
⚠️ Conflict: Requirement "[name]" not found in openspec/specs/[capability]/spec.md
Options:
1. Add it as a new ADDED requirement instead
2. Skip this requirement
3. View the delta spec and decide manually
Missing main spec: If a capability's main spec doesn't exist for MODIFIED/REMOVED operations, ask the user how to proceed.