Cavekit is a spec-driven development workflow for Claude Code built around a single SPEC.md file at the repository root. The loop is grill, spec, research, review, build: three commands run every time (/ck:spec, /ck:build, /ck:check) and four more are used only when a change is uncertain or has a wide blast radius. It runs in the main Claude thread with no sub-agents, dashboards, hooks, or orchestration binaries.
Three properties underpin the design. The spec is durable: it survives context resets and acts as the agent's long-term memory. The spec is written in caveman encoding, a compressed style of symbols, fragments, and pipe tables that uses about 75% fewer tokens than prose, and the nine skill descriptions together occupy roughly 1.1k tokens of context. And a backprop reflex turns every test failure into a §B bug entry and recurring bug classes into §V invariants that the spec retains.
Development is frozen as of August 2026. The package still installs and works, and active work on the family continues in caveman and caveman-browse. The previous generation (v3.1.0, the Hunt lifecycle with 16 slash commands, 12 named sub-agents, parallel wave execution, and team mode) remains available at its tag for projects that want the autonomous, multi-agent loop.
Features
- The loop: /ck:spec (sole spec mutator), /ck:build (plan then execute, naming which test proves each invariant), /ck:check (read-only drift report)
- Reach-for commands: /ck:grill sharpens a fuzzy idea, /ck:research gathers sourced facts into §R, /ck:review runs an adversarial pre-build review with a go/no-go gate, /ck:deepen deepens one module
- Spec format: sections for goal, constraints, interfaces, research, invariants, tasks, and bugs, and each verb owns specific sections
- Caveman encoding: compressed spec syntax that lowers the token cost of reading and writing the spec
- Backprop reflex: a six-step protocol that promotes test failures to spec bugs and bug classes to invariants
- Right-sizing rule: a one-line fix is just /build, while the full chain is reserved for high-uncertainty work
