How this skill is triggered — by the user, by Claude, or both
Slash command
/spec:archiveThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Archive a completed change. This updates the system description, commits the
Archive a completed change. This updates the system description, commits the work, then cleans up.
Input: Optionally specify a change name after /spec:archive (e.g.,
/spec:archive add-auth). If omitted, check if it can be inferred from
conversation context. If vague or ambiguous you MUST prompt for available
changes.
Steps
Select the change
If no change name provided, list directories in specs/changes/ (excluding
archive/). Use the AskUserQuestion tool to let the user select.
IMPORTANT: Do NOT guess or auto-select a change. Always let the user choose.
Check readiness
a. Check artifacts exist. Read the change's directory
specs/changes/<name>/ and verify the expected files are present
(proposal.md, architecture.md, plan.md, and optionally domain.md).
If any are missing, warn the user and ask for confirmation to continue.
b. Check task completion. Read plan.md and count - [ ] (incomplete)
vs - [x] (complete).
If incomplete steps remain, display a warning with the count and ask for confirmation to continue.
If no plan.md exists, proceed without warning.
Ensure a system description exists
Check if specs/system/ exists with at least domain.md and
architecture.md.
If no system description exists: Ask the user if you should create one
now using /spec:document-system. Wait for their answer. If yes, invoke it
before continuing. If no, proceed without.
Update the system description
Read all artifacts from the change (proposal.md, domain.md, architecture.md,
plan.md) and the current system description files in specs/system/.
Update every relevant perspective of the system description to reflect what this change introduced:
specs/system/ — Update whatever is relevant. If
the change touches aspects not yet captured, add them.Use Mermaid diagrams to visualize new or changed structures, flows, and relationships. Update existing diagrams in the system description if this change alters them.
The goal: after archiving, the system description fully reflects the current state of the system including this change. Don't leave knowledge only in the archived change artifacts.
Prepare commit and suggest to the user
Draft a concise, descriptive commit message summarizing what this change accomplished (not the archive action, but the actual work). For example:
Add role-based access control with JWT authentication
Present the commit message to the user and suggest they commit now. Use the AskUserQuestion tool to confirm. Wait for approval before proceeding.
Once approved, stage and commit all current changes (implementation code + updated system description).
Delete the change
Remove the change directory:
rm -rf specs/changes/<name>
Then commit again with the same message appended with
- cleaned from change. For example:
Add role-based access control with JWT authentication - cleaned from change
Display summary
## Archive Complete
**Change:** <change-name>
### Commits
1. <commit message> — implementation + system description update
2. <commit message> - cleaned from change
### System Description Updated
- specs/system/domain.md — <brief summary of updates>
- specs/system/architecture.md — <brief summary of updates>
- specs/system/functional.md — <brief summary of updates>
Guardrails
npx claudepluginhub tillg/till-claude-code-marketplace --plugin specGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.