穴居人#
为什么用那么多代币,几个就能搞定的事儿呢?
Claude Code 的 一项技能/插件和 Codex 插件,让智能体像原始人一样说话——在保持技术准确性的同时,减少 约 75% 的输出标记 。现在新增了 文言文模式 、 简洁的提交 、 单行代码审查 ,以及一个 压缩工具 ,每次会话可减少 约 45% 的输入标记 。
基于一项广为流传的观察:使用原始语言能显著降低 LLM 代币的使用量,同时又不损失技术实质。因此,我们将其简化为一行安装命令。
之前/之后#
| ### 🗣️普通克劳德(69代币) > “你的 React 组件重新渲染的原因很可能是因为你在每次渲染周期都创建了一个新的对象引用。当你将一个内联对象作为 prop 传递时,React 的浅比较机制每次都会将其视为不同的对象,从而触发重新渲染。我建议使用 useMemo 来缓存该对象。” | ### 🪨 穴居人克劳德(19 个代币) > “每次渲染都使用新的对象引用。内联对象属性 = 新的引用 = 重新渲染。用 useMemo 包裹。” |
|---|---|
| ### 🗣️ 普通克劳德 > “当然可以!我很乐意帮忙。您遇到的问题很可能是由于您的身份验证中间件没有正确验证令牌过期造成的。让我看看并提出解决方案。” | ### 🪨穴居人克劳德 > “身份验证中间件存在错误。令牌过期检查使用的是 < 而不是 <= 。修复方法:” |
同样的解决方法。字数减少了75%。大脑依然强大。
选择你的哼哼声级别:
#### 🪶 一点点 > "Your component re-renders because you create a new object reference each render. Inline object props fail shallow comparison every time. Wrap it in useMemo." |
#### 🪨 Full > "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo." |
#### 🔥 Ultra > "Inline obj prop → new ref → re-render. useMemo." |
#### 📜 文言文 > "物出新參照,致重繪。useMemo Wrap之。" |
|---|
Same answer. You pick how many word.
┌─────────────────────────────────────┐
│ TOKENS SAVED ████████ 75% │
│ TECHNICAL ACCURACY ████████ 100%│
│ SPEED INCREASE ████████ ~3x │
│ VIBES ████████ OOG │
└─────────────────────────────────────┘
- Faster response — less token to generate = speed go brrr
- Easier to read — no wall of text, just the answer
- Same accuracy — all technical info kept, only fluff removed (science say so)
- Save money — ~71% less output token = less cost
- Fun — every code review become comedy
Install#
npx skills add JuliusBrussee/caveman
npx skills supports 40+ agents — Claude Code, GitHub Copilot, Cursor, Windsurf, Cline, and more. To install for a specific agent:
npx skills add JuliusBrussee/caveman -a cursor
npx skills add JuliusBrussee/caveman -a github-copilot
npx skills add JuliusBrussee/caveman -a cline
npx skills add JuliusBrussee/caveman -a windsurf
npx skills add JuliusBrussee/caveman -a codex
Or with Claude Code plugin system:
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman
Codex:
- Clone repo
- Open Codex in repo
- Run
/plugins - Search
Caveman - Install plugin
说明Note Windows Codex users: Clone repo → VS Code → Codex Settings → Plugins → find
Cavemanunder local marketplace → Install → Reload Window. Also enablegit config core.symlinks truebefore cloning (requires developer mode or admin).
Install once. Use in all sessions after that. One rock. That it.
Usage#
Trigger with:
/cavemanor Codex$caveman- "talk like caveman"
- "caveman mode"
- "less tokens please"
Stop with: "stop caveman" or "normal mode"
Intensity Levels#
| Level | Trigger | What it do |
|---|---|---|
| Lite | /caveman lite |
Drop filler, keep grammar. Professional but no fluff |
| Full | /caveman full |
Default caveman. Drop articles, fragments, full grunt |
| Ultra | /caveman ultra |
Maximum compression. Telegraphic. Abbreviate everything |
文言文 (Wenyan) Mode#
Classical Chinese literary compression — same technical accuracy, but in the most token-efficient written language humans ever invented.
| Level | Trigger | What it do |
|---|---|---|
| Wenyan-Lite | /caveman wenyan-lite |
Semi-classical. Grammar intact, filler gone |
| Wenyan-Full | /caveman wenyan |
Full 文言文. Maximum classical terseness |
| Wenyan-Ultra | /caveman wenyan-ultra |
Extreme. Ancient scholar on a budget |
Level stick until you change it or session end.
Caveman Skills#
| Skill | What it do | Trigger |
|---|---|---|
| caveman-commit | Terse commit messages. Conventional Commits. ≤50 char subject. Why over what. | /caveman-commit |
| caveman-review | One-line PR comments: L42: 🔴 bug: user null. Add guard. No throat-clearing. |
/caveman-review |
caveman-compress#
Caveman make Claude speak with fewer tokens. Compress make Claude read fewer tokens.
Your CLAUDE.md loads on every session start. Caveman Compress rewrites memory files into caveman-speak so Claude reads less — without you losing the human-readable original.
/caveman:compress CLAUDE.md
CLAUDE.md ← compressed (Claude reads this every session — fewer tokens)
CLAUDE.original.md ← human-readable backup (you read and edit this)
| File | Original | Compressed | Saved |
|---|---|---|---|
claude-md-preferences.md |
706 | 285 | 59.6% |
project-notes.md |
1145 | 535 | 53.3% |
claude-md-project.md |
1122 | 687 | 38.8% |
todo-list.md |
627 | 388 | 38.1% |
mixed-with-code.md |
888 | 574 | 35.4% |
| Average | 898 | 494 | 45% |
Code blocks, URLs, file paths, commands, headings, dates, version numbers — anything technical passes through untouched. Only prose gets compressed. See the full caveman-compress README for details. Security note: Snyk flags this as High Risk due to subprocess/file patterns — it's a false positive.
Benchmarks#
Real token counts from the Claude API (reproduce it yourself):
| Task | Normal (tokens) | Caveman (tokens) | Saved |
|---|---|---|---|
| Explain React re-render bug | 1180 | 159 | 87% |
| Fix auth middleware token expiry | 704 | 121 | 83% |
| Set up PostgreSQL connection pool | 2347 | 380 | 84% |
| Explain git rebase vs merge | 702 | 292 | 58% |
| Refactor callback to async/await | 387 | 301 | 22% |
| Architecture: microservices vs monolith | 446 | 310 | 30% |
| Review PR for security issues | 678 | 398 | 41% |
| Docker multi-stage build | 1042 | 290 | 72% |
| Debug PostgreSQL race condition | 1200 | 232 | 81% |
| Implement React error boundary | 3454 | 456 | 87% |
| Average | 1214 | 294 | 65% |
Range: 22%–87% savings across prompts.
重点Important Caveman only affects output tokens — thinking/reasoning tokens are untouched. Caveman no make brain smaller. Caveman make mouth smaller. Biggest win is readability and speed, cost savings are a bonus.
A March 2026 paper "Brevity Constraints Reverse Performance Hierarchies in Language Models" found that constraining large models to brief responses improved accuracy by 26 percentage points on certain benchmarks and completely reversed performance hierarchies. Verbose not always better. Sometimes less word = more correct.
Evals#
Caveman not just claim 75%. Caveman prove it.
The evals/ directory has a three-arm eval harness that measures real token compression against a proper control — not just "verbose vs skill" but "terse vs skill". Because comparing caveman to verbose Claude conflate the skill with generic terseness. That cheating. Caveman not cheat.
# Run the eval (needs claude CLI)
uv run python evals/llm_run.py
# Read results (no API key, runs offline)
uv run --with tiktoken python evals/measure.py
Snapshots committed to git. CI runs free. Every number change reviewable as diff. Add a skill, add a prompt — harness pick it up automatically.
Star This Repo#
If caveman save you mass token, mass money — leave mass star. ⭐
Also by Julius Brussee#
- Blueprint — specification-driven development for Claude Code. Natural language → blueprints → parallel builds → working software.
- Revu — local-first macOS study app with FSRS spaced repetition, decks, exams, and study guides. revu.cards