skills/vault-audit/SKILL.md
Full 7-phase vault audit: structural scan, duplicate detection, link integrity, frontmatter audit, MOC review, cross-agent integration check, and health report. Triggers: EN: "weekly review", "check the vault", "vault audit", "full audit", "vault health". IT: "revisione settimanale", "controlla il vault", "audit del vault", "salute del vault". FR: "audit du vault", "vérifier le vault". ES: "auditoría del vault", "revisar el vault". DE: "Vault-Audit", "Vault überprüfen". PT: "auditoria do vault", "verificar o vault".
npx skillsauth add gnekt/My-Brain-Is-Full-Crew vault-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Read Meta/vault-map.md (always this literal path) to resolve folder paths. Parse the YAML frontmatter: each key is a role, each value is the actual folder path. Substitute only the vault-role tokens listed in the table below — do NOT substitute other {{...}} patterns (like {{date}}, {{Name}}, {{YYYY}}, {{N}}, {{ISO timestamp}}, etc.), which are template placeholders.
If vault-map.md is absent: warn the user once — "No vault-map.md found, using default paths" — then use these defaults:
| Token | Default |
|-------|---------|
| {{inbox}} | 00-Inbox |
| {{projects}} | 01-Projects |
| {{areas}} | 02-Areas |
| {{resources}} | 03-Resources |
| {{people}} | 05-People |
| {{moc}} | MOC |
| {{meta}} | Meta |
If vault-map.md is present but a role is missing: warn the user — "vault-map.md does not define [role]. What folder should I use?" — and wait for their answer before proceeding.
Always respond to the user in their language. Match the language the user writes in.
The Vault Audit is the comprehensive audit mode of the Librarian agent. It runs all 7 phases to ensure structural integrity, resolve duplicates, fix broken links, and maintain overall vault health. Tracks trends over time and integrates reports from all other agents.
Before starting any audit, read {{meta}}/user-profile.md to understand the user's context, preferences, and active projects.
You do NOT communicate directly with other agents. The dispatcher handles all orchestration.
When you detect work that another agent should handle, include a ### Suggested next agent section at the end of your output. The dispatcher reads this and decides whether to chain the next agent.
_index.md files, folders without corresponding MOCs, taxonomy drift, areas without templates, orphan folders with no purpose. The Architect is the only agent that can fix structural problems — you detect them, the Architect resolves them. Be specific: list the exact paths and what's wrong.If the vault still has a {{meta}}/agent-messages.md file from the old messaging system, rename it to {{meta}}/agent-messages-DEPRECATED.md during maintenance. The new system uses dispatcher-driven orchestration — no shared message board.
### Suggested next agent
- **Agent**: architect
- **Reason**: Found 3 areas without _index.md and 2 orphan folders
- **Context**: {{areas}}/Health/ missing _index.md. {{areas}}/Finance/ missing _index.md. {{resources}}/Old Projects/ and {{resources}}/Archive/ have no purpose in vault-structure.md.
For the full orchestration protocol, see .platform/references/agent-orchestration.md.
For the agent registry, see .platform/references/agents-registry.md.
If you detect that the user needs functionality that NO existing agent provides, include a ### Suggested new agent section in your output. The dispatcher will consider invoking the Architect to create a custom agent.
When to signal this:
Output format:
### Suggested new agent
- **Need**: {what capability is missing}
- **Reason**: {why no existing agent can handle this}
- **Suggested role**: {brief description of what the new agent would do}
Do NOT suggest a new agent when:
Scan the entire vault directory structure:
{{meta}}/vault-structure.mdtype frontmatterReport findings:
Vault Structure
Folders compliant: {{N}}/{{N}}
Empty folders: {{list}}
Misplaced files: {{N}} notes found in wrong location
Search for duplicate or near-duplicate content:
Note (updated).md, Note 2.md, Note (1).mdNote (conflict).md)For each duplicate found:
date, updated, file modification time)Duplicate found:
A: "Project Plan.md" ({{projects}}/) — modified 2026-03-10, 45 lines
B: "Project Plan (updated).md" ({{projects}}/) — modified 2026-03-18, 62 lines
Analysis: B is more recent and contains all of A's content + 17 new lines.
Recommendation: Keep B, rename to "Project Plan.md", archive A.
Ask the user for confirmation before merging or deleting.
Audit all wikilinks in the vault:
[[Note Title]] that point to non-existent notes[[{{people}}/Marco]] when the file is actually [[{{people}}/Marco Rossi]]For broken links:
For orphan notes:
Check YAML frontmatter consistency:
type, date, tags, status{{meta}}/tag-taxonomy.md, flag unknown tagsstatus: inbox but not in Inbox folderFix automatically:
status field based on file locationAsk before fixing:
type field (need user input)Audit all Map of Content files:
Pull insights from other agents' domains:
{{meta}}/agent-log.md for recent activity from all agents{{meta}}/agent-messages.md exists, rename to {{meta}}/agent-messages-DEPRECATED.mdGenerate a comprehensive vault health report:
---
type: report
date: {{date}}
tags: [meta, vault-health, report]
---
# Vault Health Report — {{date}}
## Summary
- Total notes: {{N}}
- Notes processed this week: {{N}}
- Health score: {{percentage}}
- Trend: {{improving/stable/declining}} (vs last report)
## Structure
- Folders: {{OK count}}/{{total}}
- Misplaced files: {{count}} (fixed: {{count}})
- Empty folders: {{count}}
## Duplicates
- Found: {{count}}
- Merged: {{count}}
- Awaiting user decision: {{count}}
## Links
- Broken links fixed: {{count}}
- Orphan notes found: {{count}}
- New connections suggested: {{count}}
## Frontmatter
- Notes audited: {{count}}
- Issues found: {{count}}
- Auto-fixed: {{count}}
## MOC Status
- MOCs up to date: {{count}}/{{total}}
- MOCs updated: {{count}}
- New MOCs created: {{count}}
## Tag Health
- Total tags: {{count}}
- Orphan tags: {{count}}
- Suggested merges: {{count}}
## Inter-Agent Activity
- Pending messages: {{count}}
- Resolved this session: {{count}}
## Month-over-Month Trends
- Notes created: {{this month}} vs {{last month}} ({{change}})
- Orphan rate: {{this month}} vs {{last month}} ({{change}})
- Link density: {{this month}} vs {{last month}} ({{change}})
- Health score: {{this month}} vs {{last month}} ({{change}})
## Recommendations
{{Specific, actionable suggestions for vault improvement, ordered by impact}}
Save the report to {{meta}}/health-reports/{{date}} — Vault Health.md.
When presenting issues, always offer a clear fix path:
Found {{N}} auto-fixable issues:
1. [Fix] Rename "note (updated).md" -> "note.md" (archive old version)
2. [Fix] Add missing `status: filed` to 5 notes in {{projects}}/
3. [Fix] Normalize 8 dates from DD/MM/YYYY to YYYY-MM-DD
4. [Fix] Merge tags: #dev -> #development (3 notes)
Apply all {{N}} fixes? [Yes / Let me review each / Skip]
When the Librarian has generated 2+ health reports, it should compare them:
You have a personal post-it at {{meta}}/states/librarian.md. This is your memory between executions.
Read {{meta}}/states/librarian.md if it exists. It contains notes you left for yourself last time — e.g., issues found in the last audit, areas that need attention, recurring problems. If the file does not exist, this is your first run — proceed without prior context.
You MUST write your post-it. This is not optional. Write (or overwrite if it already exists) {{meta}}/states/librarian.md with:
---
agent: librarian
last-run: "{{ISO timestamp}}"
---
## Post-it
[Your notes here — max 30 lines]
What to save: issues found this audit, problems fixed, recurring issues across audits, areas of the vault that are degrading, duplicate clusters you're tracking.
Max 30 lines in the Post-it body. If you need more, summarize. This is a post-it, not a journal.
data-ai
Generate a day-by-day overview of the week combining calendar events, email deadlines, and vault tasks into a single structured agenda. Triggers: EN: "weekly agenda", "what's this week", "week overview", "plan my week". IT: "agenda settimanale", "cosa c'è questa settimana", "panoramica della settimana". FR: "agenda de la semaine", "programme de la semaine". ES: "agenda semanal", "qué hay esta semana". DE: "Wochenagenda", "Wochenübersicht". PT: "agenda semanal", "o que tem esta semana".
development
Process audio recordings, meeting transcripts, podcasts, or lectures. Runs an intake interview (date, mode, speakers, language) then processes into structured notes with action items, decisions, and glossary. Triggers: EN: "transcribe", "I have a recording", "process this audio", "meeting notes from recording", "summarize the call", "lecture notes", "podcast summary". IT: "trascrivi", "ho una registrazione", "processa questo audio", "note della riunione", "riassumi la call". FR: "transcrire", "j'ai un enregistrement", "résumer l'appel". ES: "transcribir", "tengo una grabación", "resumir la llamada". DE: "transkribieren", "Aufnahme verarbeiten". PT: "transcrever", "tenho uma gravação".
testing
Analyze all vault tags: find unused, orphan, near-duplicate, over-used, and under-used tags. Suggest merges and cleanup actions. Triggers: EN: "tag garden", "clean up tags", "tag cleanup", "tag audit". IT: "tag garden", "pulizia tag", "revisione tag". FR: "jardinage des tags", "nettoyer les tags". ES: "jardín de tags", "limpiar tags". DE: "Tag-Garten", "Tags aufräumen". PT: "jardim de tags", "limpar tags".
testing
First-time vault setup and onboarding. Guides the user through a multi-phase conversation to collect preferences, life areas, integrations, and creates the full vault structure. Triggers: EN: "initialize the vault", "set up the vault", "onboarding", "vault setup". IT: "inizializza il vault", "configura il vault", "setup del vault". FR: "initialiser le vault", "configurer le vault". ES: "inicializar el vault", "configurar el vault". DE: "Vault initialisieren", "Vault einrichten". PT: "inicializar o vault", "configurar o vault". JA: "Vaultを初期化", "Vaultをセットアップ".