PluginBench
Skill
Fail
Audit score 45

compress

juliusbrussee/caveman

Compress natural language memory files into caveman-speak to save input tokens while preserving code and structure.

What is compress?

Compress CLAUDE.md, todos, and preference files into terse caveman format to reduce token usage. Removes filler words and redundant phrasing while preserving all code blocks, URLs, technical terms, and markdown structure. Creates a human-readable backup before overwriting the original.

  • Detects file type and compresses natural language prose (.md, .txt, .typ, .typst, .tex)
  • Removes articles, filler words, hedging, and redundant phrasing while preserving technical substance
  • Keeps code blocks, inline code, URLs, file paths, commands, and proper nouns exactly unchanged
  • Preserves markdown structure: headings, bullet hierarchies, numbered lists, and tables
  • Validates output and retries up to 2 times on errors with targeted fixes
  • Backs up original file as FILE.original.md before overwriting

How to install compress

npx skills add https://github.com/juliusbrussee/caveman --skill compress
Prerequisites
  • Python 3 installed and available as python3
  • The skill installed via: npx skills add https://github.com/juliusbrussee/caveman --skill compress
Claude Code
Cursor
Windsurf
Cline

How to use compress

  1. 1.Run /caveman:compress <filepath> or ask to compress a memory file
  2. 2.The skill detects the file type and calls Claude to compress it
  3. 3.Validation checks the output; if errors occur, targeted fixes are applied (up to 2 retries)
  4. 4.Compressed version overwrites the original file; backup saved as <filename>.original.md
  5. 5.If compression fails after retries, an error is reported and the original file remains untouched

Use cases

Good for
  • Compress a CLAUDE.md memory file to reduce tokens sent with each request
  • Shrink a todos list or preferences file while keeping all actionable information intact
  • Reduce token usage for large documentation files by removing prose fluff
  • Maintain a compressed version of project context while keeping a readable backup
Who it's for
  • Developers using Claude Code or Cursor with token-limited contexts
  • Teams managing large memory files that grow over time
  • Anyone optimizing input tokens for AI agent interactions

compress FAQ

What files can be compressed?

Only natural language files: .md, .txt, .typ, .typst, .tex, and extensionless files. Code files (.py, .js, .ts, .json, .yaml, .yml, .toml, .env, .lock, .css, .html, .xml, .sql, .sh) are never modified.

Will my code blocks be changed?

No. Code blocks (fenced ``` and indented) and inline code (`backticks`) are copied exactly without any modification. Only prose outside code is compressed.

Can I recover the original file?

Yes. A human-readable backup is automatically saved as <filename>.original.md before the original is overwritten.

What happens if compression fails?

The skill retries up to 2 times with targeted fixes. If still failing, an error is reported and your original file is left untouched.

What gets removed during compression?

Articles (a, an, the), filler words (just, really, basically), pleasantries (sure, happy to), hedging language, and redundant phrasing. URLs, code, technical terms, dates, and structure are always preserved.

Full instructions (SKILL.md)

Source of truth, from juliusbrussee/caveman.


name: compress description: > Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman:compress FILEPATH or "compress memory file"

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.

Trigger

/caveman:compress <filepath> or when user asks to compress a memory file.

Process

  1. This SKILL.md lives alongside scripts/ in the same directory. Find that directory.

  2. Run:

cd <directory_containing_this_SKILL.md> && python3 -m scripts <absolute_filepath>

  1. 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
  1. 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
  • Never compress FILE.original.md (skip it)