Caveman
šŖØ why use many token when few token do trick ā Claude Code skill that cuts 75% of tokens by talking like caveman
Install / Use
/learn @JuliusBrussee/CavemanQuality Score
Category
Development & EngineeringSupported Platforms
README
A Claude Code skill/plugin and Codex plugin that makes agent talk like caveman ā cutting ~75% of tokens while keeping full technical accuracy.
Based on the viral observation that caveman-speak dramatically reduces LLM token usage without losing technical substance. So we made it a one-line install.
Before / After
<table> <tr> <td width="50%">š£ļø Normal Claude (69 tokens)
</td> <td width="50%">"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."
šŖØ Caveman Claude (19 tokens)
</td> </tr> <tr> <td>"New object ref each render. Inline object prop = new ref = re-render. Wrap in
useMemo."
š£ļø Normal Claude
</td> <td>"Sure! I'd be happy to help you with that. The issue you're experiencing is most likely caused by your authentication middleware not properly validating the token expiry. Let me take a look and suggest a fix."
šŖØ Caveman Claude
</td> </tr> </table>"Bug in auth middleware. Token expiry check use
<not<=. Fix:"
Same fix. 75% less word. Brain still big.
Sometimes too much caveman. Sometimes not enough:
<table> <tr> <td width="33%">šŖ¶ Lite
</td> <td width="33%">"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
</td> <td width="33%">"New object ref each render. Inline object prop = new ref = re-render. Wrap in
useMemo."
š„ Ultra
</td> </tr> </table>"Inline obj prop ā new ref ā re-render.
useMemo."
Same answer. You pick how many word.
Benchmarks
Real token counts from the Claude API (reproduce it yourself):
<!-- BENCHMARK-TABLE-START -->| 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.
<!-- BENCHMARK-TABLE-END -->[!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.
Science back caveman up
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.
Install
npx skills add JuliusBrussee/caveman
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
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
Sometimes full caveman too much. Sometimes not enough. Now you pick:
| Level | Trigger | What it do |
|-------|---------|------------|
| Lite | /caveman lite or $caveman lite | Drop filler, keep grammar. Professional but no fluff |
| Full | /caveman full or $caveman full | Default caveman. Drop articles, fragments, full grunt |
| Ultra | /caveman ultra or $caveman ultra | Maximum compression. Telegraphic. Abbreviate everything |
Level stick until you change it or session end.
What Caveman Do
| Thing | Caveman Do? | |-------|------------| | English explanation | šŖØ Caveman smash filler words | | Code blocks | āļø Write normal (caveman not stupid) | | Technical terms | š§ Keep exact (polymorphism stay polymorphism) | | Error messages | š Quote exact | | Git commits & PRs | āļø Write normal | | Articles (a, an, the) | š Gone | | Pleasantries | š "Sure I'd be happy to" is dead | | Hedging | š "It might be worth considering" extinct |
Why
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā 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
How It Work
Caveman not dumb. Caveman efficient.
Normal LLM waste token on:
- "I'd be happy to help you with that" (8 wasted tokens)
- "The reason this is happening is because" (7 wasted tokens)
- "I would recommend that you consider" (7 wasted tokens)
- "Sure, let me take a look at that for you" (10 wasted tokens)
Caveman say what need saying. Then stop.
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
License
MIT ā free like mass mammoth on open plain.
