Caveman — token-efficiency skills
Terse commits, PR comments, and optional short chat replies — without compressing kit memory.
Requires pack:
caveman. Skills are not on disk until the pack is enabled. See Packs.
npx create-lean-agent-kit@latest . --enable-pack cavemanpnpm dlx create-lean-agent-kit@latest . --enable-pack cavemanyarn dlx create-lean-agent-kit@latest . --enable-pack cavemanbunx create-lean-agent-kit@latest . --enable-pack cavemanWhat it is
Optional terse output skills adapted from Caveman (MIT) by Julius Brussee. They shrink how the agent writes — commit messages, PR comments, and (optionally) chat replies — without compressing kit memory files.
Caveman is a thin style layer — it does not replace leanagentkit-review, leanagentkit-git-workflow, ambient memory / LEARNINGS.md, or the memory protocol.
Do I need this pack?
- Enable if you want terse Conventional Commits and/or one-line PR review comments (and optionally terse chat).
- Skip if long explanatory replies help you, or you already keep commits short without a skill — terse chat can be net-negative on short Q&A.
Use cases
- Commit formatting — pair
leanagentkit-git-workflow(discipline) withleanagentkit-caveman-commit(short message style). - PR thread comments —
leanagentkit-caveman-reviewfor paste-ready one-liners after a fullleanagentkit-review. - Long architecture chats — turn on
terse_communicationonly when replies tend to ramble. - Team default — commit
caveman.ymlso everyone shares the same toggles.
What Caveman is / is not
| Caveman is | Caveman is not |
|---|---|
| Terse Conventional Commit message formatting | A replacement for leanagentkit-git-workflow principles |
| One-line paste-ready PR review comments | A replacement for multi-axis leanagentkit-review |
| Optional terse agent chat replies | Memory compression for CODEBASE_MAP, ACTIVE_CONTEXT, or LEARNINGS |
Opt-in via .leanagentkit/caveman.yml | Always-on guardrails |
How it works
Quick start
Copy the config example:
bashcp .leanagentkit/caveman.yml.example .leanagentkit/caveman.ymlAdjust toggles (defaults: commits and reviews on, terse replies off).
Re-run stack matching so
AGENTS.md §7lists enabled skills:Read
.agent/skills/leanagentkit-match-stack.mdand follow it.Or enable during bootstrap — Step 3e offers Caveman setup.
Config
.leanagentkit/caveman.yml:
enabled: true
terse_communication: false # leanagentkit-caveman — off by default
terse_commits: true # leanagentkit-caveman-commit
terse_reviews: true # leanagentkit-caveman-review| Toggle | Skill | Default | Notes |
|---|---|---|---|
terse_communication | leanagentkit-caveman | false | Adds ~1–1.5k input tokens/turn when active |
terse_commits | leanagentkit-caveman-commit | true | Pairs with leanagentkit-git-workflow |
terse_reviews | leanagentkit-caveman-review | true | Pairs with leanagentkit-review |
Integration is active only when .leanagentkit/caveman.yml exists with enabled: true. Otherwise skills remain available for explicit invoke — zero impact on the daily loop.
Pairing with LAK skills
leanagentkit-git-workflow → commit principles, atomicity, branch discipline
leanagentkit-caveman-commit → terse message formatting only
leanagentkit-review → five-axis findings report before merge
leanagentkit-caveman-review → one-line PR thread comments
leanagentkit-handoff → clear prose in HANDOFF.md (not terse)
docs/memory/LEARNINGS.md → clear prose for project learnings (not terse)
leanagentkit-caveman → terse chat replies only when enabledInvoke any skill explicitly:
Read
.agent/skills/leanagentkit-caveman-commit.mdand follow it.
When it helps vs hurts
Helps:
- Long explanatory agent replies (architecture, debugging walkthroughs)
- Formatting commit messages and PR comments where brevity is the goal
Hurts (net-negative):
- Already-terse coding Q&A — skill overhead can exceed output savings
- Compressing kit memory files — use LAK's lean map + distill loop instead
See Caveman honest numbers for measured trade-offs.
Out of scope in Lean Agent Kit
The upstream Caveman repo also ships caveman-compress (memory file rewriting), hooks, stats, subagents, and MCP middleware. LAK does not bundle those — kit memory stays human-readable by design.
Attribution
Adapted from Caveman (MIT) by Julius Brussee.