Link audit
A Claude Code plugin for interfacing with an Obsidian vault with local first RAG capabilities
npx -y skills add thoreinstein/obsidian-rag --skill link-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when the user wants to audit vault link health, find broken wikilinks, orphaned notes, or semantic clusters. Triggers on "link audit", "broken links", "orphaned notes", "link health", "graph cleanup", or "find orphans".
SKILL.md
1.6 KB, as published. Nobody here has run it
Vault Link Audit
Comprehensive audit of link health: broken wikilinks, orphaned notes, and semantic suggestions.
Phase 1 — Broken Links
- Call
obsidian_get_broken_links(optionally withsubfolderargument). - Present broken links grouped by originating file.
- For each, suggest: delete the link, create a stub note, or correct the target name.
- Offer to fix each with
obsidian_replace_in_note(wrong name → correct name).
Phase 2 — Orphaned Notes
- Call
obsidian_list_notesto enumerate all notes in scope. - For each candidate orphan, call
obsidian_get_backlinks. - Notes with zero backlinks AND not in
Daily Notes/are orphan candidates. - Present orphan list with options: link from a relevant note, move to archive, or delete.
Phase 3 — Semantic Suggestions (Optional)
If the user asks for deeper suggestions:
- For each orphan, call
obsidian_rag_querywith the orphan title as query,limit: 5. - If strong matches exist (low distance score), suggest
[[wikilink]]connections.
Arguments
Optional subfolder: /link-audit Engineering/
Tips
- For large vaults, always scope to a subfolder first (Phase 2 on full vault is slow)
- Broken links in
Daily Notes/are usually harmless — offer to skip them - Never make edits without per-change user confirmation
- Run
/indexfirst ifobsidian_get_broken_linksseems incomplete