caveman-compress — скилл для Claude Code: сжатие памяти
Переписывает CLAUDE.md и списки задач в сжатый телеграфный стиль, чтобы модель читала меньше токенов. Исходник затирается, читаемая копия остаётся в отдельной папке.
npx skills add JuliusBrussee/caveman --skill caveman-compress -a claude-codeЧто делает caveman-compress
Скилл переписывает файлы памяти вроде CLAUDE.md, списков задач или заметок о предпочтениях в телеграфный «пещерный» стиль. Артикли, вводные слова и оговорки выкидываются, смысл остаётся. На следующем старте сессии модель читает уже сжатую версию, поэтому входных токенов уходит меньше.
Блоки кода в тройных обратных кавычках, инлайн-код, ссылки, пути, команды, названия библиотек, версии, переменные окружения и структура заголовков переносятся без изменений. Правила прописаны жёстко, но результат всё равно стоит просмотреть глазами. Сжатый текст затирает исходник; читаемая копия .original.md уходит в отдельную папку данных, а не рядом с файлом, чтобы авто-загрузчик скиллов не подхватил её снова.
Запуск из каталога со SKILL.md: python3 -m scripts . Скрипт определяет тип файла, отправляет текст в настроенный провайдер (CLI claude, Anthropic API или OpenAI-совместимая точка), проверяет вывод и при ошибках делает точечные правки. Повторов до двух, потом исходник остаётся нетронутым. Данные покидают машину, а файлы с именами вроде .env, credentials, secrets отклоняются ещё до чтения. Обрабатывается только текст: .md, .txt, .typ, .typst, .tex и файлы без расширения. Ставить стоит, если память проекта разрослась до неприличия; если часть CLAUDE.md нельзя отдавать наружу, лучше обойтись без сжатия.
Какие задачи решает
- сжать разросшийся
CLAUDE.mdперед долгой сессией - урезать список задач в
todos.md, не потеряв пункты - сохранить читаемую копию файла памяти перед перезаписью
- проверить, что блоки кода и команды в правилах проекта уцелели
- сократить файл предпочтений, чтобы он занимал меньше места в контексте
Примеры запросов агенту
- `/caveman-compress /Users/me/project/CLAUDE.md`
- сожми память проекта в `CLAUDE.md`, оригинал сохрани
- прогони caveman-compress по `notes/todos.md`, код внутри не трогай
Как установить caveman-compress
1Через Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-compress -a claude-code2Вручную: положить файлы
~/.claude/skills/caveman-compress/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/caveman-compress/
1Через Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-compress -a codex2Вручную: положить файлы
.agents/skills/caveman-compress/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-compress -a cursor2Вручную: положить файлы
.cursor/skills/caveman-compress/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/caveman caveman-compress2Вручную: положить файлы
.github/skills/caveman-compress/SKILL.md1Через Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-compress -a gemini-cli2Командой платформы
gemini skills install https://github.com/JuliusBrussee/caveman --path skills/caveman-compressВручную: положить файлы
.devin/skills/caveman-compress/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-compress -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора22
Весь набор →Похожие
Вопросы о caveman-compress
Как установить caveman-compress в Claude Code?
Командой npx skills add JuliusBrussee/caveman --skill caveman-compress -a claude-code. Файл скилла появится по пути ~/.claude/skills/caveman-compress/SKILL.md.
Что делает caveman-compress?
Переписывает текстовые файлы памяти в сжатый телеграфный стиль, чтобы снизить число входных токенов. Код, пути, команды и структура заголовков остаются как были.
Куда сохраняется резервная копия и что уходит провайдеру?
Копия .original.md лежит в отдельной папке данных: $XDG_DATA_HOME/caveman-compress/backups//, на Windows в %LOCALAPPDATA%. Провайдеру отправляется весь текст файла, поэтому файлы с именами вроде .env или credentials скилл не открывает.
Исходный текст
SKILL.md · Apache-2.0
--- name: caveman-compress description: > Compress a memory file such as CLAUDE.md or a todo list into caveman format to save input tokens, keeping a readable backup. Sends the file's text to the configured model provider. Trigger: /caveman-compress. --- # Caveman Compress ## Purpose > **Data leaves the machine.** Compression sends the file's full text to the model provider that `scripts/compress.py` is configured for: the `claude` CLI, 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 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 <absolute_filepath> 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)
© JuliusBrussee · Apache-2.0 · JuliusBrussee/caveman