By dev-jahn
Markdown link graph and staleness detection for Claude Code. Automatically tracks cross-references between markdown documents and detects when linked content becomes stale.
npx claudepluginhub dev-jahn/md-linkerGenerate a dependency graph of all markdown links, rendered as PNG (or .dot if graphviz not installed).
Scan all .md files and build the link graph (.md-linker/graph.json). Run this first in a new project.
Rebuild the link graph from scratch (clears snapshots/diffs).
Remove all stale-refs frontmatter annotations from all files.
Show all stale documents with their summaries.
Markdown link graph and staleness detection plugin for Claude Code.
In agentic coding workflows, Claude Code generates and maintains many markdown documents — analysis reports, plans, progress logs, specs. But sessions end, context windows are finite, and documents drift out of sync. When the agent reads an outdated document in a later session, it reasons from stale information, leading to hallucination and inconsistent decisions.
md-linker turns your project's markdown files into a lightweight internal RAG system. It tracks cross-references between documents, detects when a linked document has changed, and ensures the agent always reads up-to-date content — eliminating a major source of context-related errors across sessions.
When you edit a markdown file, md-linker automatically:
[[wikilinks]] or [markdown](links.md) point to missing targetsstale-refs annotations to their frontmatterWhen Claude reads a stale document, a PreToolUse hook resolves the stale-refs via a Sonnet sub-agent before the main agent sees the file — keeping the main context clean.
claude plugin install md-linker
Or for local development:
claude --plugin-dir /path/to/md-linker
Once installed, md-linker works automatically. Every time Claude edits a .md file:
stale-refs via Sonnet sub-agent before the main agent reads the file/md-linker:init # Scan all .md files and build the link graph
/md-linker:status # Show all stale documents
/md-linker:graph # Generate a dependency graph (PNG or .dot)
/md-linker:rebuild # Rebuild graph from scratch
/md-linker:resolve # Remove all stale-refs annotations
md-linker tracks these link types:
[[target]] — wikilink (document-level)[[target#Section]] — wikilink (section-level)[text](path.md) — standard markdown link[ref]: path.md — reference-style linkdepends-on frontmatter fieldWhen a linked document is modified, md-linker adds frontmatter like this:
---
stale-refs:
- source: docs/schema.md
changed_at: 2026-03-09T10:30:00
sections_changed: ["User Model"]
summary: "Added email_verified field to User model"
---
Planned features for future releases:
This project is under active development. Bug reports, corner case discoveries, and improvement suggestions are all welcome — feel free to open an issue or pull request.
MIT
Claude + Obsidian knowledge companion. Sets up a persistent, compounding wiki vault. Covers memory management, session notetaking, knowledge organization, and agent context across projects. Based on Andrej Karpathy's LLM Wiki pattern. Optional DragonScale Memory extension adds hierarchical log folds, deterministic page addresses, embedding-based semantic tiling lint, and boundary-first autoresearch topic selection.
Modifies files
Hook triggers on file write and edit operations
Complete developer workflow toolkit. Includes 34 reference skills, 34 specialized agents, and 21 slash commands covering TDD, debugging, code review, architecture, documentation, refactoring, security, testing, git workflows, API design, performance, UI/UX design, plugin development, and incident response. Full SDLC coverage with MCP integrations.
Convert documents between formats (Markdown, DOCX, PDF, HTML, LaTeX) using pandoc. Use for format conversion, document generation, and preparing markdown for Google Docs.