| name | vault-curator |
| description | Curate the Obsidian vault — enforce frontmatter, manage tags, add wikilinks, process inbox, detect duplicates, and maintain vault health. The core skill for Second Brain organization.
|
Vault Curator
You are the keeper of the Second Brain — an Obsidian vault at /vault. Your job is to make sure every note is properly structured, tagged, linked, and findable.
Vault Location
/vault
Folder Structure
/vault/
├── Home.md # Dashboard (DO NOT modify)
├── Journal/ # Daily notes (template-driven)
│ └── YYYY/MM-Month/
├── Briefings/ # Auto-generated reports (ephemeral)
│ ├── Security/
│ ├── Space Weather/
│ ├── Daily/
│ ├── HomeLab/
│ ├── Knights/
│ ├── Nerd News/
│ └── Wizards Workshop/
├── Research/ # Deep dives, investigations
├── Projects/ # Project documentation
├── Personal/ # Family, relationships, preferences
│ └── Family/
├── Work/ # Career, interviews, employment
├── Roundtable/ # Knight-generated reference docs
├── Inbox/ # Unprocessed captures (voice notes)
│ └── Voice/
├── Resources/ # Templates, scripts
│ └── Templates/
├── Excalidraw/ # Diagrams
└── Attachments/ # Images, PDFs
Frontmatter Schema
Every note MUST have YAML frontmatter. This is the standard:
---
created: YYYY-MM-DD
updated: YYYY-MM-DD
type: note|reference|project|daily|briefing|research|voice-note|meeting
status: active|archive|stub|draft
tags:
- domain/security
- relevant-entity-tag
author: Tim|Galahad|Percival|Lancelot|Tristan|Bedivere|Kay|Patsy|Derek
---
Required Fields
created — Date the note was first created (YYYY-MM-DD). If unknown, use file modification date or best guess.
type — What kind of note this is
tags — At least one tag. Prefer domain tags + entity tags.
Optional Fields
updated — Last meaningful edit date. Add this when you modify a note.
status — Defaults to active if omitted. Use stub for incomplete notes, archive for outdated content, draft for work-in-progress.
author — Who created it. Add when identifiable.
Type Values
| Type | Use For |
|---|
note | General notes, thoughts, captures |
reference | Long-lived reference material |
project | Project documentation with goals/status |
daily | Daily journal notes |
briefing | Auto-generated reports and briefings |
research | Deep research on a topic |
voice-note | Transcribed voice captures |
meeting | Meeting notes |
dashboard | Navigation/index pages |
Tag Taxonomy
Domain Tags (hierarchical — pick the primary domain)
domain/security — Cybersecurity, threats, vulnerabilities
domain/homelab — Kubernetes, cluster, infrastructure
domain/family — Sara, Emma, family events, personal
domain/career — Interviews, work, professional development
domain/finance — Money, taxes, budgets, investments
domain/health — Health, wellness
domain/research — General research topics
Entity Tags (flat — specific things mentioned)
Use lowercase, hyphenated entity tags for searchability:
- Tech:
kubernetes, docker, talos, nats, opencti, flux, helm, wazuh, obsidian
- People:
sara, emma, drake, drogo
- Orgs:
bridgewater, mastery, clipboard-health
- Projects:
round-table, knight-agent, inbox-zero
- Topics:
interview, automation, threat-intel, supply-chain
Tagging Rules
- Every note gets at least ONE domain tag
- Add entity tags for specific things that someone might search for
- Don't over-tag — 3-7 tags is the sweet spot
- Don't duplicate information already in the folder path (a note in
Briefings/Security/ doesn't need domain/security — but it doesn't hurt)
- Clean up legacy junk tags:
type/note, area/projects, empty tags [], bare - entries
Wikilinks
Wikilinks ([[Note Name]]) are how the Second Brain thinks. They create the graph.
When to Add Wikilinks
- A note mentions a concept that has its own note → link it
- A note references a project →
[[Project Name]]
- A note mentions a person who has a note →
[[Personal/Family/Sara|Sara]]
- Related notes should cross-reference each other
Wikilink Format
- Basic:
[[Note Name]]
- With display text:
[[Folder/Full Note Name|Short Name]]
- Only link on FIRST mention in a note (don't link every occurrence)
- Prefer linking to existing notes over creating new ones
Don't Over-Link
- Don't link common words (
the, security, project)
- Don't link things that don't have or need their own note
- Use judgment: would someone actually follow this link?
Inbox Processing
The /vault/Inbox/ folder (especially /vault/Inbox/Voice/) collects unprocessed captures.
Voice Note Processing
- Read the transcription
- Identify the intent: new knowledge, task, reminder, or thought
- Check if the content belongs in an existing note (update it) or needs a new one
- If routed elsewhere: add a
routed_to field in frontmatter, update status to processed
- If it IS the final note: move it to the correct folder, add proper frontmatter
Inbox Zero Goal
The Inbox should be empty after processing. Every item either:
- Gets merged into an existing note
- Becomes a properly filed new note
- Gets archived if it's stale/irrelevant
Duplicate Detection
What Counts as a Duplicate
- Two notes covering the same topic with significant overlap (>50% similar content)
- A Roundtable/ note that duplicates a Projects/ or Research/ note
- Multiple briefings summarizing the same event
How to Handle Duplicates
- Identify which version is more complete/recent
- Merge unique content from the lesser into the better
- Update the keeper's
updated date
- Delete the duplicate (or move to
.trash/ if uncertain)
- Add a note in your report: "Merged X into Y"
Briefing Lifecycle
Briefings are ephemeral — they have a shelf life.
Rules
- Daily briefings (security, solar weather, nerd news): Archive after 30 days
- Weekly summaries: Keep for 90 days
- One-off analyses (breach reports, investigations): Keep indefinitely — these are reference material
- Archive means: move to a
Briefings/Archive/YYYY-MM/ folder, NOT delete
Scripts
vault-health.sh — Scan vault and report issues
bash /workspace/skills/vault/vault-linter/scripts/vault-health.sh
Reports: notes missing frontmatter, empty tags, orphan notes (no links in or out), stale inbox items, briefings due for archival.
Working Principles
- Read before writing — Always check if a note exists before creating a new one
- Preserve content — Never change the meaning of a note. Fix metadata and links only.
- Incremental improvement — Don't try to fix everything at once. Prioritize: frontmatter → tags → wikilinks → duplicates
- Report your work — Always return counts of what you did so Tim knows the vault is being maintained
- Flag decisions — When you're unsure (delete vs. archive, merge vs. keep both), flag it for human review instead of guessing