kb — bundles
Hub for the kb-* family: vocabulary, shared reference, routing. Knowledge compounds —
compiled once, kept current, not re-derived per query. Does not modify a bundle — routes to the
skill that does.
Key terms
references/glossary.md defines the vocabulary. Minimum before routing:
Bundle, Ingest, Progressive disclosure, Trust model (see
trust-model.md).
The one hard rule
A bundle is conformant iff every non-reserved .md file has parseable YAML frontmatter with a
non-empty type. Everything else is soft guidance — consumers MUST tolerate missing optional fields,
unknown types, and broken links. Never reject a bundle over them. Full rules:
references/SPEC.md §11.
The domain portion of spec/types.md is a living, producer-chosen vocabulary, not a validation
enum. Keep the workflow conventions Reference and Spec Section; start the domain types small
and evolve them through kb-ingest or
kb-document when the domain reveals a durable new kind of entity. Use
kb-lint to detect schema drift.
Route to the right skill
| The user wants to… |
Use |
| Start a new bundle |
kb-init |
| Capture, ingest, file, or process a source (note, transcript, PDF, image, URL) |
kb-ingest |
| Document a repository, explain its architecture/workflows, or refresh knowledge after code changes |
kb-document |
| Ask what the bundle knows; look something up; explore connections |
kb-query |
| Health-check the bundle (drift, orphans, contradictions, conformance) |
kb-lint |
| See the bundle as a graph |
kb-visualize |
If a knowledge/ bundle exists and would inform the current task, consult it via
kb-query before answering from scratch — even when the user didn't ask an
explicit knowledge question.
Shared reference (single source of truth)
Every kb-* skill reads these rather than restating them, so the family stays consistent:
- references/SPEC.md — OKF v0.2, vendored verbatim.
- references/version-profile.md — v0.2 production and v0.1
compatibility rules; every writing skill reads it before changing a bundle.
- references/glossary.md — leading words and definitions.
- references/trust-model.md — the maintenance rules.
- templates/ —
concept.md, index.md, log.md starters.
- example-bundle/ — a tiny conformant bundle: a worked example, and the seed
kb-init copies from.
1---2name: kb3description: Portable OKF knowledge bundle for coding-agent memory and LLM wikis. Use when the user wants to start a wiki, ingest a source, document a repository, query project knowledge with citations, lint for drift, or visualize connections; whenever a repo has a knowledge/ bundle that should inform the task; and when another kb-* skill needs the shared spec, glossary, templates, or trust model.4---56# kb — bundles78**Hub** for the `kb-*` family: vocabulary, shared reference, routing. Knowledge **compounds** —9compiled once, kept current, not re-derived per query. Does not modify a bundle — routes to the10skill that does.1112## Key terms1314[references/glossary.md](references/glossary.md) defines the vocabulary. Minimum before routing:15**Bundle**, **Ingest**, **Progressive disclosure**, **Trust model** (see16[trust-model.md](references/trust-model.md)).1718## The one hard rule1920A bundle is **conformant** iff every non-reserved `.md` file has parseable YAML frontmatter with a21non-empty `type`. Everything else is soft guidance — consumers MUST tolerate missing optional fields,22unknown types, and broken links. Never reject a bundle over them. Full rules:23[references/SPEC.md](references/SPEC.md) §11.2425The domain portion of `spec/types.md` is a living, producer-chosen vocabulary, not a validation26enum. Keep the workflow conventions `Reference` and `Spec Section`; start the domain types small27and evolve them through [`kb-ingest`](../kb-ingest/SKILL.md) or28[`kb-document`](../kb-document/SKILL.md) when the domain reveals a durable new kind of entity. Use29[`kb-lint`](../kb-lint/SKILL.md) to detect schema drift.3031## Route to the right skill3233| The user wants to… | Use |34|---|---|35| Start a new bundle | [`kb-init`](../kb-init/SKILL.md) |36| Capture, ingest, file, or process a source (note, transcript, PDF, image, URL) | [`kb-ingest`](../kb-ingest/SKILL.md) |37| Document a repository, explain its architecture/workflows, or refresh knowledge after code changes | [`kb-document`](../kb-document/SKILL.md) |38| Ask what the bundle knows; look something up; explore connections | [`kb-query`](../kb-query/SKILL.md) |39| Health-check the bundle (**drift**, orphans, contradictions, conformance) | [`kb-lint`](../kb-lint/SKILL.md) |40| See the bundle as a graph | [`kb-visualize`](../kb-visualize/SKILL.md) |4142If a `knowledge/` bundle exists and would inform the current task, consult it via43[`kb-query`](../kb-query/SKILL.md) before answering from scratch — even when the user didn't ask an44explicit knowledge question.4546## Shared reference (single source of truth)4748Every `kb-*` skill reads these rather than restating them, so the family stays consistent:4950- [references/SPEC.md](references/SPEC.md) — OKF v0.2, vendored verbatim.51- [references/version-profile.md](references/version-profile.md) — v0.2 production and v0.152 compatibility rules; every writing skill reads it before changing a bundle.53- [references/glossary.md](references/glossary.md) — leading words and definitions.54- [references/trust-model.md](references/trust-model.md) — the maintenance rules.55- [templates/](templates/) — `concept.md`, `index.md`, `log.md` starters.56- [example-bundle/](example-bundle/) — a tiny conformant bundle: a worked example, and the seed57 `kb-init` copies from.