Keep vault_index.md synchronized with current vault structure
Automatically sync .claude/vault_index.md with your actual MOCs/, Projects/, and Reading/ directories.
The vault index is the entry point to your research graph (per CLAUDE.md rules). It must stay current to reflect:
Read .claude/vault_maintanance.md and note the update_vault_index: timestamp.
Default: incremental scan — only process files modified after the update_vault_index: timestamp.
Use find Projects/ MOCs/ -newer <reference_file> to identify changed files.
To use a reference file:
touch -t YYYYMMDDHHMI /tmp/vault_index_ref && find ... -newer /tmp/vault_index_refProjects/ for status categorization even in incremental mode (status may have changed without file modification time changing).Scan directories:
MOCs/ → extract all MOC file namesProjects/ → extract all project file names + status fieldReading/ → optional: list recent papers (last 5-10)Extract metadata:
status fieldGroup projects by status (maintain this order):
seed (early-stage ideas generated by Claude)idea (refined projects approved by human)active (actively working on it)writing (writing paper and finishing project)finished (completed)Sort alphabetically within each group.
Structure (preserve exactly):
# Vault Index
## Research Areas (MOCs)
- [[MOC Name]] - brief description (1 line)
- ...
## Seed Projects
- [[Project Name]] - brief description (1 line)
- ...
## Idea Projects
- [[Project Name]] - brief description (1 line)
- ...
## Active Projects
- [[Project Name]] - brief description (1 line)
- ...
## Writing Projects
- [[Project Name]] - brief description (1 line)
- ...
## Finished Projects
- [[Project Name]] - brief description (1 line)
- ...
Get descriptions from:
Rules:
Example:
- [[Persona Fingerprinting to Prevent Emergent Misalignment]] -
Preserve identity fingerprint during finetuning to prevent misalignment
After writing vault_index.md:
date via Bash to get the current system time.claude/vault_maintanance.mdupdate_vault_index: line to current date and time in format DD-MM-YYYY HH:MMpapers_since_vault_index: to 0projects_since_vault_index: to 0Example update:
update_vault_index: 10-02-2026 14:35
✅ All MOCs present with descriptions
✅ All seed projects listed (status: seed)
✅ All idea projects listed (status: idea)
✅ All active projects listed (status: active)
✅ All writing projects listed (status: writing)
✅ All finished projects listed (status: finished)
✅ Projects in correct order (Seed → Idea → Active → Writing → Finished)
✅ Alphabetical within each section
✅ Wiki links match exact file names in [[brackets]]
✅ No orphan files referenced
Optimizations:
status:\s*Fast execution:
✅ Did I read all MOCs, projects from actual directories?
✅ Did I extract status field from each project file?
✅ Did I categorize correctly (Seed/Idea/Active/Writing/Finished)?
✅ Did I maintain correct section order (Seed → Idea → Active → Writing → Finished)?
✅ Did I use exact file names in [[wiki links]]?
✅ Did I get descriptions from actual file content?
✅ Did I keep descriptions to 1 line max?
✅ Did I verify no broken links in output?
✅ Did I preserve vault_index.md structure exactly?
✅ Did I update vault_maintanance.md with current timestamp?