Obsidian health
/obsidian-healthUse the obsidian-second-brain skill. Execute `/obsidian-health`:
--- description: Run a vault health check:grouped by severity:that detects contradictions, concept gaps, stale claims, and structural issues category: meta triggers_ens: ["vault health", "check vault", "audit vault", "vault diagnostics"] --- Use the obsidian-second-brain skill. Execute /obsidian-health: 1. First, read _CLAUDE.md to find the vault path 2. Run: python ~/.claude/skills/obsidian-second-brain/scripts/vault_health.py --path ~/path/to/vault --json (replace the vault path with the one from _CLAUDE.md) 3. Parse the JSON output and split the findings into categories 4. Spawn parallel subagents to handle each category simultaneously: - Links agent: verify broken links and attempt to resolve them. For dangling links that point to a note that does not exist, run the triage loop python scripts/triage_links.py --path <vault> --limit N to sort each one into “keep” (a deliberate seed), “create” (a real note worth writing now), or “delete” (junk or a typo). Report-only by default; requires ANTHROPIC_API_KEY. This loop is intentionally headless: it can run unattended or on a schedule, so the vault is maintained even when you’re not in a chat session. - Duplicates agent: confirm that duplicates are truly the same concept, not just similar names - Frontmatter agent: Identify notes missing required fields by type. If the script reports a code_fence_wrapped note (frontmatter trapped inside a leading ``` `markdown `` fence), the fix is to **unwrap it** - strip the opening fence line and the matching closing `` ` `` so the inner --- frontmatter and body become real markdown. **Never add a new frontmatter block to a wrapped note** - that produces duplicate frontmatter and leaves the body trapped. If the note already has both a prepended frontmatter block and an inner wrapped one, merge them (keep the richer fields) and unwrap. - **Staleness agent**: check overdue tasks and unfilled template syntax - **Orphans agent**: check orphaned notes and empty folders - **Contradictions agent**: scan Key Decisions sections and Knowledge/ notes for claims that conflict with each other or have been superseded by newer sources - **Concept gaps agent**: find terms mentioned 3+ times across different notes that lack a dedicated page - these are missing concepts the vault should have - **Stale claims agent**: compare Knowledge/ notes against their source dates - flag any note older than 6 months that references fast-moving topics (tools, APIs, pricing, team structure) 5. Merge results and group by severity: - 🔴 Critical: broken links, unfilled template syntax, contradictions between notes, code-fence-wrapped notes (frontmatter trapped in a fence) - 🟡 Warning: duplicates, stale tasks, missing frontmatter, stale claims, concept gaps - ⚪ Info: orphaned notes, empty folders 6. For safe fixes (missing frontmatter, unwrapping code-fence-wrapped notes, obvious duplicates, creating pages for concept gaps), offer to fix automatically. For a codefencewrapped note, unwrap the fence rather than adding frontmatter (see the Frontmatter agent note above). 7. For destructive fixes (archiving, merging, resolving contradictions), list them and ask for explicit confirmation first 8. Append to the operation log: if Logs/ exists write HH:MM - health | X critical, Y warnings, Z info to Logs/ YYYY-MM-DD.md; otherwise append ## [YYYY-MM-DD] health | X critical, Y warnings, Z info to log.md --- **AI-first rule:** Every note created or updated by this command MUST follow references/ ai-first-rules.md - ## For future Claude preamble, rich frontmatter ( type , date , tags , ai-first: true , plus type-specific fields), recency markers per external claim, mandatory [[wikilinks]] for every person/project/concept referenced, sources preserved verbatim with URLs inline, and confidence levels where applicable. The vault is for future-Claude retrieval - not human reading. **Anti-fabrication:** Search exhaustively before claiming any note, person, or file is absent - false absence is the most common failure mode - and never invent facts, entities, or dates (mark unknowns as TBD`). See the anti-fabric