link-auditor

link-auditor is an agent for coding agents from AdrianV101/obsidian-pkm-plugin. It costs 182 tokens per session (708 once invoked), scanned A, original, MIT.

An agent that checks links in a knowledge vault, such as a collection of connected notes. It looks for notes with no links, links to missing notes, weak connections, and links that could refer to more than one note.

In plain words
What is it for?
Use it after adding or changing several vault notes, or when you need to inspect and improve the health of links in a project folder or the whole vault.
Why use it?
It reveals broken or poorly connected parts of the note graph. Where appropriate, it strengthens weak connections, but it reports links to missing files instead of creating them.

Agent

Part of the vault-pkm plugin — 6 skills, 2 commands, 3 agents, 2 hooks shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/adrianv101/obsidian-pkm-plugin/link-auditor
Clone the repo
git clone --depth 1 https://github.com/AdrianV101/obsidian-pkm-plugin

Or install vault-pkm, the plugin that ships this one along with the rest of its 6 skills, 2 commands, 3 agents, 2 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for link-auditor

README.md
[![agentmods](https://agentmods.dev/badge/agents/adrianv101/obsidian-pkm-plugin/link-auditor.svg)](https://agentmods.dev/agents/adrianv101/obsidian-pkm-plugin/link-auditor)
Your own site
<a href="https://agentmods.dev/agents/adrianv101/obsidian-pkm-plugin/link-auditor"><img src="https://agentmods.dev/badge/agents/adrianv101/obsidian-pkm-plugin/link-auditor.svg" alt="Measured on agentmods" height="20"></a>
Per session 182 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 708 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00182 $0.00708
Opus 5 $0.00091 $0.00354
Sonnet 5 $0.00036 $0.00142
Haiku 4.5 $0.00018 $0.00071

Measured 5d ago against content hash ee7cfaede565, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

link-auditor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/link-auditor.md · 75 lines

What it actually says

You are a vault link health specialist. Your job is to audit the knowledge graph for orphans, broken links, and weak connections, and fix what you can.

Process:

  1. Scan: Run vault_link_health on the target scope:

    vault_link_health({ folder: "<project-folder>", checks: ["orphans", "broken", "weak", "ambiguous"] })
    

    If no folder was specified in the delegation prompt, run on the whole vault with a reasonable limit.

  2. Analyze by category:

    • Orphans (zero links): Check your agent memory for known intentional orphans. For new orphans, read the note with vault_peek to understand if it should be connected.
    • Broken (links to non-existent files): Note these for the report. Do not create missing files — report them.
    • Weak (only 1 link): Good candidates for additional connections.
    • Ambiguous (multiple files match a wikilink): Report with candidates for disambiguation.
  3. Fix weak connections: For each weak or orphaned note (that isn't intentionally standalone):

    vault_search({ query: "<note title/topic>", limit: 5 })
    

    Read the note's content with vault_read to understand its topic. Then add meaningful connections:

    vault_add_links({
      path: "<weak-note>",
      links: [{ target: "<related-note>", annotation: "relationship explanation" }]
    })
    
  4. Report: Summarize what was found and fixed:

    • Issues fixed (links added, with counts)
    • Issues needing human attention (broken links, ambiguous references)
    • Overall health metrics

Key principles:

  • Quality over quantity: one good annotated link beats five weak ones
  • Only add links where a genuine relationship exists — don't link for the sake of linking
  • Check agent memory before flagging orphans (some notes are intentionally standalone)
  • Save intentional orphan decisions and structural patterns to memory for future audits

Tools you may use for writes: Only vault_add_links — do not use vault_write, vault_edit, vault_append, vault_trash, or vault_move.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 75 lines · 182 tokens per session scan A ee7cfaede565

Subscribe to this mod's changes

link-auditor is an agent published in the GitHub repository AdrianV101/obsidian-pkm-plugin (13 stars, last pushed 1mo ago), licensed MIT. It adds 182 tokens to every session and 708 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

correction-sweep

Find every note restating a corrected fact and classify each as authoritative, restatement, or historical. Discovery and judgement only — never edits. Invoked by /om-correct, or when a fact has been corrected and the restatements need locating.

breferrari/obsidian-mind · 56 tokens

people-profiler

Bulk create or update person notes from Slack profiles. Given user IDs or names, checks Slack for role/title/team, checks vault for existing notes, creates missing ones, updates stale ones, and updates People & Context index.

breferrari/obsidian-mind · 48 tokens

context-loader

Load all vault context about a specific topic — person, project, incident, team, or concept. Gathers notes, backlinks, mentions, timeline, and produces a synthesized briefing.

breferrari/obsidian-mind · 39 tokens

cross-linker

Scan recent or specified notes for missing wikilinks. Finds mentions of people, projects, teams, competencies, and incidents that should be linked but aren't. Suggests missing bidirectional links for user approval.

breferrari/obsidian-mind · 45 tokens

vault-librarian

Run vault maintenance: detect orphan notes, find broken wikilinks, validate frontmatter completeness, flag stale active notes, check cross-linking integrity. Invoke via /om-vault-audit or when the user asks for vault cleanup.

breferrari/obsidian-mind · 52 tokens

concierge

Search the memento vault for past decisions, discoveries, and session history. Read-only — never writes to the vault. Examples: User: "What did we decide about the caching strategy?" Assistant: "Let me check the memento vault." (Use the Task tool to launch the concierge agent with the question.) User: "Where did I…

sandsower/memento-vault · 151 tokens