--- name: kb description: >- 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. version: 0.3.2 tags: [knowledge, okf, bundle, hub] --- # 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](references/glossary.md) defines the vocabulary. Minimum before routing: **Bundle**, **Ingest**, **Progressive disclosure**, **Trust model** (see [trust-model.md](references/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](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`](../kb-ingest/SKILL.md) or [`kb-document`](../kb-document/SKILL.md) when the domain reveals a durable new kind of entity. Use [`kb-lint`](../kb-lint/SKILL.md) to detect schema drift. ## Route to the right skill | The user wants to… | Use | |---|---| | Start a new bundle | [`kb-init`](../kb-init/SKILL.md) | | Capture, ingest, file, or process a source (note, transcript, PDF, image, URL) | [`kb-ingest`](../kb-ingest/SKILL.md) | | Document a repository, explain its architecture/workflows, or refresh knowledge after code changes | [`kb-document`](../kb-document/SKILL.md) | | Ask what the bundle knows; look something up; explore connections | [`kb-query`](../kb-query/SKILL.md) | | Health-check the bundle (**drift**, orphans, contradictions, conformance) | [`kb-lint`](../kb-lint/SKILL.md) | | See the bundle as a graph | [`kb-visualize`](../kb-visualize/SKILL.md) | If a `knowledge/` bundle exists and would inform the current task, consult it via [`kb-query`](../kb-query/SKILL.md) 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](references/SPEC.md) — OKF v0.2, vendored verbatim. - [references/version-profile.md](references/version-profile.md) — v0.2 production and v0.1 compatibility rules; every writing skill reads it before changing a bundle. - [references/glossary.md](references/glossary.md) — leading words and definitions. - [references/trust-model.md](references/trust-model.md) — the maintenance rules. - [templates/](templates/) — `concept.md`, `index.md`, `log.md` starters. - [example-bundle/](example-bundle/) — a tiny conformant bundle: a worked example, and the seed `kb-init` copies from.