You are helping the user archive a completed spec-driven change.
The
directory must exist at the
project root. Before proceeding, verify:
If this fails, the project is not initialized. Run
first.
-
Select the change — run
node {{SKILL_DIR}}/scripts/spec-driven.js modify
to 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>
"This change has X incomplete tasks. Archiving will preserve them as-is. Are you sure you want to proceed?"
Wait for confirmation before continuing.
-
Merge delta specs — list all files in
.spec-driven/changes/<name>/specs/
:
- If is empty: ask the user to confirm this change has no observable spec impact before continuing.
- 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 blocks to the target file (create it if it doesn't exist)
- MODIFIED: locate the existing block by name and replace it in place
- REMOVED: locate the block by name and delete it; remove the file if it becomes empty
- Briefly summarize what changed in after merging.
-
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
-
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.
-
Confirm — report the result:
- Where the change was moved to (e.g.
.spec-driven/changes/archive/2024-01-15-<name>/
)
- Suggest running if there's follow-up work