CtrlK
BlogDocsLog inGet started
Tessl Logo

obsidian-vault-lint

Weekly vault structural maintenance inspired by Karpathy's LLM Wiki approach. Cleans broken links, adds missing MOC entries, sorts sections, repairs taxonomy drift (tag case, synonym merges, folder routing), and proposes Topic MOCs for oversized sections. Structure only — semantic work belongs to the metabolism pipeline. Schedule weekly for a self-maintaining knowledge base.

57

Quality

66%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.github/skills/obsidian-vault-lint/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, actionable skill body that externalizes its logic into a scripts bundle and documents a clear five-phase CLI workflow. Its main weaknesses are an inlined verbose scheduling XML block and the absence of explicit post-write validation for destructive batch operations, plus a dangling DESIGN.md reference.

Suggestions

Add an explicit validation feedback loop for the batch writes — e.g., re-run Phase 1 inventory after Phase 2-4 to confirm broken-link and orphan counts actually dropped, and gate the auto-commit on that check — to lift workflow clarity past the batch-operation cap.

Move the Windows Task Scheduler XML into a separate asset/reference file and replace the machine-specific SID and hardcoded date with placeholders to improve conciseness and remove time-sensitive bloat.

Resolve the dangling DESIGN.md reference: either add the file to the bundle or remove it from the Files tree so referenced paths all resolve.

DimensionReasoningScore

Conciseness

Mostly efficient phase tables and CLI docs, but the inlined ~60-line Windows Task Scheduler XML with a machine-specific SID and a hardcoded 2026-04-20 date is verbose, time-sensitive bloat that could be tightened or externalized; not 2 because the core operational content is not heavily padded.

3 / 5

Actionability

Copy-paste-ready CLI commands cover the common cases ('--dry-run', '--phase N', '--verbose', '--stale-days N') and phase tables give concrete logic with safety notes; not 5 because phase internals are described in prose/tables rather than shown as executable examples.

4 / 5

Workflow Clarity

Five phases are clearly sequenced (read-only inventory → autonomous fixes → taxonomy → MOC reorg → report), but this is a destructive/batch skill that writes to the vault and auto-commits to git with no explicit post-write validation feedback loop, so per the batch-operation cap workflow clarity cannot exceed 3; not 2 because the sequence itself is coherent.

3 / 5

Progressive Disclosure

Heavy logic is appropriately externalized one level deep into the scripts/ bundle (lint.py, inventory.py, fixes.py, taxonomy.py, moc.py), clearly signaled via the Files tree; not 5 because the Task Scheduler XML is inlined rather than in an asset file and DESIGN.md is referenced in the tree but is absent from the bundle.

4 / 5

Total

14

/

20

Passed

Description

71%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, specific description with clear actions and a well-defined structural-vs-semantic niche, weakened mainly by the absence of explicit situational 'Use when…' trigger guidance (only a weekly cadence is given). Trigger-term coverage is good but lacks synonyms.

Suggestions

Add an explicit 'Use when…' clause naming situational triggers (e.g., 'Use when the Master MOC is stale, tags have drifted, or broken wikilinks accumulate') to lift completeness past the 3 cap.

Include a few natural synonyms/variations users might say (e.g., 'wikilinks', 'fix tags', 'MOC cleanup') to broaden trigger-term coverage toward 5.

Name a distinguishing trigger phrase that separates this from sibling skills like obsidian-connection-detector and obsidian-weekly-brain to reduce conflict risk.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Cleans broken links, adds missing MOC entries, sorts sections, repairs taxonomy drift (tag case, synonym merges, folder routing), and proposes Topic MOCs' — matching the comprehensive-coverage anchor; not below 4 because coverage is broad and specific, not just 1-2 actions.

5 / 5

Completeness

The 'what' is explicit and concrete, but the only 'when' is the cadence phrase 'Schedule weekly' with no 'Use when…' situational trigger clause, which per the judging guidelines caps completeness at 3; it does not reach 4 because the trigger guidance is not explicit.

3 / 5

Trigger Term Quality

Natural Obsidian-vault terms appear ('broken links', 'MOC', 'tags', 'sections', 'vault maintenance') that a user would say, but synonyms and surface variations are limited, so it sits above the 3 anchor yet short of the comprehensive-synonym 5 anchor.

4 / 5

Distinctiveness Conflict Risk

The carve-out 'Structure only — semantic work belongs to the metabolism pipeline' establishes a clear niche and separates it from sibling semantic skills, but acknowledged overlap with closely related vault skills keeps it just below the minimal-conflict 5 anchor.

4 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
0xRabbidfly/Eric-Cartman
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.