JuliusBrussee/caveman es un skill/plugin de compresión de salida para Claude Code, Codex, Gemini, Cursor, Windsurf, Cline, Copilot y otras herramientas de agente. Su objetivo es simple: hacer que el agente diga menos relleno, conserve los puntos técnicos y reduzca los tokens de salida.
El lema del README es “why use many token when few do trick”. En lenguaje técnico normal, significa quitar introducciones educadas, frases explicativas largas y confirmaciones repetidas, dejando conclusión, causa, arreglo y código necesario. No reduce los reasoning/thinking tokens ni hace que el modelo sea menos capaz. Afecta sobre todo la respuesta final visible.
La idea puede parecer contraintuitiva. Mucha gente asocia “detallado” con “confiable”, pero en programación las respuestas largas suelen enterrar la parte útil. La idea de caveman es: mantener el juicio técnico correcto, pero entregar la información con menos palabras.
Qué problema resuelve caveman
Al usar agentes para programar, el problema muchas veces no es que el modelo no sepa responder. Es que responde demasiado:
- repite tu pregunta;
- añade una apertura educada;
- explica contexto que ya conoces;
- recién al final da el comando, archivo, bug o arreglo que necesitas.
Eso consume tokens de salida y ralentiza la lectura. En sesiones largas, también llena el contexto con texto de baja densidad.
caveman le da al agente un conjunto de reglas:
- quitar filler;
- conservar la sustancia técnica;
- usar frases cortas y fragmentos;
- preservar código, comandos, rutas y errores exactamente;
- comprimir en el idioma actual, sin forzar cambio de idioma.
No busca volver tonto al agente. Busca que entregue la misma información con menos palabras.
Una comparación típica
El README muestra un ejemplo de re-render en React. Una respuesta normal explica que el componente se re-renderiza porque se crea una nueva referencia de objeto en cada render, React shallow comparison ve que la prop cambió y conviene usar useMemo. caveman lo comprime así:
|
|
Misma conclusión, menos relleno. Para desarrolladores que ya conocen el contexto, esa densidad es más útil.
También insiste en conservar el idioma. Si preguntas en chino, la respuesta debe seguir en chino. Si usas portugués, español o francés, se comprime el estilo, no se traduce a inglés. Código, comandos y mensajes de error deben quedar exactos.
Instalación
El instalador oficial es de una línea y detecta los agentes disponibles para instalar en las ubicaciones correspondientes.
macOS / Linux / WSL / Git Bash:
|
|
Windows PowerShell 5.1+:
|
|
El README dice que la instalación suele tardar unos 30 segundos y requiere Node.js 18 o superior. El script omite agentes no instalados localmente y se puede volver a ejecutar.
Para la matriz completa de instalación:
|
|
Activar y salir
Después de instalar, normalmente puedes escribir:
|
|
o decir:
|
|
Para salir:
|
|
Admite varios niveles de compresión:
|
|
En términos simples:
lite: elimina sobre todo relleno y repetición;full: estilo comprimido predeterminado;ultra: más telegráfico;wenyan: estilo chino clásico para comprimir aún más el chino.
En la práctica, empieza con lite o full. ultra es más corto, pero puede reducir legibilidad en tareas complejas.
Qué incluye
El README enumera estas capacidades principales:
| Función | Uso |
|---|---|
| `/caveman [lite | full |
/caveman-commit |
Mensajes Conventional Commit con subject de 50 caracteres o menos |
/caveman-review |
Comentarios PR de una línea, por ejemplo L42: bug: user null. Add guard. |
/caveman-stats |
Uso real de tokens de sesión, ahorro acumulado y coste estimado |
/caveman-compress <file> |
Reescribe archivos de memoria como CLAUDE.md o notas del proyecto, preservando código, URLs y rutas |
caveman-shrink |
MCP middleware para comprimir tool descriptions de MCP servers |
cavecrew-* |
Subagents investigator / builder / reviewer con estilo comprimido |
/caveman-compress <file> merece atención aparte. El coste a largo plazo de un proyecto con agentes no viene solo de la salida. También viene de archivos de instrucciones, preferencias y notas de proyecto que entran en cada sesión. Comprimirlos reduce contexto repetido de baja densidad.
Cómo leer los benchmarks
El README afirma que, con conteos reales de tokens de Claude API, 10 prompts lograron una reducción media de salida del 65%, con rango de 22% a 87%. Tareas de ejemplo:
- explicar un React re-render bug;
- arreglar auth middleware token expiry;
- configurar PostgreSQL connection pool;
- explicar git rebase vs merge;
- revisar PR security issues;
- depurar PostgreSQL race condition;
- implementar React error boundary.
El README también aclara que el eval harness tiene tres grupos: baseline, terse y skill. Es decir, no compara solo contra respuestas largas por defecto, sino también contra una instrucción concisa como Answer concisely.
Aun así, los benchmarks requieren cautela. Que la salida sea más corta no significa que toda tarea mejore. Localización simple de bugs, PR review, commit messages y explicación de comandos suelen encajar bien. Aclaración de requisitos, decisiones de arquitectura, tutoriales y postmortems complejos pueden necesitar más explicación.
caveman-compress para contexto de largo plazo
El README también muestra resultados de compresión de memory files como claude-md-preferences.md, project-notes.md, claude-md-project.md, todo-list.md y mixed-with-code.md, con una reducción media aproximada del 46%.
Esto puede importar más que comprimir una sola respuesta. Archivos como CLAUDE.md, reglas de proyecto y notas de preferencias suelen entrar en cada sesión. Si contienen mucha redacción redundante, el coste acumulado se nota.
Al comprimir archivos de reglas, hay que ser cuidadoso:
- preservar código, URLs, rutas y comandos byte-for-byte;
- no eliminar restricciones de seguridad, límites de permisos ni requisitos de prueba;
- no convertir flujos obligatorios en sugerencias vagas;
- releer manualmente el archivo comprimido para confirmar que el significado no cambió.
En proyectos de equipo, empieza por preferencias personales y notas. No comprimas de inmediato políticas críticas de seguridad.
MCP middleware: caveman-shrink
caveman-shrink es un MCP middleware que comprime tool descriptions de MCP servers. Es práctico porque esas descripciones suelen inyectarse repetidamente en el contexto del modelo. Si hay muchas herramientas con descripciones largas, los tokens de entrada crecen rápido.
Buen encaje:
- el MCP server expone muchas herramientas;
- las descripciones son repetitivas o voluminosas;
- el agente lee con frecuencia la lista completa de herramientas;
- quieres reducir tokens sin modificar el MCP server original.
Mal encaje:
- las descripciones ya son cortas;
- contienen restricciones estrictas de parámetros que no deben comprimirse;
- todavía no verificaste si la compresión cambia la precisión de uso de herramientas.
Comprimir descripciones MCP requiere más cuidado que comprimir respuestas normales, porque afecta cómo el modelo elige y llama herramientas.
Integración con OpenClaw
El README también cubre OpenClaw. Puedes instalar solo para OpenClaw:
|
|
En Windows:
|
|
La instalación hace dos cosas principales:
- Coloca el skill en:
|
|
- Añade un bloque con marcadores a:
|
|
para que OpenClaw inyecte la regla de estilo conciso en cada turno.
Para un workspace personalizado:
|
|
Para desinstalar, ejecuta el mismo instalador con --uninstall; elimina la carpeta del skill y limpia el bloque marcado de SOUL.md.
Escenarios adecuados
caveman encaja mejor en:
- cambios diarios de código;
- localización de bugs;
- commit messages;
- PR reviews;
- explicaciones cortas de comandos;
- sesiones colaborativas con contexto claro;
- casos donde el agente habla demasiado y solo quieres conclusión y arreglo.
Encaja peor en:
- tutoriales;
- explicaciones para principiantes;
- documentación larga de producto o arquitectura;
- decisiones complejas que requieren razonamiento completo;
- asesoría legal, médica, financiera u otros contextos de alto riesgo con muchos matices;
- problemas aún poco claros que requieren mucha aclaración.
En resumen: caveman sirve para “ya entiendo el contexto, dime qué cambiar.” No sirve tanto para “estoy aprendiendo esto por primera vez, empieza desde el concepto.”
Recomendaciones de uso
Si quieres probarlo:
- Instálalo primero en tu entorno personal de agente, no como configuración predeterminada de equipo.
- Usa
liteofulldurante unos días y observa calidad en fixes, reviews y commit messages. - Cambia manualmente a
normal modepara tareas complejas. - Prueba
/caveman-compress <file>más tarde, empezando por notas de bajo riesgo. - Si comprimes MCP tool descriptions, compara precisión de llamadas en un entorno no productivo.
El mejor estado no es que todas las respuestas sean extremadamente cortas. Es que el agente pueda cambiar entre “corto, preciso, suficiente” y “explicar con contexto.”
Resumen
caveman es una herramienta pequeña e interesante. No intenta aumentar la capacidad del modelo; controla la densidad de expresión. Para quienes usan mucho Claude Code, Codex, Gemini o Cursor cada día, menos tokens de salida, menos relleno y conclusiones más tempranas pueden aligerar el flujo de trabajo.
Pero no es un valor predeterminado universal. Las respuestas comprimidas encajan con tareas de desarrollo ejecutivas; no siempre encajan con enseñanza, discusión de arquitectura o decisiones de alto riesgo. La forma correcta de adoptarlo es tratarlo como un modo de trabajo con interruptor: encendido cuando necesitas velocidad y densidad, apagado cuando necesitas explicación y contexto.