/archive Skill
SkillDev toolsSoft archive a note by adding archive metadata and moving to the +Archive folder.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /archive Skill skill
About this capability
A comprehensive knowledge management system for Solutions Architects using AI
What this skill tells your AI
The instructions your AI receives, as published by davidroliverba/architectkb in .claude/skills/archive/SKILL.md and read by ahel’s review.
Soft archive a note by adding archive metadata and moving to the +Archive folder.
Usage
/archive <note-name>
/archive "Project - Old Initiative"
/archive [[Task - Completed thing]]
Can use note title, filename, or wiki-link format.
Supported Note Types
| Type | Archive Location | Trigger |
|---|---|---|
| Project | +Archive/Projects/ | Completed 6+ months ago |
| Task | +Archive/Tasks/ | Completed 3+ months ago |
| Page | +Archive/Pages/ | Outdated, superseded |
| Person | +Archive/People/ | Left organisation 3+ months ago |
Not supported (leave as-is):
- DailyNote — Year folders are the archive
- Meeting — Already temporal records
- ADR — Historical decisions must stay visible
- Organisation — Reference material
- AtomicNote — Update instead of archive
- Zettel — Permanent by design
- Incubator/IncubatorNote — Status field handles lifecycle
Instructions
-
Find the note
- Search for the note by name/title
- If not found, inform user and stop
- If multiple matches, ask user to clarify
-
Check note type
- Read the frontmatter
typefield - If type is not supported for archiving, inform user:
"This note type ({{type}}) doesn't need archiving. [Explain why based on type]"
- Stop if not supported
- Read the frontmatter
-
Confirm with user
- Show current note location and type
- Ask: "Archive this note? (Y/n)"
- If user declines, stop
-
Ask for archive reason (optional)
- "Reason for archiving? (or skip)"
- Common reasons:
- Project: "Project completed"
- Task: "Task completed"
- Page: "Content outdated" / "Superseded by [[New Page]]"
- Person: "Left organisation"
-
Update frontmatter Add these fields:
archived: true archivedDate: YYYY-MM-DD # Today's date archivedReason: "<reason>" # If providedFor Pages, also ask:
- "Is this superseded by another page? (enter link or skip)"
- If yes, add:
supersededBy: "[[Page Name]]"
-
Add archived tag Add
archivedto the tags array:tags: - existing-tag - archived -
Determine destination folder
Type Destination Project +Archive/Projects/Task +Archive/Tasks/Page +Archive/Pages/Person +Archive/People/ -
Create archive folder if needed
- Check if destination folder exists
- Create if missing (e.g.,
mkdir -p "+Archive/Projects")
-
Move the file
- Use
git mvto preserve history:git mv "original/path/Note.md" "+Archive/Type/Note.md" - Obsidian will auto-update wiki-links pointing to this note
- Use
-
Confirm to user
Archived: Note Name From: original/path/ To: +Archive/Type/ Reason: <reason> Wiki-links to this note will continue to work.
Examples
Archive a completed project
User: /archive "Project - Legacy Migration"
Claude:
- Finds: Project - Legacy Migration.md
- Type: Project
- Status: completed
- Last modified: 2025-06-15 (7 months ago)
"Archive 'Project - Legacy Migration'? (Y/n)"
User: Y
"Reason for archiving? (or skip)"
User: Project completed, in production
Claude:
- Adds archived: true, archivedDate: 2026-01-10, archivedReason: "Project completed, in production"
- Adds 'archived' tag
- Moves to +Archive/Projects/Project - Legacy Migration.md
"Archived: Project - Legacy Migration
From: root
To: +Archive/Projects/
Reason: Project completed, in production"
Archive an outdated page
User: /archive "Page - Old API Guide"
Claude:
- Finds: Page - Old API Guide.md
- Type: Page
"Archive 'Page - Old API Guide'? (Y/n)"
User: Y
"Reason for archiving? (or skip)"
User: Superseded
"Is this superseded by another page? (enter link or skip)"
User: Page - New API Guide v2
Claude:
- Adds archived: true, archivedDate, archivedReason
- Adds supersededBy: "[[Page - New API Guide v2]]"
- Moves to +Archive/Pages/
"Archived: Page - Old API Guide
Superseded by: [[Page - New API Guide v2]]"
Archive a departed colleague
User: /archive "Sarah Chen"
Claude:
- Finds: +People/Sarah Chen.md
- Type: Person
"Archive 'Sarah Chen'? This is typically for people who have left the organisation. (Y/n)"
User: Y
"Reason for archiving? (or skip)"
User: Left YourOrg June 2025
Claude:
- Adds archived: true, archivedDate, archivedReason: "Left YourOrg June 2025"
- Moves to +Archive/People/Sarah Chen.md
"Archived: Sarah Chen
From: +People/
To: +Archive/People/
Reason: Left YourOrg June 2025
Note: Links like [[Sarah Chen]] in meeting notes will continue to work."
Batch Archive
For batch archiving (e.g., all completed tasks older than 3 months):
/archive batch tasks
This will:
- Find all tasks where
completed: trueandmodified> 3 months ago - List them for review
- Ask for confirmation
- Archive all in one operation
Reversing an Archive
To unarchive, manually:
- Move file back to original location
- Remove
archived: truefrom frontmatter - Remove
archivedtag - Optionally remove
archivedDateandarchivedReason
Or create an /unarchive skill if this becomes common.
Dataview Integration
After archiving, update MOC queries to exclude archived content:
TABLE status, priority
FROM ""
WHERE type = "Project" AND archived != true
SORT modified DESC
Notes
- Links preserved: Obsidian updates wiki-links when files move
- Git history preserved: Using
git mvmaintains file history - Reversible: Can always move back and remove flags
- Searchable: Archived content still searchable when needed
Signals
- GitHub stars
- 52
- Forks
- 12
- Last commit
- Mar 2026
Advanced
- Catalog kind
- skill
- Gateway key
archive-davidroliverba- Source
- github.com/davidroliverba/architectkb