Skills

Wiki Lint

Run a deterministic, read-only health check on an Obsidian wiki.

Install

npx skills add AgriciDaniel/claude-obsidian --skill wiki-lint -g -a claude-code -y
Category
Engineering
Updated
10d ago
License
MIT
Context cost
Lightabout 843 tokens
Runs scripts
No, instructions only

What it does

Run a deterministic, read-only health check on an Obsidian wiki. Use for lint, vault health check, audit wiki health, find orphans, find dead links, frontmatter audit, provenance audit, or wiki audit. Reports graph, link, frontmatter, provenance-ledger, empty-section, and stale-index findings; it does not reason broadly or repair files.

Lint the wiki

Use the portable lint engine as the source of truth. Lint observes vault state; it does not create reports, dashboards, canvases, stubs, or fixes.

Resolve the installed product root from this skill's own location, not from the vault or current working directory:

PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"

Every ../wiki/references/ link in this file resolves the same way, relative to this skill's own directory under $PRODUCT_ROOT, never relative to the selected vault's wiki/ directory.

Run

Resolve the user vault, then run one of:

python3 "$CORE" lint --vault "$VAULT"
python3 "$CORE" lint --vault "$VAULT" --format markdown
python3 "$CORE" lint --vault "$VAULT" --exclude "wiki/scratchpad/*"

The repeatable --exclude GLOB flag scopes a path (for example a scratchpad folder) out of page, link-resolution, orphan, frontmatter, empty-section, and stale-index scanning.

Use --strict only when a nonzero exit for findings is useful in automation. The command remains read-only either way.

The deterministic 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, mirroring Obsidian's own indexer. Link resolution honors .gitignore files inside the vault (no git subprocess): when a link is ambiguous between a page and a gitignored file such as a build artifact, the gitignored candidate is dropped. It reports such categories as dead or ambiguous links, orphan pages, required frontmatter gaps (including title), empty sections, stale index entries, and source/claim ledger contract violations. Report only the checks and counts present in its output; do not claim that it performed semantic, stylistic, or prose-level contradiction analysis when it did not.

Explain findings

Read the whole SKILL.md on GitHub

More in Engineering