Caveman Compress
SkillFiles & storagecaveman-compress is a skill that shrinks a memory file such as CLAUDE.md or a todo list into caveman format, which uses fewer input tokens. It keeps a readable backup of the original file so nothing is lost. The skill runs when you trigger /caveman-compress.
Use Caveman Compress in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Caveman Compress and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Caveman Compress skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have the memory file or todo list you want to compress ready.
What your AI can do with it
- Compress a memory file such as CLAUDE.md into caveman format
- Compress a todo list into caveman format
- Save input tokens by shortening the file text
- Keep a readable backup of the original file
- Run on demand with the /caveman-compress trigger
Getting started
- Have the memory file or todo list you want to compress ready.
- Make sure the skill is available to your agent.
- Trigger the skill with /caveman-compress.
- Check that the readable backup of the original file was kept.
What this skill tells your AI
The instructions your AI receives, as published by juliusbrussee/caveman in skills/caveman-compress/SKILL.md and read by ahel’s review.
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
-
The compression scripts live in
scripts/(adjacent to this SKILL.md). If the path is not immediately available, search forscripts/__main__.pynext to this SKILL.md. -
From the directory containing this SKILL.md, run:
python3 -m scripts <absolute_filepath>
- 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
- 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 ``` and indented)
- Inline code (
backtick content) - URLs and links (full URLs, markdown links)
- File paths (
/src/components/...,./config.yaml) - Commands (
npm install,git commit,docker build) - Technical terms (library names, API names, protocols, algorithms)
- Proper nouns (project names, people, companies)
- Dates, version numbers, numeric values
- Environment variables (
$HOME,NODE_ENV)
Preserve Structure
- All markdown headings (keep exact heading text, compress body below)
- Bullet point hierarchy (keep nesting level)
- Numbered lists (keep numbering)
- Tables (compress cell text, keep structure)
- Frontmatter/YAML headers in markdown files
Compress
- Use short synonyms: "big" not "extensive", "fix" not "implement a solution for", "use" not "utilize"
- Fragments OK: "Run tests before commit" not "You should always run tests before committing"
- Drop "you should", "make sure to", "remember to" — just state the action
- Merge redundant bullets that say the same thing differently
- Keep one example where multiple examples show the same pattern
CRITICAL RULE:
Anything inside ... 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)
Signals
- GitHub stars
- 109k
- Forks
- 6k
- Last commit
- Oct 2026
- Installs
- 386k installs
Questions
- What kinds of files can it compress?
- It compresses a memory file such as CLAUDE.md or a todo list. Those are the file types the skill describes.
- Does it keep a readable backup?
- Yes. It keeps a readable backup of the original file, so the uncompressed text is still available.
- How do I trigger it?
- Use the /caveman-compress trigger.
- Why compress a memory file?
- Caveman format uses fewer input tokens than the original text, which saves tokens when the file is read.
- Does it work on files other than memory files or todo lists?
- The skill describes compressing a memory file such as CLAUDE.md or a todo list. Other file types are not covered.
Advanced
- Item type
- skill
- Key
caveman-compress-juliusbrussee- Source
- github.com/juliusbrussee/caveman
github.com/juliusbrussee/caveman