Make Claude Code talk like a smart caveman ~75% fewer output tokens, 100% technical accuracy.
Auto-enabled on every new chat. Ships a slick statusline showing mode, model, and current folder.
Claude's default prose is verbose: articles, hedging, "I'd be happy to help", decorative filler. All of it costs output tokens and slows you down. Caveman mode strips the fluff and keeps the substance β file names, commands, code, error strings and paths stay byte-exact. Only the prose gets compressed.
Typical result: ~65β75% fewer output tokens per reply, faster answers, lower cost, same correctness.
Normal: "Your component re-renders because you create a new object reference
each render. Wrapping it in useMemo will fix the issue."
Caveman: "Inline obj prop β new ref β re-render. useMemo."
- π§ Auto-enabled β every new Claude Code chat starts in caveman ultra, no command needed.
- ποΈ 6 intensity levels β
lite,full,ultra, plus classical-Chinesewenyan-{lite,full,ultra}. - π Statusline β
πͺ¨ CAVEMAN ULTRA | <model> | <current folder>under your prompt. - π Language-preserving β replies stay in whatever language you write; only the style compresses.
- π Accuracy-safe β auto-drops to normal prose for security warnings and destructive-action confirmations.
- π§© Non-destructive install β merges into your existing config, fully reversible.
- π¦ Zero dependencies β pure
bash, nothing to install first.
| File | Role |
|---|---|
skills/caveman/ |
The caveman skill β the compression engine (6 levels). |
statusline-caveman.sh |
Statusline script (reads model + folder from the session JSON, pure bash). |
caveman-ultra.md |
Block injected into your ~/.claude/CLAUDE.md that forces auto-activation. |
install.sh / uninstall.sh |
Idempotent, non-destructive install / removal. |
- Claude Code
bash3.2+ β works on macOS, Linux, WSL and Git Bash on Windows
That's it. No jq, no runtime, nothing to install first. The statusline parses the
session JSON in pure bash, and the installer edits settings.json with whichever of
node / python3 / jq your machine already has β if it has none, it tells you the
one line to paste and installs everything else anyway.
git clone https://github.com/Gildaciolopes/claude-caveman-ultra.git
cd claude-caveman-ultra
./install.shRestart Claude Code. Every new chat now opens in caveman ultra and the statusline appears.
The installer is idempotent and non-destructive:
- copies the skill to
~/.claude/skills/caveman - copies the statusline script and enables
statusLinein~/.claude/settings.json(preserving every other key) - injects the activation block into
~/.claude/CLAUDE.mdbetween<!-- BEGIN CAVEMAN ULTRA -->/<!-- END CAVEMAN ULTRA -->markers (re-running only replaces the block, never duplicates)
Same git clone + ./install.sh on any machine that has Claude Code.
/caveman lite # light compression
/caveman full # default
/caveman ultra # maximum compression (this package's default)
stop caveman # back to normal prose for this session
| Level | What changes |
|---|---|
lite |
Drop filler/hedging. Full sentences. Professional but tight. |
full |
Drop articles, fragments OK, short synonyms. Classic caveman. |
ultra |
Bare fragments, abbreviations (DB, auth, fn), arrows for causality. |
wenyan-lite |
Classical Chinese register, light compression. |
wenyan-full |
Maximum ζθ¨ζ, 80β90% character reduction. |
wenyan-ultra |
Extreme classical compression. |
./uninstall.shRemoves the skill, the script and the statusLine line, and deletes only the marked
block from your CLAUDE.md. The rest of your config stays intact.
Issues and PRs welcome. If it saves you tokens, a β helps others find it.
MIT.
