Context Pack: A small, project-specific knowledge base for humans and agents.
A single, portable Claude Code skill — context-pack-setup — that provisions a complete
knowledge base in any repository: it scaffolds a kb/ Open Knowledge Format
(OKF) bundle, installs five primitive context-pack-* skills, wires a uv converter group, and
interviews you for the KB's domain.
It is a Karpathy-style "LLM wiki": you curate sources, the LLM does the bookkeeping (summaries,
interlinked pages, cross-references, health checks). Querying is plain markdown + grep + an index —
deliberately no vector DB / RAG.
A knowledge base of 50 pages you trust beats 5,000 you have never read.
./install.sh # user scope: ~/.claude/skills/context-pack-setup (/context-pack-setup works in every repo)
./install.sh --project # project scope: ./.claude/skills/context-pack-setup (this repo only)Or copy it by hand:
cp -r context-pack-setup ~/.claude/skills/Re-running the installer overwrites the previous context-pack-setup install (it is tooling — safe
to refresh).
In the repo where you want a KB, invoke the installer skill, then drive the workflow:
/context-pack-setup # scaffold kb/, install the context-pack-* skills, wire converters, set the domain
/context-pack-add <url-or-file-or-doi> # capture a source → raw/ + a sources/ stub (no synthesis)
/context-pack-ingest <slug> # compile raw → literature note → wiki pages + links + index + log
/context-pack-ask "what does the KB say about …?" # cited answer, grounded only in the KB
Plus /context-pack-digest ("what's new since <date>") and /context-pack-lint (health-check the
bundle).
Converters need their deps once: uv sync --group kb.
In the target repo:
kb/
├── README.md # the contract (personalized with your domain); every context-pack-* skill reads it first
├── index.md log.md # reserved OKF files (no frontmatter): the routing index + activity log
├── inbox/ # staging for untriaged drops
├── raw/<slug>/ # immutable, faithful source payloads (content.md + meta.yaml)
├── sources/ # one literature note per source ("what does THIS source say?")
└── wiki/ # synthesized, cross-source concepts ("what do we know about X?")
├── concepts/ patterns/ tools/ # default categories (customizable at setup)
.claude/skills/
├── context-pack-add/ context-pack-ingest/ context-pack-ask/ context-pack-digest/ context-pack-lint/ # the five primitives
pyproject.toml # gains a [dependency-groups] kb = ["docling>=2", "trafilatura>=1.12"]
/context-pack-setup is idempotent: it never overwrites existing files (cp -n), so re-running
repairs a partial setup and leaves a complete one untouched. To re-personalize the domain, edit or
delete kb/README.md and re-run.
The core is tool-agnostic: the contract (kb/README.md), the five primitive instruction files,
the converter commands (uv run --group kb …, grep, shasum, cp), and the kb/ scaffold are
plain markdown + POSIX shell with no Claude-Code-specific runtime variables. Any capable agent
can operate the KB when pointed at these files.
There are two layers in a provisioned repo:
kb/is the portable knowledge artifact — any tool can read and operate on it..claude/skills/is the Claude Code adapter for driving it.
Only the context-pack-setup/SKILL.md installer itself is Claude-Code-specific (it uses
${CLAUDE_SKILL_DIR} to find its bundled assets and is invoked via slash command). Nothing it
writes into your repo depends on a Claude-Code variable — so a user on another agent (e.g. Codex)
gets the identical kb/ and can drive it via their own conventions.
This packages the knowledge-base machinery originally built into the dev-stack repo as a single
standalone, portable skill so any repo can stand up the same setup with one command. The five
primitive context-pack-* skills and the contract are byte-for-byte the dev-stack originals (the
contract's domain is genericized into an interview prompt). dev-stack is the upstream source;
context-pack is the distributable. Out of scope here (lives only in dev-stack's roadmap):
autonomous bulk-fill (kb-bootstrap), parallel ingest, LLM-transcription fallback, and
status-ladder enforcement.