Loslegen
Wiki Link Integrity Auditor — Find Broken Links

Wiki Link Integrity Auditor — Find Broken Links

Audits the [[wiki links]] in a folder of Markdown notes: broken links, missing headings, missing embeds, ambiguous page names and orphan pages, with file and line for each. Read-only, standard library only, and the exit code is ready for CI.
#Ingenieurwesen
Rating
Weitere Bewertungen erforderlich
Sold
0
How to use
Herunterladen

You renamed a note last month. How many links still point at the old name?

Notes get renamed, merged and deleted, and the links to them stay behind. Heading links break when a heading is reworded, image embeds break when a file moves, two pages end up with the same name, and some pages stop being linked from anywhere. You find out when you need the note.

Obsidian Vault Link Integrity Auditor checks all of it in one command:

Wiki Link Audit: 7 pages, 1 attachment, 14 links (3 embeds)
BROKEN    Home.md:4  [[Old Plan]]  no page named "Old Plan"
BROKEN    templates/Template.md:3  [[Placeholder]]  no page named "Placeholder"
HEADING   Home.md:3  [[Setup#Uninstall]]  no heading "Uninstall" in Setup.md
EMBED     Home.md:8  ![[missing-chart.png]]  no file named "missing-chart.png"
AMBIGUOUS Home.md:5  [[Meetings]]  name "Meetings" matches 2 pages
          - archive/Meetings.md
          - meetings/Meetings.md
ORPHAN    Lonely.md  no other page links here
ORPHAN    templates/Template.md  no other page links here
Summary: 2 broken, 1 heading, 1 embed, 1 ambiguous, 2 orphan -> FAIL (fail-on: broken,heading,embed)

What it does

  • Finds broken [[links]] with the file and line number of each one
  • Checks [[Page#Heading]] links against the headings that really exist in the target page
  • Checks ![[embeds]] for attachments and embedded notes that are missing
  • Reports page names shared by several pages and lists the candidates
  • Lists orphan pages that no other page links to
  • Skips links inside fenced code blocks and inline code, so code samples do not create noise
  • Prints text or --json, skips folders with --ignore GLOB, and --fail-on chooses which kinds make the exit code 1

Honest limits, stated in the README: only [[wiki links]] are audited (not [text](path.md) links), block reference ids are accepted without checking, and a page name shared by two pages is reported even if your editor would pick one.

What is inside

  • SKILL.md, README.md, LICENSE
  • scripts/wiki_link_auditor.py
  • tests/test_wiki_link_auditor.py (53 tests)
  • examples/vault/ (the vault used in the example above)

Requirements and safety

Python 3.8+, macOS or Linux, standard library only. Read-only: it never edits, moves or deletes a file, installs nothing, runs no background service, needs no credentials and makes no network calls.

License

Personal, non-transferable license for your own projects, including commercial work. No resale or redistribution.