Guide · Agent skill
How to use the Wiki Lint Health Check agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The wiki-lint skill teaches an AI agent to run a built-in lint engine over an Obsidian vault (a folder of linked Markdown pages) and report structural problems such as dead links, orphan pages and missing frontmatter fields. This guide explains what agent skills are, how to install this one, how to ask for a check in plain language, and what to watch for. By the end you will be able to run a read-only audit and understand each finding it reports.
Quick start
- 1Get the skill and product root. Download the skills/wiki-lint ZIP from this page and make sure a local copy of the claude-obsidian product root is installed.
- 2Install the skill. Unzip it into ~/.claude/skills/ or a project's .claude/skills/, or upload it under Settings → Capabilities → Skills in the Claude apps.
- 3Confirm Python 3. Make sure python3 is available, since the skill runs scripts/claude-obsidian.py with it.
- 4Ask for a health check. Tell the agent to run a vault health check or find orphans and dead links, and name the vault path.
- 5Review the report. Read the findings grouped by impact, keeping in mind that an orphan may be intentional and an ambiguous link needs a path-qualified target.
- 6Choose what to repair. Select specific findings you want fixed; the agent handles repairs as a separate reviewed operation.
- 7Re-run the check. After any approved changes are applied, run lint again read-only and compare the relevant findings.
What the wiki-lint skill makes the agent do
An agent skill is a folder containing a SKILL.md file that tells an AI agent when and how to perform a task. This skill tells the agent to run a deterministic lint engine, a script that inspects the state of your vault and reports results. The engine checks graph, link, frontmatter, provenance-ledger, empty-section and stale-index findings.
The skill only observes and reports. It does not create reports, dashboards, canvases or stubs, and it does not fix anything. Any repair must be a separate step in which you choose the specific findings to address and review the changes before they are applied.
- Dead or ambiguous links
- Orphan pages
- Required frontmatter gaps, including a missing title
- Empty sections
- Stale index entries
- Source/claim ledger contract violations
Install the wiki-lint skill
Download the ZIP for skills/wiki-lint from this page and unzip it into one of these locations: ~/.claude/skills/ for your personal skills, or .claude/skills/ inside a project folder for skills that apply only to that project.
If you use the Claude apps instead, upload the skill under Settings → Capabilities → Skills.
The skill needs a local installed copy of the claude-obsidian product root, because the lint engine lives there at scripts/claude-obsidian.py. The skill's SKILL.md resolves that path from its own location, so the product root must be installed on the same machine as the skill.
Check your requirements
You need Python 3, since the skill runs python3 on scripts/claude-obsidian.py. You also need an Obsidian vault on the local filesystem. The skill is not designed for vaults that are not Obsidian-style Markdown wikis, because the engine is tailored to that layout.
The skill runs scripts, and it does not use the network according to its listing.
- Python 3 installed and available as python3
- A local installed copy of the claude-obsidian product root containing the lint engine
- An Obsidian vault on your local disk
Trigger the skill with natural requests
You do not need to type a command. The skill's description lists the phrases that should activate it, including lint, vault health check, audit wiki health, find orphans, find dead links, frontmatter audit, provenance audit and wiki audit. Name the vault you want checked, because the agent must resolve the user vault before it runs anything.
If you want the output in a form that can be pasted elsewhere, ask for a Markdown report. The agent returns it in chat or stdout; it does not write the report into the vault.
- Run a vault health check on my Obsidian vault at /path/to/vault
- Find dead links and orphan pages in my wiki
- Do a frontmatter audit and tell me which pages are missing a title
- Give me a wiki audit as Markdown
Run the lint command yourself
The agent runs the engine with the commands below. $VAULT is the path to your vault and $CORE points to the engine script inside the product root. You can run these yourself to see the same output.
The --exclude flag is repeatable and takes a glob. It removes matching paths, such as a scratchpad folder, from page, link, orphan, frontmatter, empty-section and stale-index scanning. The --strict flag makes the command exit nonzero when there are findings, which is useful in automation. Lint remains read-only either way.
- --format markdown produces a Markdown rendering
- --exclude GLOB scopes a path out of scanning and can be repeated
- --strict returns a nonzero exit code for findings
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
python3 "$CORE" lint --vault "$VAULT"
python3 "$CORE" lint --vault "$VAULT" --format markdown
python3 "$CORE" lint --vault "$VAULT" --exclude "wiki/scratchpad/*"Read the findings correctly
The agent keeps the engine's paths, line numbers, targets, categories and counts, and groups findings by likely impact: broken navigation first, then ambiguous resolution, metadata quality and maintainability. An orphan page may be intentional, and an ambiguous basename needs a path-qualified link. The agent should not infer intent from a finding alone.
The parser understands Obsidian wikilinks and embeds, Markdown links, aliases, heading and block fragments, escaped aliases and code fences. It skips dot-prefixed directories by default and honors .gitignore files inside the vault. When a link is ambiguous between a page and a gitignored file such as a build artifact, the gitignored candidate is dropped.
The engine does not perform semantic, stylistic or prose-level contradiction analysis. If you need a check on meaning or writing quality, this skill will not provide it.
- Treat allowlisted findings as policy, not proof that the target exists
- Separate facts reported by the engine from suggested fixes
Fix findings through a separate, reviewed process
The skill never auto-fixes a lint result. When you choose specific findings to repair, the agent re-reads each target and records its SHA-256, drafts only the changes you selected, and builds a single repair bundle with a new operation ID. It shows you the exact changed paths, applies changes only after your separate review, and then re-runs lint read-only to compare results.
Deleting or merging pages requires explicit consent. Lint never applies the transaction itself and never commits to Git. The skill points to the operation transaction contract in the product's references for the full flow.
What people use it for
- Periodic structural audit of a large Obsidian wiki to catch dead links and orphan pages
- Consistent link and metadata checks for a claude-obsidian style knowledge base
- Non-modifying check in an automation pipeline that fails a build on findings using --strict
- Frontmatter audit to find pages missing required fields such as title
- Excluding a scratchpad folder from scanning so drafts do not clutter the report
Frequently asked questions
How do I install the wiki-lint skill?
Download the skills/wiki-lint ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder. In the Claude apps, you can instead upload it under Settings → Capabilities → Skills. You also need a local installed copy of the claude-obsidian product root.
What do I need to run wiki-lint?
You need Python 3, a local installed copy of the claude-obsidian product root containing scripts/claude-obsidian.py, and an Obsidian vault on your local filesystem. The skill is intended for Obsidian-style Markdown wikis.
Is wiki-lint free to use?
The source material lists the skill under the MIT licence. Check the repository's licence file for the terms that apply to you.
Does wiki-lint change my files?
No. The lint command is read-only and only observes and reports. Repairs require you to choose specific findings and go through a separate reviewed transaction, and lint never commits to Git.
Why does wiki-lint report an orphan page that I want to keep?
An orphan may be intentional, and the skill tells the agent not to infer intent from the finding alone. You can decide whether the page should be linked or left as is. You can also use --exclude to scope out paths such as a scratchpad folder.
Does wiki-lint check my writing quality or contradictions?
No. The engine does no semantic, stylistic or prose-level analysis, so it will not detect contradictions in meaning. It reports structural findings such as dead or ambiguous links, orphans, frontmatter gaps, empty sections, stale index entries and ledger violations.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use wiki-lint if you maintain a large Obsidian wiki or a claude-obsidian style knowledge base and want a repeatable, read-only structural audit, or if you want a non-modifying check that can fail a build. Pick something else if you need feedback on writing quality or meaning, if your vault is not an Obsidian-style Markdown wiki, or if you expect the tool to fix problems automatically.
Download the skill