agentleFS
slogsdonslogsdon/skills-vault-knowledge/skills/vault-lint/SKILL.md

vault-lint

Skill0 starsChanged 3 months agoMITView on GitHub

Use when /vault-lint is invoked or when Shane wants a weekly vault health check. Scans Concepts/ and the broader vault for contradictions, orphan pages, missing Concept pages, and stale claims.

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run the four scans below using obsidian CLI commands via bash

    line 14
  2. Distinctive:

    Do NOT auto-fix anything — surface for Shane to decide

    line 17
  3. Very specific:

    Read each page that contains wiki-links and collect every [[linked page]] reference.

    line 41
  4. Distinctive:

    Run searches for noun phrases that appear frequently across the vault.

    line 56

“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: /vault-lint

Weekly vault health scan — contradictions, orphans, missing Concept pages, and stale claims — output is a prioritized action list, not a report.

Don't: auto-fix anything — surface for Shane to decide. Don't use this for targeted note exploration — that's the obsidian skill.

Steps

  1. Run the four scans below using obsidian CLI commands via bash
  2. Collate results into a prioritized action list
  3. Present findings grouped by category with specific file names and fix instructions
  4. Do NOT auto-fix anything — surface for Shane to decide

Scan 1 — Contradictions between Concept pages

obsidian search query='Concepts/' limit=50

For each Concept page found, read it. Compare claims across pages. Flag pairs where one page asserts X and another asserts not-X (or a materially different position on the same topic).

Output format:

CONTRADICTION: Concepts/[A] vs Concepts/[B]
  [A] says: "[quote]"
  [B] says: "[quote]"
  → Resolve by: updating whichever is older or merging into a single page

Scan 2 — Orphan pages (no inbound links)

obsidian search query='[[' limit=100

Read each page that contains wiki-links and collect every [[linked page]] reference. Any Concept page that appears in zero link lists is an orphan.

Output format:

ORPHAN: Concepts/[page]
  Created: [date if available]
  → Link from a related note or delete if superseded

Scan 3 — Concepts mentioned 3+ times without a dedicated page

obsidian search query='TERM' limit=20

Run searches for noun phrases that appear frequently across the vault. Count mentions. Any term appearing 3+ times that does NOT have a matching file in Concepts/ is a gap.

Strategy: search for terms surfaced during recent /connect and /trace runs first; also scan Daily Notes for recurring nouns.

Output format:

MISSING CONCEPT: "[term]" (N mentions, no Concepts/[term] page)
  Seen in: [list of note names]
  → Create Concepts/[term] page

Scan 4 — Stale claims superseded by newer sources

obsidian search query='Clippings/' limit=30

For each Concept page, check if any claim is contradicted or significantly updated by a more recent Clipping. Look for:

  • Dates cited in Concept pages that are older than 2 years
  • Clippings that explicitly update or retract a prior claim
  • Concepts referencing statistics or studies where a newer Clipping cites updated data

Output format:

STALE: Concepts/[page]
  Claim: "[quote from concept page]"
  Superseded by: Clippings/[newer source] ([date])
  → Update claim or add caveat in Concepts/[page]

Fallback (if qwen unavailable)

Execute all four scans directly using obsidian search and obsidian read commands via bash. Apply the same logic described above. The scans are bash-executable without Qwen.

Output structure

Present findings in this order, most actionable first:

  1. Contradictions (fix these — they corrupt the knowledge base)
  2. Missing Concepts (create these — reduces future orphan risk)
  3. Orphans (link or delete)
  4. Stale claims (update or caveat)

End with a one-line summary: "N issues found across Concepts/ — X contradictions, Y orphans, Z missing pages, W stale claims."

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.