| name | veda-archive |
| model | claude-sonnet-4-6 |
| description | VEDA archival workflow. Moves finished projects to projects/_archive/ and updates all references. Never deletes — always preserves. Use when the user says /archive, "I'm done with [project]", "archive [project]", "close out [project]", "wrap up [project]". |
Archive Project
Move a finished or abandoned project to projects/_archive/. Preserve everything. Update references so the active project list stays clean.
Step 1: Identify the Target
If the user named a project, search for it:
find projects -maxdepth 2 -type f -name "*.md" -not -path "*/_archive/*"
find projects -maxdepth 1 -type d -not -path "projects" -not -path "projects/_archive*"
Use fuzzy matching against the slug. If unique match: confirm. If multiple matches: list and ask. If no match: list active projects, ask which they meant.
If the user did not name a project, list active ones and ask.
Step 2: Pre-Archive Checks
Before archiving, check for unfinished business:
Open action items linked to the project:
grep -B1 -A1 "PROJECT_SLUG" actions/OPEN.md
Open meetings or decisions referencing it:
grep -rl "\[\[PROJECT_SLUG\]\]" meetings/ decisions/
If there are open action items, ask:
"This project has N open action items. Should I close them out (with what outcome?), reassign them, or carry them to a different project?"
Resolve each before continuing. Never archive a project with open actions silently — they'd disappear from the live dashboard.
Step 3: Capture Outcome
"One sentence on how this ended? (So future-you knows whether it shipped, got cancelled, or was deprioritized.)"
Capture: outcome (shipped / cancelled / deprioritized / superseded), one-line summary, end date.
Step 4: Move the Files
Create the archive directory if needed:
mkdir -p projects/_archive
Move the project file (and any directory + assets):
mv projects/{slug}.md projects/_archive/{slug}.md
mv projects/{slug}-brief.md projects/_archive/{slug}-brief.md 2>/dev/null
mv projects/{slug}/ projects/_archive/{slug}/
Step 5: Update Frontmatter
Edit the archived file's frontmatter:
status: ARCHIVED
archived_date: YYYY-MM-DD
outcome: shipped | cancelled | deprioritized | superseded
outcome_note: "{one-line summary from Step 3}"
Add an ## Archive Note section at the top of the body:
## Archive Note
Archived YYYY-MM-DD — {outcome}. {one-line summary}.
Step 6: Update References
Remove from CLAUDE.md Active Projects table:
grep -v "PROJECT_SLUG" CLAUDE.md
Edit CLAUDE.md to remove the row.
Update MEMORY.md Active Projects table the same way.
Search for and update any links that should now point at the archive path:
grep -rl "projects/PROJECT_SLUG" . --include="*.md" | grep -v "_archive"
For each hit, decide: rewrite link to projects/_archive/{slug}.md, or leave alone (historical references in old meetings/journals are fine to leave pointing where they pointed).
Step 7: Log to Changelog
Append to meta/CHANGELOG.md:
## YYYY-MM-DD — Archived: {Project Name}
{outcome} — {one-line summary}. Moved to `projects/_archive/{slug}/`.
Update meta/STATS.md project counts.
Step 8: Confirm
"Archived. projects/_archive/{slug}.md if you ever need it. Active project count: N."