From wf
Optional cleanup after the wf workflow completes. Moves a finished feature's artifacts (brainstorm, plans, reviews) into .wf/archive/<feature_id>/ and resets STATE.md so the next /wf:brainstorm can start fresh. ADRs are kept in .wf/adr/ since they remain project-level decisions. Slash-only.
How this skill is triggered — by the user, by Claude, or both
Slash command
/wf:archiveThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Collapse a finished feature's scattered artifacts into a single archive directory. This skill is **optional** — if you prefer to keep finished features inline (so brainstorm / plans / reviews accumulate inline as a project history), simply do not run it.
Collapse a finished feature's scattered artifacts into a single archive directory. This skill is optional — if you prefer to keep finished features inline (so brainstorm / plans / reviews accumulate inline as a project history), simply do not run it.
Before doing anything else:
.wf/STATE.md. If absent, refuse — there is nothing to archive.phase is not done, refuse and tell the user the current phase. The user must finish the workflow (pass /wf:review) before archiving.feature_id from STATE.md frontmatter.You MUST create a task for each item:
.wf/brainstorm/<feature_id>.md.wf/brainstorm/<feature_id>-visual-*.html (if any).wf/plans/PRD-<feature_id>.md.wf/reviews/<feature_id>-*.md (one per review round).wf/adr/ — they are project-level decisions, not feature-scoped, and should remain reusable across future features..wf/archive/<feature_id>/ (and .wf/archive/<feature_id>/reviews/ for review subdir)git mv if the project is a git repository, otherwise plain mv. Apply the renaming table below.feature_id, blank phase, reset review_round to 0, append a phase-log entry recording the archive action./wf:brainstorm, or git add the archive directory if they want it tracked (note: .wf/ is gitignored by default; the archive directory inherits that).When moving files into .wf/archive/<feature_id>/, drop the redundant feature_id prefix from each filename — the containing directory already names the feature.
| Original path | Archive path |
|---|---|
.wf/brainstorm/<feature_id>.md | .wf/archive/<feature_id>/brainstorm.md |
.wf/brainstorm/<feature_id>-visual-1.html | .wf/archive/<feature_id>/brainstorm-visual-1.html |
.wf/plans/PRD-<feature_id>.md | .wf/archive/<feature_id>/PRD.md |
.wf/reviews/<feature_id>-1.md | .wf/archive/<feature_id>/reviews/round-1.md |
.wf/reviews/<feature_id>-2.md | .wf/archive/<feature_id>/reviews/round-2.md |
After archiving, rewrite .wf/STATE.md to:
---
feature_id:
phase:
created_at:
review_round: 0
---
## Current Task
## Phase Log
- <ISO 8601 timestamp> archived <feature_id> to .wf/archive/<feature_id>/
The next /wf:brainstorm invocation will detect the empty STATE and treat it as a fresh start.
archive/, never removed. If you want to delete a feature's artifacts entirely, do it manually after archiving..wf/adr/ is left untouched since ADRs are project-level decisions reusable across features..wf/ is gitignored. If you want the archive tracked, you must explicitly git add it and force past the gitignore yourself.Run after /wf:review reports a pass verdict (STATE phase becomes done). Use it when:
.wf/ for the next feature./wf:brainstorm and want the previous feature's scattered files out of the way.If you prefer keeping finished features inline as accumulating project history, do not run this skill — it is optional, not a required terminal step.
/wf:review passing, not archiving..wf/adr/ across feature cycles.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub anthoooooooony/wf --plugin wf