mcpbeat Sign in

Second Brain Lint Agent Skill

>- wikilinks, orphan pages, empty stubs, frontmatter that violates the schema, near-duplicate pages, and stale index entries. Use this skill whenever the user asks to lint, clean, audit or check the health of their vault, says pages feel messy or links are broken, after a large bulk import, or when a scheduled maintenance run fires. Do NOT use for ingesting new sources, for answering questions from the vault, or for rewriting page content that is structurally fine but reads badly.

677 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
150
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/undefined-ui/second-brain-os --skill second-brain-lint

The instruction itself

5 sections, as written by the author

Lint the vault

Structural rot is silent. Nothing errors, nothing crashes, the vault just

slowly stops answering questions well because a third of its pages are

unreachable. Linting is the only thing that catches it before the owner does.

Core rule

Report before repairing. Fix the mechanical problems automatically, but never

delete or merge a page without listing it first and getting a yes, because the

owner may have written it by hand.

Workflow

  • Inventory. Count pages by type. Build the link graph by parsing every

[[wikilink]].

  • Broken links. Links pointing at pages that do not exist. Distinguish

two cases: a typo or rename, which you fix, and a genuine gap, which goes

into index.md under Gaps.

  • Orphans. Pages with no inbound links. For each, either find where it

should be linked from and add the link, or flag it as a candidate for

deletion.

  • Stubs. Pages under roughly 40 words with no links. Usually a failed

ingest. Flag for re-ingest from the original source in raw/.

  • Schema. Missing or malformed frontmatter, wrong type, missing dates,

tags outside the existing vocabulary.

  • Near-duplicates. Pages with very similar titles or aliases. Propose

merges; do not perform them unsolicited.

  • Index drift. Pages missing from index.md, index entries pointing

nowhere.

  • Repair, then append the run to log.md.

Output format

Vault: <n> pages (<n> sources, <n> concepts, <n> entities, <n> synthesis)
Link graph: <n> links, average <n> per page, <n> orphans

Fixed automatically:
- <list>

Needs a decision:
- <list, each with the recommended action>

Health: orphan rate <n>%, broken link rate <n>%, stub rate <n>%

Calibration

An aggressive linter that merges pages on its own judgement destroys work. A

timid one that only reports produces a list nobody acts on. The split above is

the useful line: mechanical fixes happen, semantic decisions get proposed.

Do not run a full lint after every ingest. Weekly, or after an import of more

than about twenty sources.

How to use it

Copy the folder

Take undefined-ui/second-brain-lint from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.