caveman-compress

作者: juliusbrussee

將自然語言記憶檔案(CLAUDE.md、待辦事項、偏好設定)壓縮成穴居人格式以節省輸入令牌。保留所有技術內容、程式碼、網址與結構。壓縮版本會覆蓋原始檔案。人類可讀的備份會另存為FILE.original.md。觸發指令:/caveman-compress FILEPATH 或「壓縮記憶檔案」

npx skills add https://github.com/juliusbrussee/caveman --skill caveman-compress

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. 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>

  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)

來自 juliusbrussee 的更多技能

caveman
juliusbrussee
超壓縮溝通模式。透過穴居人式簡潔表達,減少約75%的token使用量,同時維持完整技術準確性。支援強度等級:lite、full(預設)、ultra、wenyan-lite、wenyan-full、wenyan-ultra。當使用者說「caveman mode」、「talk like caveman」、「use caveman」、「less tokens」、「be brief」或呼叫/caveman時啟用。亦會在要求token效率時自動觸發。
communicationproductivity
caveman-commit
juliusbrussee
超壓縮提交訊息生成器。去除提交訊息中的雜訊,同時保留意圖與理由。採用 Conventional Commits 格式。主旨不超過50字元,僅在「原因」不明顯時加入內文。當使用者說「寫提交」、「提交訊息」、「生成提交」、「/commit」或呼叫 /caveman-commit 時使用。暫存變更時自動觸發。
developmentcode-review
caveman-help
juliusbrussee
所有穴居人模式、技能與指令的快速參考卡。一次性顯示,非持續模式。觸發方式:/caveman-help、「caveman help」、「what caveman commands」、「how do I use caveman」。
developmentdocumentproductivity
caveman-review
juliusbrussee
超壓縮程式碼審查評論。減少PR回饋中的雜訊,同時保留可執行的關鍵資訊。每條評論僅一行:位置、問題、修正。當使用者說「審查此PR」、「程式碼審查」、「審查差異」、「/review」或呼叫/caveman-review時使用。審查拉取請求時自動觸發。
developmentcode-review
caveman-stats
juliusbrussee
顯示當前會話的實際Token使用量與預估節省金額。直接從Claude Code會話日誌讀取,無需AI估算。透過/caveman-stats觸發。輸出由mode-tracker鉤子注入,模型本身不計算數值。
developmentdata-analysis
cavecrew
juliusbrussee
Decision guide for delegating to caveman-style subagents. Tells the main thread WHEN to spawn `cavecrew-investigator` (locate code), `cavecrew-builder` (1-2 file edit), or `cavecrew-reviewer` (diff review) instead of doing the work inline or using vanilla `Explore`. Subagent output is caveman-compressed so the tool-result injected back into main context is ~60% smaller — main context lasts longer across long sessions. Trigger: "delegate to subagent", "use cavecrew", "spawn...
developmentcode-reviewapi