kb-lint
Skill3 starsChanged 3 months agoMITView on GitHub
Report-only health check over the LLM Knowledge Base notes (reading the wider vault for connection candidates). Surfaces inconsistent/contradictory data, orphan notes, missing data web search could impute, and candidate new connections. Findings are report-only — any auto-fix is confined to KB-owned notes and reversible (git); off-limits and non-KB notes are proposals only. Operator-invoked via /kb-lint. Use to audit KB health after compiling.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- janezslapnik/llm-wiki-kbtheir own version, first seen Nov 1, 2026
- viniciusbedum/vb-ai-contexttheir own version, first seen Sep 25, 2026
- yinqd3/workbuddy-skillstheir own version, first seen Jun 3, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- yinqd3/workbuddy-skills★ 10same name
- viniciusbedum/vb-ai-context★ 2same name
- janezslapnik/llm-wiki-kb★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository41 other files it gives its agents.
- cadence-goalsSkill
- ci-feedback-loopSkill
- compoundSkill
- decision-rights-doctrineSkill
- diataxisSkill
- dispatch-gateSkill
- drift-checkSkill
- family-checkSkill
- fix-then-re-review-ladderSkill
- github-projectsSkill
- gitSkill
- goal-treeSkill
- handoffSkill
- improvement-loopSkill
- kb-captureSkill
- kb-compileSkill
- kb-coreSkill
- kb-lessons-bridgeSkill
- l1-supervisorSkill
- l2-supervisorSkill
- lessons-learnedSkill
- lN-lifecycle-doctrineSkill
- lN-review-doctrineSkill
- medical-recordsSkill
- operator-interview-doctrineSkill
- operator-interviewSkill
- operator-reviewSkill
- planning-workflowSkill
- pr-review-fanoutSkill
- pull-taskSkill
- ralph-wiggumSkill
- reviewSkill
- root-cause-depthSkill
- scan-documentSkill
- self-improvementSkill
- self-verifySkill
- skillifySkill
- task-workflowSkill
- testing-without-mocksSkill
- vault-cloudSkill
- verify-inherited-premiseSkill
The file
Files
KB Lint
On-demand health check over the LLM Knowledge Base (SPEC v2 §2.6). Reports issues; the operator applies them. The only autonomous writes allowed are reversible fixes to KB-owned notes; findings on off-limits zones or non-KB notes are surfaced as proposals only (INV-1).
Status: the deterministic guards are implemented and unit-tested in
kb-core(is_kb_owned— auto-fix confined to KB notes, AC-6.2;is_writable— off-limits floor;find_orphans— AC-6.3 input), pluskb-lint's ownis_git_backed(re-checked fresh every run against the vault's live git state; gates whether auto-fix is reachable at all — seescripts/kb_lint_git.py). The findings pass is agent-orchestrated peroperations/lint.md. Proposal-only findings (declined within-KB link suggestions, KB<->non-KB cross-links) are persisted to a durableNotes/kb-lint-proposals.mdinbox instead of only printing to the transcript; the idempotency-key/dedup logic is implemented and unit-tested inkb-lint/scripts/kb_lint_proposals.py.
Billing posture
/kb-lint is operator-invoked and interactive → subscription billing pool. No scheduled
pass; same rationale as /kb-compile (SPEC v2 §6, CLAUDE.md billing guard).
What it reports (SPEC v2 §2.6)
- Inconsistent / contradictory data across KB notes.
- Orphan notes (no backlinks).
- Missing data that a web search could impute.
- Candidate new connections / articles (must surface ≥1 actionable candidate on a
non-trivial vault — AC-6.3). Proposal-only candidates (within-KB suggestions kb-lint
declines to auto-apply, and KB<->non-KB cross-links it can't write) are appended to a
durable
Notes/kb-lint-proposals.mdinbox, deduped against prior runs.
Invocation
/kb-lint # health-check the KB notesExecution
- Load the operation:
Read(${CLAUDE_PLUGIN_ROOT}/skills/kb-lint/operations/lint.md) - Execute it.
- Emit the findings report; apply only reversible fixes to KB-owned notes, surface the rest as proposals.
Integration Points
- kb-core —
${CLAUDE_PLUGIN_ROOT}/skills/kb-core/scripts/kb_core.py(is_kb_owned+is_writablefor the write guard,find_orphansfor orphan detection). - kb-lint's own scripts —
${CLAUDE_PLUGIN_ROOT}/skills/kb-lint/scripts/kb_lint_git.py(is_git_backed— re-checked fresh every run, gates auto-apply eligibility);${CLAUDE_PLUGIN_ROOT}/skills/kb-lint/scripts/kb_lint_proposals.py(idempotency key, checklist-line rendering, and dedup for the proposals inbox). - QMD — the vault search CLI, for connection-candidate discovery.
- obsidian-notes skill / host config — vault path resolution; reads and KB-owned fixes (including the proposals inbox note).
- kb-compile — produces the KB notes this skill audits.
Tests
cd skills/kb-lint/scripts && python3 -m unittest test_kb_lint_git test_kb_lint_proposalsStdlib unittest (zero-dependency, matches kb-core/scripts/test_kb_core.py).
See Also
skills/kb-core/references/spec-v2-contract.md(AC-6.1–6.3 — lint contract).skills/kb-compile.
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
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.

