Kb init
Janet builds and maintains a portable LLM wiki in plain Markdown using the Open Knowledge Format (OKF). Run her directly, call her as a subagent, or add her skills to your coding agent.
npx -y skills add stjbrown/agent-knowledge --skill kb-initAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 22 stars22 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffold a new OKF knowledge bundle in this project — run when starting a wiki or adding a bundle under knowledge/.
SKILL.md
3.9 KB, as published. Nobody here has run it
kb-init — scaffold a knowledge bundle
Scaffold a conformant bundle per kb. Your unique work is the schema layer (step 2) and adapting the seed (step 3).
Read ../kb/reference/glossary.md if the terms below are unfamiliar.
1. Resolve location and bundle name
Default to a bundle at knowledge/. Accept overrides from the user's request:
- A different path (e.g.
docs/kb) → scaffold there instead. - A named bundle (e.g. "a
cibundle") → scaffold atknowledge/<name>/and treatknowledge/as a multi-bundle folder: ensure a top-levelknowledge/index.mdexists that catalogs the bundles (create it if missing; add this bundle to it).
If the target directory already contains a bundle (a root index.md), stop and report it — do not
overwrite. Offer kb-ingest instead.
Completion criterion: the target path and bundle name are fixed, and confirmed not to collide with an existing bundle.
2. Understand the domain before scaffolding
The scaffold is deterministic; the schema layer needs judgment, so gather it first. Inspect the workspace for signal (README, existing docs, the code, any notes the user points at) and ask the user only what you still can't infer:
- What kind of knowledge will this bundle hold? (work context — people, deals, product; a research corpus you keep adding papers to; a codebase or product handbook; competitive landscape; a book/course you're studying; a spec or pattern you're documenting, like this repo's OKF bundle, …)
- What are the main entities — the recurring things worth a concept each? These become the
typevocabulary (e.g.person,deal,metric; orcharacter,chapter,theme). - What raw sources will be ingested, and how should they route to those entities?
Keep it short — a few types and a one-line routing rule is enough to start; the schema layer co-evolves later.
Completion criterion: you can name the bundle's initial type values, its raw sources, and a
one-line ingest routing rule.
3. Copy the seed and write the schema layer
Copy ../kb/example-bundle/ into the target, then adapt every seed artifact:
| Artifact | Action |
|---|---|
index.md | Keep okf_version: "0.1" frontmatter; replace the body with this bundle's title and section list. |
log.md | Start fresh with a single dated **Creation** entry. |
spec/types.md | Replace example types with the domain's type vocabulary from step 2. |
spec/conventions.md | Replace with folder taxonomy, naming, ingest routing rule, and a trust-model pointer. |
concepts/* | Remove example entities (customers, orders); leave concepts/ empty or create domain starter folders. |
knowledge/index.md | If multi-bundle (step 1): create or update the catalog entry for this bundle. |
Use ../kb/templates/ for any new concept/index/log files.
Completion criterion: the bundle exists on disk; every row above is accounted for; spec/types.md
and spec/conventions.md describe this project (not the example's orders/customers); multi-bundle
catalog updated if applicable.
4. Validate
Run kb-lint if available; otherwise verify the bundle is conformant per kb (SPEC §9 — the one hard rule).
Completion criterion: zero conformance errors.
5. Hand off
Tell the user the bundle is ready, where it lives, and the two next moves:
kb-ingest to add knowledge, kb-query to ask it
questions. If this project uses CLAUDE.md/AGENTS.md, offer to add a one-line pointer so agents
read the bundle's root index.md before relevant tasks.