check-links

Finds broken [[wiki-links]] across your vault by extracting link targets and verifying that each target file exists. Read-only — never modifies files.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "check-links" with this command: npx skills add ballred/obsidian-claude-pkm/ballred-obsidian-claude-pkm-check-links

Check Links Skill

Finds broken [[wiki-links]] across your vault by extracting link targets and verifying that each target file exists. Read-only — never modifies files.

Usage

/check-links

Or ask:

  • "Check for broken links in my vault"

  • "Find dead wiki-links"

  • "Are there any broken links?"

How to Execute

Step 1: Extract all wiki-links

Use Grep to find all [[...]] patterns in markdown files:

Grep: pattern: "\[\[([^\]|]+)" glob: "*.md" output_mode: content -n: true

This captures the link target (before any | alias). Exclude .claude/ and .obsidian/ directories from results.

Step 2: Build unique target list

From the grep results, extract the unique link targets. For each match like [[My Note]] or [[My Note|display text]] , the target is My Note .

Strip:

  • Heading anchors: [[Note#heading]] → target is Note

  • Block references: [[Note^block-id]] → target is Note

  • Aliases: [[Note|alias]] → target is Note

Step 3: Verify each target exists

For each unique target, use Glob to check if a matching file exists:

Glob: pattern: "**/<target>.md"

A link is broken if no file matches. A link is valid if at least one file matches.

Step 4: Report results

Group broken links by source file:

Broken Links Report

Daily Notes/2024-01-15.md

  • [[Projet Alpha]] — no matching file found
  • [[Old Goal]] — no matching file found

Projects/Project Beta.md

  • [[Meeting Notes Jan]] — no matching file found

Summary: 3 broken links across 2 files (out of 45 total links checked)

Step 5: Suggest fixes

For each broken link, try to find a close match:

  • Use Glob with a partial pattern: **/<partial-target>.md

  • If a similar filename exists, suggest it:

  • [[Projet Alpha]] — Did you mean [[Project Alpha]]?

  • If no close match, just report "no matching file found"

Edge Cases

  • Embedded images (![[image.png]] ) — skip these, they reference attachments

  • External links (text ) — skip these, they are not wiki-links

  • Template placeholders ([[{{date}}]] ) — skip anything with {{ in the target

  • Empty links ([[]] ) — report as malformed, not broken

No Broken Links

If all links are valid:

✅ All wiki-links verified — no broken links found across X files (Y links checked)

Tips

  • Run /check-links periodically to catch link rot

  • After renaming files, run this to find links that need updating

  • Combine with /search to find notes that reference deleted content

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

daily

No summary provided by upstream source.

Repository SourceNeeds Review
General

weekly

No summary provided by upstream source.

Repository SourceNeeds Review
General

goal-tracking

No summary provided by upstream source.

Repository SourceNeeds Review
General

push

No summary provided by upstream source.

Repository SourceNeeds Review