About spec-driven-archive
spec-driven-archive is a skill for archiving completed spec-driven changes in projects using `.spec-driven/`. It coordinates CLI checks and AI-led spec merging, and blocks archiving while tasks remain incomplete.
Key features
- 01Lists active changes
- 02Checks task completion before archiving
- 03Merges delta specs into main specs
- 04Updates spec index and mappings
- 05Archives changes and reconciles roadmap
Use cases
- 01Closing a completed spec-driven change
- 02Applying added, modified, or removed requirements
- 03Updating specs and roadmap during archive
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ kw12121212/ auto-spec-driven --skill spec-driven-archiveAfter installing, type/spec-driven-archivein Claude Code to confirm it loaded.
Details
From the project READMEYou are helping the user archive a completed spec-driven change.
This Skill's Commands
If you cannot remember the exact command used by this skill, look it up here before running anything. Do not guess.
modify: node {{SKILL_DIR}}/scripts/spec-driven.js modify
apply: node {{SKILL_DIR}}/scripts/spec-driven.js apply <name>
verify-spec-mappings: node {{SKILL_DIR}}/scripts/spec-driven.js verify-spec-mappings
archive: node {{SKILL_DIR}}/scripts/spec-driven.js archive <name>
Responsibility Split
Explicitly distinguish script work from AI work when you run this skill.
Handled by CLI scripts
node {{SKILL_DIR}}/scripts/spec-driven.js modifylists active changesnode {{SKILL_DIR}}/scripts/spec-driven.js apply <name>reports task completion statusnode {{SKILL_DIR}}/scripts/spec-driven.js archive <name>moves the change directory into.spec-driven/changes/archive/YYYY-MM-DD-<name>/and, when.spec-driven/roadmap/exists, reconciles any affected milestone declared status plus.spec-driven/roadmap/INDEX.md
Handled by the AI
- Ask the user which change to archive when needed
- Interpret the
applyoutput and block archive when tasks remain incomplete - Inspect
.spec-driven/changes/<name>/specs/, merge delta specs into.spec-driven/specs/, and remove emptied main spec files when required byREMOVED - Accept empty
specs/without confirmation — changes without spec impact are valid - Update
.spec-driven/specs/INDEX.mdto reflect created or deleted main spec files - Preserve or apply spec mapping frontmatter during spec merges
- Summarize the merged spec impact, any roadmap status changes caused by archive, and the final archive location
Prerequisites
The .spec-driven/ directory must exist at the project root. Before proceeding, verify:
ls .spec-driven/
If this fails, the project is not initialized. Run /spec-driven-init first.
Steps
-
Select the change — run
node {{SKILL_DIR}}/scripts/spec-driven.js modifyto list active changes. Ask which change to archive. If already specified, use it. -
Check for incomplete tasks — run:
node {{SKILL_DIR}}/scripts/spec-driven.js apply <name>If
remaining > 0, stop — archiving is not allowed until all tasks are complete. List the incomplete tasks and suggest/spec-driven-apply <name>or/spec-driven-cancel <name>. -
Merge delta specs — list all files in
.spec-driven/changes/<name>/specs/:- If
specs/is empty: proceed without confirmation — changes without spec impact are valid. - For each delta file (e.g.
specs/install/install-behavior.md), merge into the corresponding main spec file (e.g..spec-driven/specs/install/install-behavior.md): - ADDED: append the
### Requirement:blocks to the target file (create it if it doesn't exist) - MODIFIED: locate the existing
### Requirement: <name>block by name and replace it in place - REMOVED: locate the
### Requirement: <name>block by name and delete it; remove the file if it becomes empty - If the delta file contains mapping frontmatter, apply that frontmatter to the target main spec file before moving the change to archive
- Briefly summarize what changed in
specs/after merging.
- If
-
Update specs/INDEX.md — after merging, update
.spec-driven/specs/INDEX.md:- Add entries for any newly created spec files (with a one-line description)
- Remove entries for any deleted spec files
- Leave existing entries unchanged unless the file's scope changed
- Run
node {{SKILL_DIR}}/scripts/spec-driven.js verify-spec-mappingsand fix mapping frontmatter errors before archive closeout
-
Archive the change — run:
node {{SKILL_DIR}}/scripts/spec-driven.js archive <name>This moves the entire change directory (including questions.md) to the archive. If
.spec-driven/roadmap/exists, the command also reconciles milestone declared status and regenerates.spec-driven/roadmap/INDEX.mdfor any milestone affected by the archived change. -
Confirm — report the result:
- Where the change was moved to (e.g.
.spec-driven/changes/archive/2024-01-15-<name>/) - Any milestone declared status or roadmap index entry that changed because of archive
- Suggest running
/spec-driven-proposeif there's follow-up work
- Where the change was moved to (e.g.
Rules
- Always check for incomplete tasks before archiving
- Never archive a change with incomplete tasks
- Always state which steps are script-executed and which are AI-executed
- Always merge delta specs before archiving — this is a hard gate, not optional
- If
changes/<name>/specs/is empty, proceed without confirmation — changes without spec impact are valid - Deleting requirements or empty spec files in
.spec-driven/specs/is allowed when applyingREMOVEDdelta entries - Do not delete the change directory manually — archive the change by running the archive command
- Keep implementation and test mappings in frontmatter, not in requirement prose