caveman-compress
Compress a memory file such as CLAUDE.md or a todo list into caveman format to save input tokens, keeping a readable backup. Trigger: /caveman-compress.
By juliusbrussee · 347,607 installs
npx skills add juliusbrussee/caveman --skill caveman-compress
Source repository · Upstream listing
Caveman Compress
Purpose
Compress natural language files (CLAUDE.md, todos, preferences) into caveman speak to reduce input tokens. Compressed version overwrites original. Human readable backup saved as <filename .original.md , but NOT beside the source file — it lives in an out of tree data dir ( $XDG DATA HOME/caveman compress/backups/<parent dir name / , or %LOCALAPPDATA%\caveman compress\backups\<parent dir name \ on Windows) so skill auto loaders don't re ingest it as a live file.
Trigger
/caveman compress <filepath or when user asks to compress a memory file.
Process
1. The compression scripts live in scripts/ (adjacent to this SKILL.md). If the path is not immediately available, search for scripts/ main .py next to this SKILL.md.
2. From the directory containing this SKILL.md, run:
python3 m scripts <absolute filepath
3. The CLI will:
detect file type (no tokens)
call Claude to compress
validate output (no tokens)
if errors: cherry pick fix with Claude (targeted fixes only, no recompression)
retry up to 2 times
if still failing after 2 retries: report error to user, leave original file untouched
4. Return result to user
Compression Rules
Remove
Articles: a, an, the
Filler: just, really, basically, actually, simply, essentially, generally
Pleasantries: "sure", "certainly", "of course", "happy to", "I'd recommend"
Hedging: "it might be worth", "you could consider", "it would be good to"
Redundant phrasing: "in order to" → "to", "make sure to" → "ensure", "the reason is because" → "because"
Connective fluff: "however", "furthermore", "additionally", "in addition"
Preserve EXACTLY (never modify)
Code blocks (fenced ... must be copied EXACTLY.
Do not:
remove comments
remove spacing
reorder lines
shorten commands
simplify anything
Inline code ( ... ) must be preserved EXACTLY.
Do not modify anything inside backticks.
If file contains code blocks:
Treat code blocks as read only regions
Only compress text outside them
Do not merge sections around code
Pattern
Original:
You should always make sure to run the test suite before pushing any changes to the main branch. This is important because it helps catch bugs early and prevents broken builds from being deployed to production.
Compressed:
Run tests before push to main. Catch bugs early, prevent broken prod deploys.
Original:
The application uses a microservices architecture with the following components. The API gateway handles all incoming requests and routes them to the appropriate service. The authentication service is responsible for managing user sessions and JWT tokens.
Compressed:
Microservices architecture. API gateway route all requests to services. Auth service manage user sessions + JWT tokens.
Boundaries
ONLY compress natural language files (.md, .txt, .typ, .typst, .tex, extensionless)
NEVER modify: .py, .js, .ts, .json, .yaml, .yml, .toml, .env, .lock, .css, .html, .xml, .sql, .sh
If file has mixed content (prose + code), compress ONLY the prose sections
If unsure whether something is code or prose, leave it unchanged
Original file is backed up as FILE.original.md before overwriting — in the out of tree backup data dir (see Purpose), not beside the source file
Never compress FILE.original.md (skip it)