caveman-compress
Compress natural language memory files into caveman-speak to reduce input tokens.
- Removes articles, filler words, hedging, and redundant phrasing while preserving all code blocks, URLs, file paths, technical terms, and markdown structure
- Automatically detects file type, calls Claude for compression, validates output, and retries up to 2 times on errors
- Creates human-readable backup as
<filename>.original.mdbefore overwriting the original file - Triggered via
/caveman-compress <filepath>command or by asking to compress a memory file
Caveman Compress
Purpose
Data leaves the machine. Compression sends the file's full text to the model provider that
scripts/compress.pyis configured for: theclaudeCLI, the Anthropic API, or an OpenAI-compatible endpoint. Files whose names look like secrets (.env,credentials,secrets,.netrc, …) are refused before they are read. Don't compress a file the provider shouldn't see.
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.
Requires an explicit filepath. If the user pastes raw text instead of naming a file, do NOT improvise an inline compression — ask them for the filepath to compress, or offer to save the pasted text to a file first. Writing your own reasoning/commentary about the request into the compressed output (e.g. "User passed text directly, not a filepath...") is the exact failure this guards against — never let that leak into a saved 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: