compress について
CLAUDE.md などの自然言語のメモリファイルを、コードや技術情報を保ったまま圧縮するスキルです。元ファイルをバックアップし、置き換え前に出力を検証します。
主な機能
- 01自然言語ファイルの圧縮
- 02コードと技術情報の保持
- 03元ファイルのバックアップ
- 04出力検証と修正の再試行
活用シーン
- 01メモリファイルのトークン使用量削減
- 02メモや設定の圧縮
- 03編集前の原本保存
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ juliusbrussee/ caveman --skill compressインストール後、Claude Code で/compressを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/__init__.py__main__.pybenchmark.pycli.pycompress.pydetect.pyvalidate.py詳細
Caveman Compress
目的
自然言語ファイル(CLAUDE.md、todos、preferences)を原始人風の表現に圧縮し、入力トークンを削減します。圧縮版は元のファイルを上書きします。人間が読めるバックアップは <filename>.original.md として保存されます。
トリガー
/caveman:compress <filepath>、またはユーザーがメモリファイルの圧縮を依頼したとき。
プロセス
-
この SKILL.md は、同じディレクトリ内の
scripts/と並んでいます。そのディレクトリを見つけます。 -
次を実行します。
cd <directory_containing_this_SKILL.md> && python3 -m scripts <absolute_filepath>
- CLI は次を行います。
- ファイルの種類を検出する(トークンを消費しません)
- Claude を呼び出して圧縮する
- 出力を検証する(トークンを消費しません)
- エラーがある場合:Claude で必要な箇所だけを修正する(対象を絞った修正のみ。再圧縮はしません)
- 最大 2 回再試行する
- 2 回再試行しても失敗する場合:ユーザーにエラーを報告し、元のファイルは変更せずに残す
- 結果をユーザーに返します。
圧縮ルール
削除する
- 冠詞:a、an、the
- 冗長な語句:just、really、basically、actually、simply、essentially、generally
- 丁寧な表現:「sure」、「certainly」、「of course」、「happy to」、「I'd recommend」
- 断定を避ける表現:「it might be worth」、「you could consider」、「it would be good to」
- 冗長な言い回し:「in order to」→「to」、「make sure to」→「ensure」、「the reason is because」→「because」
- つなぎの余分な語句:「however」、「furthermore」、「additionally」、「in addition」
正確に保持する(変更禁止)
- コードブロック(フェンス付き ``` とインデント形式)
- インラインコード(
バッククォート内の内容) - URL とリンク(完全な URL、Markdown リンク)
- ファイルパス(
/src/components/...、./config.yaml) - コマンド(
npm install、git commit、docker build) - 技術用語(ライブラリ名、API 名、プロトコル、アルゴリズム)
- 固有名詞(プロジェクト名、人名、会社名)
- 日付、バージョン番号、数値
- 環境変数(
$HOME、NODE_ENV)
構造を保持する
- すべての Markdown 見出し(見出しのテキストはそのままにし、下の本文を圧縮する)
- 箇条書きの階層(ネストのレベルを維持する)
- 番号付きリスト(番号を維持する)
- 表(セルのテキストを圧縮し、構造を維持する)
- Markdown ファイルのフロントマター/YAML ヘッダー
圧縮する
- 短い類義語を使う:「extensive」ではなく「big」、「implement a solution for」ではなく「fix」、「utilize」ではなく「use」
- 断片的な文でも構いません:「You should always run tests before committing」ではなく「Run tests before commit」
- 「you should」、「make sure to」、「remember to」は削除し、行動だけを記述する
- 同じ内容を異なる表現で述べている箇条書きは統合する
- 複数の例が同じパターンを示す場合は、例を 1 つだけ残す
重要なルール:
... の内側はすべて、完全にそのままコピーしてください。
次のことは禁止です。
- コメントの削除
- 空白の削除
- 行の並べ替え
- コマンドの短縮
- あらゆる簡略化
インラインコード(...)も完全にそのまま保持してください。
バッククォート内の内容は変更しないでください。
ファイルにコードブロックが含まれる場合:
- コードブロックは読み取り専用領域として扱う
- その外側のテキストだけを圧縮する
- セクションをまたいで統合しない
パターン
原文:
メインブランチに変更をプッシュする前に、必ずテストスイートを実行してください。これは早期にバグを発見し、本番環境に壊れたビルドがデプロイされるのを防ぐために重要です。
圧縮後:
メインにプッシュする前にテストを実行。早期にバグを発見し、本番への壊れたデプロイを防ぐ。
原文:
アプリケーションは次のコンポーネントで構成されるマイクロサービスアーキテクチャを採用しています。API ゲートウェイはすべての受信リクエストを処理し、適切なサービスにルーティングします。認証サービスは、ユーザーセッションと JWT トークンを管理します。
圧縮後:
マイクロサービスアーキテクチャ。API ゲートウェイがすべてのリクエストをサービスにルーティング。認証サービスがユーザーセッションと JWT トークンを管理。
対象範囲
- 自然言語ファイル(.md、.txt、.typ、.typst、.tex、拡張子なし)のみを圧縮します
- .py、.js、.ts、.json、.yaml、.yml、.toml、.env、.lock、.css、.html、.xml、.sql、.sh は絶対に変更しません
- ファイルに文章とコードが混在している場合は、文章のセクションのみを圧縮します
- コードか文章か判断できない場合は、変更せずに残します
- 上書きする前に、元のファイルを FILE.original.md としてバックアップします
- FILE.original.md は圧縮しないでください(スキップしてください)