# Caveman Compress > Comprime archivos de lenguaje natural (CLAUDE.md, todos, preferencias) a formato caveman para ahorrar tokens de entrada. Preserva todo el contenido técnico, código, URLs y estructura. Fuente: https://skillsagentes.com/skills/juliusbrussee/caveman/caveman-compress Markdown: https://skillsagentes.com/skills/juliusbrussee/caveman/caveman-compress.md Repositorio: https://github.com/JuliusBrussee/caveman Autor: JuliusBrussee Licencia: MIT Actualizado: hace 2 meses Coste de contexto: 84 tok instalada, 1.2k tok al activarse, 11k tok con todos los archivos del bundle Bundle: 10 archivos, 43 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add JuliusBrussee/caveman --skill caveman-compress --agent claude-code # Cursor npx -y skills add JuliusBrussee/caveman --skill caveman-compress --agent cursor # Codex npx -y skills add JuliusBrussee/caveman --skill caveman-compress --agent codex # Gemini CLI npx -y skills add JuliusBrussee/caveman --skill caveman-compress --agent gemini # Windsurf npx -y skills add JuliusBrussee/caveman --skill caveman-compress --agent windsurf # Cline npx -y skills add JuliusBrussee/caveman --skill caveman-compress --agent cline ``` ## Qué hace - Comprime archivos de lenguaje natural (CLAUDE.md, todos, preferencias) a formato caveman para ahorrar tokens de entrada, preservando código, URLs y estructura. - La versión comprimida sobreescribe el archivo original; guarda un backup legible como FILE.original.md fuera del árbol del proyecto (XDG_DATA_HOME o %LOCALAPPDATA%) para que los auto-loaders de skills no lo re-ingieran. - Corre un script (scripts/__main__.py) que detecta el tipo de archivo, llama a Claude para comprimir, valida la salida y reintenta hasta 2 veces con fixes puntuales antes de fallar dejando el original intacto. - Nunca toca bloques de código, código en línea, URLs, rutas de archivo, comandos ni variables de entorno; solo comprime la prosa fuera de ellos. ## Cuándo usarla - El usuario invoca /caveman-compress o pide comprimir un archivo de memoria. ## Cuándo no - Archivos que no son de lenguaje natural (.py, .js, .ts, .json, .yaml, .env, .lock, .css, .html, .xml, .sql, .sh, etc.): el archivo los excluye explícitamente. - Contenido donde no está claro si es código o prosa: el archivo dice dejarlo sin tocar. ## Qué la activa - "/caveman-compress CLAUDE.md" - "comprime este archivo de memoria a caveman" ## Antes de instalar - Necesita el script scripts/__main__.py junto al SKILL.md y llama a Claude para comprimir; no declara allowed-tools en el frontmatter pese a invocar el modelo. - Variables de entorno: ANTHROPIC_API_KEY, CAVEMAN_MODEL - needs API credentials ## Archivos - README.md — 5 KB - SECURITY.md — 2 KB - SKILL.md — 5 KB - scripts/__init__.py — 224 B - scripts/__main__.py — 30 B - scripts/benchmark.py — 2 KB - scripts/cli.py — 2 KB - scripts/compress.py — 16 KB - scripts/detect.py — 5 KB - scripts/validate.py — 6 KB ## SKILL.md Reproducido tal cual desde JuliusBrussee/caveman bajo MIT. Esta sección es el documento original y está en inglés. # 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 `.original.md`, but NOT beside the source file — it lives in an out-of-tree data dir (`$XDG_DATA_HOME/caveman-compress/backups//`, or `%LOCALAPPDATA%\caveman-compress\backups\\` on Windows) so skill auto-loaders don't re-ingest it as a live file. ## Trigger `/caveman-compress ` 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 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 ``` 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) ## Dónde encaja - Categoría: [Productividad](https://skillsagentes.com/categorias/productividad.md) — Planificación, toma de notas y automatización de flujos personales. - Creador: [JuliusBrussee](https://skillsagentes.com/creators/juliusbrussee.md) — 7 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Caveman](https://skillsagentes.com/skills/juliusbrussee/caveman/caveman.md): Modo de comunicación ultra-comprimido: corta ~65% de los tokens de salida (medido) manteniendo toda la precisión técnica. Soporta niveles lite, full (por defecto), ultra y variantes wenyan. - [Caveman Help](https://skillsagentes.com/skills/juliusbrussee/caveman/caveman-help.md): Tarjeta de referencia rápida con todos los modos, skills y comandos de caveman. Despliegue de una sola vez, no es un modo persistente. - [Caveman Stats](https://skillsagentes.com/skills/juliusbrussee/caveman/caveman-stats.md): Muestra el uso real de tokens y el ahorro estimado de la sesión actual, leído directamente del log de sesión de Claude Code, sin estimación del modelo. - [Cavecrew](https://skillsagentes.com/skills/juliusbrussee/caveman/cavecrew.md): Guía de decisión para delegar a subagentes estilo caveman: cuándo lanzar cavecrew-investigator, cavecrew-builder o cavecrew-reviewer en vez de hacerlo inline. Su salida viene comprimida, así el contexto principal dura más. - [Caveman Commit](https://skillsagentes.com/skills/juliusbrussee/caveman/caveman-commit.md): Generador de mensajes de commit ultra-comprimidos: recorta el ruido preservando la intención y el porqué. Formato Conventional Commits, asunto ≤50 caracteres, cuerpo solo cuando el porqué no es obvio. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)