← 开源
JuliusBrussee

caveman

🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.

AI EngineeringPrompt & ScaffoldGo
在 GitHub 打开
增长势头
+25024 小时新增 Star+0.2%
109.9k
Star
6.36k
Fork
—
本周
66
贡献者
创建于 2026-04-04 · 更新于 2026-10-05 · 今日第 60 名
主要开发者
README

Caveman

why many token when few do trick

Caveman make your AI agent say less and read less. Code stay exact. Brain still big.

GitHub stars npm downloads 30+ agents License

33.2% fewer input tokens through the proxy
54 Claude Code runs, 18 of 18 answers right

129.8× smaller web pages for the agent
caveman browse vs a Playwright snapshot

1.4 to 2.4× cheaper with caveman-style output
Adobe Research, eight models

Cited by Adobe Research · A/B tested by JetBrains · Remade for Elasticsearch on Elasticsearch Labs

#1 on Hacker News · #1 on GitHub Trending · "No way this actually works." ThePrimeagen

How it talks · Install · The numbers · The proxy · What you get · In the wild


Normal agent · 63 tokens

Caveman agent · 20 tokens

The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I'd recommend using useMemo to memoize the object.

New object ref each render, so React re-renders. Wrap the prop in useMemo.

Same fix. 63 token become 20. Brain still big.

Pick your club:

Skill Same answer Tokens
/caveman New object ref each render, so React re-renders. Wrap the prop in useMemo. 20
/ultracave Inline object prop, new ref, re-render. useMemo. 14
/megacave 新參照致重繪。useMemo。 13

Token counts: tiktoken o200k.

How caveman talks

Caveman is a voice, not broken grammar. Every reply follows the same structure:

Rule What it means
Answer first [thing] [action] [reason]. [next step]. No greeting, no "let me", no recap, no "hope this helps"
One idea per sentence Built on ASD-STE100, the controlled English written for aircraft maintenance manuals: 20 words max, active voice, one term per thing
Meaning never dropped Articles can go. not, never, no, only never go. Numbers and units stay exact
Payload verbatim Code, commands, paths, and error messages untouched, character for character
Quiet tool runs No chatter between tool calls. One line per phase, one line with the result
Knows when to stop Security warnings, irreversible actions, step-by-step orders, and confused users get full sentences. Then grunt resumes
Never performs No "me think", no caveman prefix. If caveman phrasing isn't shorter, plain wins
Your prompts stay yours Never rewritten. Research say that backfire

Every reply runs a check before it sends: opener that announces the plan, deleted; closer that recaps, deleted; every negation, path, and number still there.

Install

npx skills add JuliusBrussee/caveman -g

Works in Claude Code, Codex, Gemini CLI, Cursor, Windsurf, Cline, Copilot, and 30+ more. Type /caveman if it doesn't start on its own. Say stop caveman to go back. One rock. That it.

Other ways in: Claude Code plugin, Gemini, every agent at once, Windows, uninstall

# Claude Code plugin, auto-starts every session
claude plugin marketplace add JuliusBrussee/caveman && claude plugin install caveman@caveman

# Gemini CLI
gemini extensions install https://github.com/JuliusBrussee/caveman

# Every agent on your machine at once, plus the Claude Code statusline badge (Node.js 22.13+)
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/v3.1.0/install.sh | bash

Windows, PowerShell 5.1+:

irm https://raw.githubusercontent.com/JuliusBrussee/caveman/v3.1.0/install.ps1 | iex

Changed your mind: npx -y github:JuliusBrussee/caveman -- --uninstall

Install broke? Open your agent in this repo and say "Read CLAUDE.md and INSTALL.md, install caveman for me." Agent fix own brain.

The numbers

Outside labs first, then ours. Nothing rounded up. Red rows stay red.

Who Setup Result
Adobe Research, CAVEWOMAN paper (cites this repo) Caveman-style output, eight models, five datasets Cost cut 1.4 to 2.4× per model, up to 3×
Elastic, Elasticsearch Labs Caveman mode remade for Elasticsearch, eight live MCP scenarios 63.6% fewer response tokens. "Zero information loss."
JetBrains 86 real coding tasks, paired A/B No measurable quality loss (p = 0.82). 8.5% fewer output tokens

Two findings shaped caveman. Adobe found that cavemanning your prompt makes answers longer and worse, so caveman never touches your prompt. JetBrains found that agent sessions are mostly code and tool calls, which the skill leaves alone. So caveman grew a second rock that shrinks what the agent reads: the proxy.

The proxy: 33.2% fewer input tokens

File type The file, through caveman File saved Whole Claude Code session, 3 runs Session saved
CSV 28,041 → 314 98.9% 165,823 → 74,484 55.1%
Logs 22,810 → 348 98.5% 148,807 → 74,068 50.2%
YAML 20,447 → 178 99.1% 132,124 → 71,027 46.2%
Test output 18,806 → 203 98.9% 150,377 → 108,514 27.8%
JSON 18,837 → 281 98.5% 147,975 → 108,939 26.4%
HTML 21,670 → 21,670 none yet 140,687 → 154,641 9.9% worse
All six 130,611 → 22,994 82.4% 885,793 → 591,673 33.2%

18 of 18 answers right. The file is each benchmark file run through today's compressor on its own. The session is the whole agent run, which also carries the system prompt, tool definitions, conversation, and caveman's own rules, so it moves less than the file. The session run is from August 2026, on an engine that only got the JSON file down to 8,106 tokens. HTML has no compressor yet, so caveman paid its overhead and won nothing back. Each file hides one record in 61 to 72 KB of noise; your files will vary. Headroom on the same suite got 15 of 18 right and used 6.7% fewer tokens on those 15. Method

The skill: ten dev questions on claude-opus-5-5

Instruction Output tokens
None 6,983
Answer concisely. 4,334
/caveman 4,119
/ultracave 2,693

New models already know "be concise", so that line is the real baseline. On top of it, /caveman cuts 3% more at the median and /ultracave cuts 35% more. Harness

Everything else

What Result
A web page the agent reads (caveman browse, 200-row table) 121 tokens instead of 15,704 for a Playwright snapshot, 129.8× smaller. Tiny forms lose 2.3×. Bench
Memory files like CLAUDE.md (/caveman-compress) 46% smaller across five fixtures, with every heading, code block, and path intact. Bench

The rules add about 1,000 input tokens to every call. If you pay per request instead of per token (GitHub Copilot premium requests), a shorter answer costs the same, so skip it. Every case where caveman loses: HONEST-NUMBERS.md.

Big rock: the proxy

Logs, CSV, YAML, JSON, and test output come out 98.5% to 99.1% smaller. Whole sessions use 33.2% fewer input tokens, same answers. (benchmark)

The skill shrinks what the agent says. The proxy shrinks what it reads: logs, test output, JSON, diffs, web pages. It runs on your machine, with your keys and your Claude Pro/Max login. Every original stays on your disk, and the agent can pull it back any time.

npm install -g @caveman-ai/cli && caveman setup --install
caveman claude        # or codex · gemini · aider · kilo · qwen · opencode · hermes · openclaw · pi

Then:

caveman learn                 # rank where your tokens go, from agent history already on disk
caveman learn implement       # apply the fixes one diff at a time, only on your yes
caveman trial -- claude       # A/B a real session on your own work
caveman shrink -- pnpm test   # compress noisy command output
caveman browse           # a compressed web page instead of a 15,000-token dump
caveman convert --dry-run     # pixel mode: skills the model reads as images
caveman stats                 # your token history

Caveman Learn report: a summary and savings cards on the left; the biggest places tokens go, with one fix opened, and a chart of how full sessions get on the right

Building your own agent? Same shrinking, as one wrapper around the Vercel AI SDK, LangChain, OpenAI, or Anthropic call you already make:

npm install @caveman-ai/middleware @caveman-ai/sdk        # TypeScript
pip install 'caveman-middleware[langchain]' caveman-sdk   # Python 3.11+

TypeScript guide · Python guide · Every framework · One container for the whole team

What you get

Command What it does
/caveman · /ultracave · /megacave The voice, the grunt, the 文言文. /caveman status shows the mode, /caveman off stops it
/caveman-commit One-line Conventional Commit
/caveman-review One finding per line: L42: 🔴 null deref. Guard it.
/caveman-compress Shrinks memory files and backs up the original
/caveman-stats Real token usage for this Claude Code session
/caveman-help Every mode and command on one screen
cavecrew Subagents that find, edit, and review code, then report back in caveman
investigate-first · lean-build · surgical-patch · safe-refactor · migration · verify-and-stop Work patterns that write less code. Your agent picks them up when a task fits
caveman-setup · caveman-discover · caveman-learn · caveman-manage · caveman-optimize · caveman-explore · caveman-evidence-review Drive the proxy from inside your agent

In the wild

ThePrimeagen reacts to Caveman: No way this actually works

ThePrimeagen: "No way this actually works." Watch

Adobe Research: CAVEWOMAN, arXiv, June 2026

JetBrains: "It is fun, and it costs you nothing measurable in quality." Read

Elastic: elastic-caveman on Elasticsearch Labs, April 2026

Hacker News: #1, 904 points

GitHub Trending #1 overall, July 2026 · Trendshift #1 repo of the day, April 2026 · Product Hunt #8 of the day

Started as a joke in April 2026. Now past 100,000 stars. Joke got serious. Voice did not.

Star History Chart

Privacy

The skill runs on your machine and sends nothing. The caveman CLI sends usage stats by default: commands run, token counts, a random install ID, OS, and IP. Never your prompts, code, or file paths. One person maintains this for free, and those stats show what to build next. Turn it off for good with caveman telemetry off or DO_NOT_TRACK=1. The full list, and how to delete what was sent: SECURITY.md.

License

Apache-2.0, whole repo. Read it, fork it, ship it, host it. Free like mammoth on open plain. Older releases and third-party notices: LICENSING.md. "Caveman" and the rock logo are trademarks of Julius Brussee.

Cite

@software{brussee2026caveman,
  author = {Brussee, Julius},
  title  = {Caveman: why many token when few do trick},
  year   = {2026},
  url    = {https://github.com/JuliusBrussee/caveman}
}

🪨 Caveman save you token. Star cost zero. Fair trade.

Docs · Install matrix · Honest numbers · Contributing · Caveman Cloud · Issues