Install
$ agentstack add skill-markfive-proto-obsidian-brain-vault-lint ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Lint Pack — "Keep my KB clean and complete"
lint is the maintenance layer. A growing wiki rots silently. This skill surfaces rot, impute-able gaps, and high-value next writes.
Output convention
Lint always writes a report to outputs/lint/-.md. Never replies in chat only.
Commands
/lint — Full health check
When the user invokes /lint:
- Run all the sub-checks below in parallel, merge findings.
- Write a single report at
outputs/lint/-full.md. - Summarize chat-side: totals per severity (error / warn / info) and link to the report.
Sub-checks (each is also runnable individually)
/lint-links — Broken links
- For every
[[wikilink]]in the vault, check the target file exists. - For every markdown
[text](relative-path)link, check the path resolves. - For every external URL, optionally HEAD-request and flag 404s (off by default; opt-in via
--check-urls). - Report: file, line number, bad target, suggested fix (closest existing filename via fuzzy match).
/lint-orphans — Disconnected notes
- A note is an orphan if: 0 incoming wikilinks AND 0 outgoing wikilinks AND not in a designated "inbox" folder.
- Report each orphan with its first 200 chars of content.
- Suggest: delete / link to existing concept / promote to concept page.
/lint-frontmatter — Missing or invalid metadata
- Every file under
compiled/should have frontmatter with at least:title,type,tags,last_updated. - Every file under
raw/should have:source_type,source_url(if applicable),tags. - Report missing fields with suggested values (infer from content/filename).
/lint-duplicates — Concept dedupe
- Group
compiled/concepts/*.mdby stemmed title. - Flag pairs/triples that are likely duplicates (e.g.,
transformer.mdandtransformers.md,self-attention.mdandscaled-dot-product-attention.md). - Suggest canonical name and merge plan (do NOT merge automatically).
/lint-inconsistencies — Conflicting facts
- Build a fact map: for each concept, extract atomic factual claims (dates, numbers, named-entity relationships).
- Cross-check claims across sources.
- Flag contradictions. Example: "Raw A says founded 2017; raw B says founded 2018."
- Suggest resolution: which source is more authoritative, or mark as disputed.
/lint-gaps — New-article candidates
Use two signals:
- High-degree stubs: any concept page with
sources_count >= 3but TL;DR ` to refresh."
/lint-tag-drift — Tag hygiene
- Find tags used only once or twice (probably typos or singletons).
- Find near-duplicate tags (
#ml-opsvs#mlops). - Suggest canonicalization.
/lint-connections — Suggest new links
- For each pair of concept pages sharing 2+ tags AND 3+ raw sources in common, check whether they already link to each other.
- If not, propose mutual wikilinks with a 1-line reason.
Severity model
| Level | Meaning | Example | |---|---|---| | error | Broken state; user action required | Broken wikilink target | | warn | Degraded quality | Missing frontmatter field | | info | Suggestion / improvement | Tag drift, link opportunity |
Report counts per severity at the top of the lint output.
Report template
---
title: Lint Report —
type: lint-report
run: full
tags: [output, lint]
---
# Lint Report —
## Summary
- Errors:
- Warnings:
- Info:
- Notes scanned:
## Errors
### Broken links ()
- `[[missing-concept]]` in [[file]] line → suggest [[closest-existing]]
### Other errors
...
## Warnings
...
## Info / suggestions
...
## Next-to-write (prioritized)
1. — reason: 5 dangling links, 3 open questions
2. ...
Auto-fix mode (opt-in)
When the user passes /lint --fix or says "fix the safe stuff":
- Safe auto-fixes only:
- Add missing
last_updatedfrom file mtime. - Canonicalize near-duplicate tags with the canonical form.
- Remove trailing whitespace.
- Unsafe (NEVER auto-fix):
- Merging concept pages.
- Rewriting content.
- Deleting orphans.
Report every auto-fix applied with file + diff.
Scheduling
Recommend to the user: run /lint after every 10+ ingests, or weekly. Can be automated via cron or schedule skill.
Related skills (same pack)
[[ingest]]— upstream; lint suggests new ingests[[compile]]— lint flags things compile missed[[qa]]— outputs of qa are NOT linted as content (only format)[[render]]— lint reports can be rendered as dashboards
Attribution
Pack inspired by Karpathy's "LLM health checks over the wiki" practice — surfacing inconsistencies, imputing gaps, suggesting next writes.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: markfive-proto
- Source: markfive-proto/obsidian-brain-vault
- License: MIT
- Homepage: https://supermarcus.ai/brain-os
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.