kb-lint
Health-check a knowledge bundle for conformance and drift; optionally auto-fix safe issues.
Skill by stjbrown
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/stjbrown-kb-lint
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/kb-lint
What's inside
- Skill name
kb-lint- Description
- Health-check a knowledge bundle for conformance and drift; optionally auto-fix safe issues.
- License
- MIT
- Instructions
- 105 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- conformance.mjs · scripts/
SKILL.md (first lines)
# kb-lint — health-check the bundle
Keep a [bundle](../kb/SKILL.md) trustworthy as it **compounds** by catching **drift** — the decay a
growing knowledge base accumulates. Two passes: a **deterministic conformance** check (mechanical,
scripted) and a **drift audit** (fuzzy, judgment). Run both; report findings by severity. With
`fix`, repair what is safe.
## 1. Conformance (deterministic)
For a bundle-wide format or lifecycle migration, first inventory active metadata with the same
frontmatter-aware checker:
```
node "<skill-dir>/scripts/conformance.mjs" <bundle-dir> --inventory --json
```
The inventory parses only each concept's leading YAML frontmatter and reports body `# Citations`
separately. Its `observations` include counts and exact paths for every active top-level key and
status value; `legacy_citations` counts citation sections, numbered items, separately defined
footnote sources, total source records, and common citation shapes; `structured_sources` counts the
postflight concepts, entries, and entries carrying `resource`. An absent observation means zero. Do
not use repository-wide grep to classify active metadata because prose and fenced examples can contain
inactive field names and lifecycle values. Resolve every reported frontmatter error before planning
from the counts.
Run the bundled checker against the target bundle (default `knowledge/`). It is a zero-dependency
Node script (`node >=18`); `<skill-dir>` is this skill's directory — `${CLAUDE_SKILL_DIR}` under
Claude Code, or whatever path your host exposes for the skill:
```
node "<skill-dir>/scripts/conformance.mjs" <bundle-dir>
```
It reports **ERROR** for a hard [SPEC](../kb/references/SPEC.md) §11 failure and **warn** for
producer-profile defects in optional v0.2 fields, broken links, non-ISO log dates, and stale dates.
Optional-family warnings never make the bundle non-conformant. Broken links are explicitly
tolerated by §6.1.
**Completion criterion:** the checker has run and every ERROR it reported is listed for the report
(and fixed, if in `fix` mode).
## 2. Drift audit (judgment)
The checker can't see meaning. Audit the bundle for the ways a compounding artifact rots — this is
the legwork that makes lint worth running. Cover every check:
- **Contradictions** — concepts asserting conflicting facts that aren't linked `conflicts_with`.
- **Stale claims** — statements a newer source has superseded but that were never marked
`superseded_by`; overviews behind their children.
- **Orphans** — concepts with zero inbound [cross-links](../kb/references/glossary.md) (index/log
exempt; overviews exempt).
- **Missing cross-references** — concepts about the same entity/theme that don't link to each other.
- **Coverage gaps** — entities named repeatedly across concepts but lacking their own concept; data
gaps a source or web search could fill.
- **Provenance gaps** — concepts making external claims with neither OKF v0.2 `sources` nor a legacy
`# Citations` / Reference trail.
- **v0.2 metadata drift** — `sources` entries without `resource`, footnote labels without a matching
`sources[].id`, malformed `generated`/`verified` actors or dates, invalid lifecycle values, and
Attested Computations missing their required runtime or computation contract.
- **Repository drift** — for living repository documentation, missing paths in
`sources[].resource`, evidence that no longer supports the documented behavior, or source changes
since `spec/repository_state.md`'s `documented_revision` that affect a concept without a
corresponding update. A lingering `documented_worktree: true` there requires comparison with the
current working tree. Skip this check when repository evidence or Git history is unavailable.
- **Schema drift** — types used but absent from `spec/types.md`; documented types that no longer
describe their concepts; spelling/case variants; or one overloaded type hiding several recurring,
materially distinct entity kinds. Treat unused documented types as Info, not an error.
**Completion criterion:** every check above has been run across the whole bundle and its findings
recorded — not a sample.
## 3. Report
Present findings grouped by check, each tagged:
- **Error** — §11 conformance failures. The bundle is non-conformant until fixed.
- **Warning** — drift that degrades trust (contradictions, stale claims, orphans, broken links).
- **Info** — suggestions (coverage gaps, new concepts or sources worth adding).
Turn coverage gaps into concrete next moves: questions to investigate, sources to
[ingest](../kb-ingest/SKILL.md), or repository evidence to inspect through
[kb-document](../kb-document/SKILL.md). Append a dated summary (counts + notable findings) to the
bundle's `log.md` — append-only.
**Completion criterion:** a severity-grouped report is delivered and a `log.md` summary appended.
## Fix mode
If invoked with `fix`, repair only what is **safe and unambiguous**, then re-report what was fixed
vs. what needs a human:
- **Safe to auto-fix:** stale overviews (regenerate from children), missing cross-links, malformed
log dates, broken links with an obvious target, index entries out of sync with files.
- **Never auto-fix:** anything that changes a claim's meaning. A contradiction or a stale *claim* is
resolved by [ingest](../kb-ingest/SKILL.md) under the [trust model](../kb/references/trust-model.md)
(**supersede**/**conflict**) — never by editing meaning in place here. Type renames, merges,
splits, deprecations, and migrations also require user confirmation; report the proposed schema
change and affected concepts together. Route living repository behavior that needs a meaning
update to [kb-document](../kb-document/SKILL.md), which applies the trust model's narrow
versioned-repository exception with source evidence and a revision log.
**Completion criterion:** every safe issue is fixed and every meaning-level issue is flagged (not
touched); the re-report distinguishes the two.From stjbrown/agent-knowledge, MIT.
More from stjbrown/agent-knowledge
- 0.621score
kb
stjbrown
Portable OKF knowledge bundle for coding-agent memory and LLM wikis.
SkillBFreshness: B★ 41Claude Code +9 - 0.618score
kb-visualize
stjbrown
Render a knowledge bundle as an interactive graph — native UI where the host supports it, otherwise a self-contained HTML artifact.
SkillBFreshness: B★ 41Claude Code +9 - 0.616score
kb-ingest
stjbrown
Ingest a source into the knowledge bundle.
SkillBFreshness: B★ 41Claude Code +9 - 0.616score
kb-query
stjbrown
Answer from the knowledge bundle.
SkillBFreshness: B★ 41Claude Code +9 - 0.616score
kb-document
stjbrown
Document and refresh a software repository in an OKF knowledge bundle.
SkillBFreshness: B★ 41Claude Code +9 - 0.610score
kb-init
stjbrown
Scaffold a new OKF knowledge bundle in this project — run when starting a wiki or adding a bundle under knowledge/.
SkillBFreshness: B★ 41Claude Code +9
Signals
- Stars
- 41
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 1, 2026 (2 months ago)
- Last release
- Jul 29, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/stjbrown/agent-knowledge
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from stjbrown
- 0.621score
kb
stjbrown
Portable OKF knowledge bundle for coding-agent memory and LLM wikis.
SkillBFreshness: B★ 41Claude Code +9 - 0.618score
kb-visualize
stjbrown
Render a knowledge bundle as an interactive graph — native UI where the host supports it, otherwise a self-contained HTML artifact.
SkillBFreshness: B★ 41Claude Code +9 - 0.616score
kb-ingest
stjbrown
Ingest a source into the knowledge bundle.
SkillBFreshness: B★ 41Claude Code +9 - 0.616score
kb-query
stjbrown
Answer from the knowledge bundle.
SkillBFreshness: B★ 41Claude Code +9 - 0.616score
kb-document
stjbrown
Document and refresh a software repository in an OKF knowledge bundle.
SkillBFreshness: B★ 41Claude Code +9 - 0.610score
kb-init
stjbrown
Scaffold a new OKF knowledge bundle in this project — run when starting a wiki or adding a bundle under knowledge/.
SkillBFreshness: B★ 41Claude Code +9
Cite this page
kb-lint skill. Agent Mart. https://agentmart.dev/skills/stjbrown-kb-lint (last updated 2026-10-24)