From vault
PARA maintenance knowledge — batch discipline, CI-001 loop, inbox lifecycle, archive patterns. Load for vault maintenance capability without role enforcement. Keywords: PARA, maintenance, inbox lifecycle, CI-001, batch, archive, housekeeping, frontmatter, vault hygiene, scan, triage, dispatch, completion gate, NDP-001
How this skill is triggered — by the user, by Claude, or both
Slash command
/vault:vault-maintainerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
PARA maintenance knowledge for the Teslasoft Obsidian vault. Encapsulates batch discipline, inbox item lifecycle, CI-001 loop capabilities, and archive patterns.
PARA maintenance knowledge for the Teslasoft Obsidian vault. Encapsulates batch discipline, inbox item lifecycle, CI-001 loop capabilities, and archive patterns.
vault-metadata)vault-notes)vault-templates)vault-boot)Canonical schemas live in the vault-metadata skill. Load it for full definitions, validation rules, and migration patterns.
Quick reference for maintenance decisions:
| Type | Required Fields | Status Values |
|---|---|---|
| inbox | type, status, project, priority, phase | active, dispatched, review, done, blocked |
| project | type, status, goal, priority | active, paused, complete |
| goal | type, status, timeframe | active, achieved, deferred |
| area | type, status | active, archived |
| resource | type, status | active, archived |
| spec | type, status, project, version | draft, review, approved |
Canonical type values: inbox, project, goal, area, resource, spec, collab, science, skill
Important: type: resource is canonical (never ressource). assigned_role is canonical (never role). phase must be a string value: collect, analyze, implement, verify, integrate.
The project and goal fields use wikilink format. Getting this wrong breaks Dataview, lifecycle panels, and para-indexer relationship chains.
project field — all PARA typesproject: "[[P60-Cowork-Plugin-Rewrite]]" # CORRECT
project: P60-Cowork-Plugin-Rewrite # WRONG — plain string
project: [[P60-Cowork-Plugin-Rewrite]] # WRONG — unquoted
goal field — project notes only# CORRECT — single goal (quoted wikilink string)
goal: "[[G-2026-Q1 Teslasoft Portfolio fertigstellen]]"
# CORRECT — multiple goals (YAML block sequence)
goal:
- "[[G-2026-Q1 Teslasoft Portfolio fertigstellen]]"
- "[[G-2026-Q1 FixIt Aachen Mockup vorbereiten]]"
# WRONG — inline bracket array, breaks Dataview queries
goal: ["[[G-2026-Q1 Teslasoft Portfolio fertigstellen]]"]
# WRONG — unquoted wikilink
goal: [[G-2026-Q1 Teslasoft Portfolio fertigstellen]]
For a single goal use a quoted wikilink string. For multiple goals use YAML block sequence (one entry per line with -). Never use inline bracket array [...] syntax.
The linter may fix working-tree copies AFTER staging. Always verify staged content with git diff --cached before committing — the staged version is what goes into git, not the working-tree copy.
All vault maintenance operations follow a deterministic batch pipeline. Never process items one-by-one.
scan --> classify --> batch-prepare --> batch-execute --> verify
inbox_list, vault_list, vault_query) or Jarvis state data.[ai:vault-maintainer@{branch}]verification-before-completion skill before committingEvery inbox item follows this lifecycle. Each transition has a quality gate.
create --> triage --> dispatch --> execute --> review --> complete --> archive
| From | To | Gate | Who |
|---|---|---|---|
| (new) | create | Must have project field, valid frontmatter per vault-metadata | vault-maintainer, inbox-author |
| create | triage | Assign priority, execution_mode, phase, assigned_role | orchestrator |
| triage | dispatch | status -> dispatched, assign to session/worktree | orchestrator |
| dispatch | execute | Agent works, records commit IDs in progress log | assigned agent |
| execute | review | Quality gate check: commit present, tests recorded, gate result per phase | orchestrator, reviewer |
| review | complete | status -> done, all quality gates pass | orchestrator |
| complete | archive | Move to 90_Archive/ via archive skill or INTEGRATE phase | vault-maintainer (with archive skill) |
Each phase in an inbox item's CI-001 structure must record:
PASS, FAIL, or BLOCKEvery inbox item must maintain a Progress Log table:
| Phase | Status | Commit | Tests | Date |
|-------|--------|--------|-------|------|
| 1. ANALYZE | done | abc1234 | N/A | 2026-03-28 |
| 2. IMPLEMENT | in-progress | --- | --- | --- |
The 7-step housekeeping cycle for automated vault hygiene. Previously owned by the housekeeper role, now absorbed into vault-maintainer.
pnpm health)coordination/jarvis/state.json contains a housekeeping section00_Inbox/housekeeping/ directory existsExecute sequentially. Each step completes before the next begins.
Read coordination/jarvis/state.json, extract housekeeping section. Group items by risk level:
If housekeeping section is missing, trigger collection via Jarvis (jarvis_collect MCP tool or POST /jarvis/collect). Wait, retry once. If still missing, exit cycle with error log.
Execute items where auto_resolvable: true and risk_level: low.
| Category | Action | Verification |
|---|---|---|
vop002_drift | Diff package.json scripts against VAULT.md. Add missing, remove stale. | Re-read both files, confirm parity. |
thread_archival | Move done threads from harness-control.md to archive. | Confirm removed from active table. |
alert_stale | Resolve alerts older than 24h via Jarvis API. | Confirm alert count decreased. |
resolved_proposal | Archive resolved/executed/deferred proposals. | Confirm removed from inbox. |
After each auto-execution, verify the result. If verification fails, log and continue.
Create proposal notes at 00_Inbox/housekeeping/HK-{YYYY-MM-DD}-{NNN}.md for items requiring human review.
| Category | Risk | Strategies |
|---|---|---|
learned_rule | medium | apply, defer (30 days), modify |
hook_fix | high | apply (worktree), defer, modify |
policy_change | high | apply, defer (30 days), modify |
drone_code | high | apply (worktree + tests), defer, modify |
Scan 00_Inbox/housekeeping/*.md for proposals with review_status: approved and strategy set.
executed.worktrees/housekeeping, branch housekeeping/{id}, do NOT auto-mergedeferred_until (+30 days), resolve related Jarvis alertneeds-attentionreview_status: executedHOUSEKEEPING_CYCLE_COMPLETE telemetry eventArchive resolved proposals and old reports from 00_Inbox/housekeeping/ to 90_Archive/00_Inbox/housekeeping/. Use archive skill. Follow NDP-001.
Single atomic commit per cycle:
[ai:vault-maintainer@{branch}] chore: housekeeping cycle -- {summary}
All archive operations follow the NDP-001 Archive Decision Matrix.
| Category | Action | Examples |
|---|---|---|
| Always archive | Move to 90_Archive/ | Completed projects, goals, historical decisions, user-created content |
| Summarize then delete | Add "Superseded by" link, then delete | Superseded project files, processed inbox items, replaced drafts |
| Delete without archive | Delete directly | Test/scratch files, generated artifacts, duplicates, WIP drafts, lifecycle files |
| Never delete | Leave in place | Active projects, policy files, config files, user data |
inbox_archive — single item archiveinbox_archive_batch — batch archive (preferred for multiple items)90_Archive/archived_from: {original_path} to frontmatter when archivinggit add -A), max 5 deletions per commit without explicit approvalarchive skill loaded OR explicit INTEGRATE phase authorization (LR-ARC-005)The vault-maintainer operates in governance mode. This means:
submodule_code_edit: forbidden)| Operation | Method | Gate |
|---|---|---|
| Create | inbox_create MCP or Write tool | Must have project field if project-scoped (LR-INB-001) |
| Update status | vault_frontmatter MCP or Edit tool | Verify no downstream query breakage |
| Update frontmatter | vault_frontmatter MCP or Edit tool | Must match vault-metadata schema |
| Move | Bash mv + update internal links | Verify all wikilinks still resolve |
| Archive | inbox_archive MCP or archive skill | NDP-001 matrix check |
[ARCHIVED] suffix in wikilinksBefore committing any vault maintenance batch:
verification-before-completion skill has been runnpx claudepluginhub teslasoft-de/claude-skills-marketplace --plugin vaultGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.