入門難易度 | 約10分 | caveman のインストールと設定の一連の流れを理解し、Lite / Full / Ultra / 文言文の4段階圧縮モードを使いこなせます。AIの出力の1つ1つのTokenを徹底的に絞り出しましょう。
プロジェクト概要
caveman は、Julius Brussee によって開発された、AIコーディングアシスタントの出力を圧縮するスキルです。GitHub:JuliusBrussee/caveman。
核となる考え方はシンプルです:AIの返信は「役に立つ部分」だけにして返させること。技術的な正確さはそのままに、出力Tokenを約75%圧縮します。さらに2026年の研究(arxiv:2604.00025)では、大規模言語モデルに簡潔さの制約を与えると、あるベンチマークで精度が26ポイント改善したことも示されています――要するに、長く話すからといって正しいとは限りません。
caveman は単なるネタではありません。内蔵の圧縮強度は4段階(Lite / Full / Ultra / 文言文)。加えて caveman-commit(極小のコミットメッセージ)、caveman-review(1行コードレビュー)、caveman-compress(メモリファイル圧縮)の3つのサブスキルもあります。Claude Code、Codex、Cursor、Windsurf、Cline、Copilot、Gemini CLI など 40+ のAIコーディングアシスタントに対応。
対象読者
毎日AIコーディングアシスタントで作業しているのに、次のような場面にぶつかる方へ:返信が冗長、要点が見えない、読んだ後に結局自分で要約する必要がある。スピードアップとコスト削減は必須。無駄な丁寧語や前置きにTokenと時間を溶かしたくない。
必須の依存関係と環境
| 依存関係 | 説明 |
|---|---|
| AIコーディングアシスタント | Claude Code / Codex / Cursor / Gemini CLI など(最低1つ) |
| Node.js | npx skills のインストール方式に必要 |
| Python 3.10+ | caveman-compress の圧縮ツールに必要 |
| Git | プラグイン方式のインストールに必要 |
完全なプロジェクト構成
my-project/
├── CLAUDE.md # caveman をインストール後に書き込まれ、常に有効(Claude Code)
├── .caveman/ # 状態フラグのディレクトリ(自動生成)
│ └── .caveman-active # 現在のモード:full / lite / ultra / wenyan
├── .cursor/rules/caveman.mdc # Cursor 常時ONルール(自動生成)
├── .windsurf/rules/caveman.md # Windsurf 常時ONルール(自動生成)
├── .clinerules/caveman.md # Cline ルール(自動生成)
└── .github/copilot-instructions.md # Copilot ルール(自動生成)
手順
手順1 — caveman をインストール
caveman は40+のAIコーディングアシスタントに対応しています。お使いのプラットフォームに合わせて、次のコマンドを選んでください。
Claude Code(推奨)
# 方法1:プラグインマーケット(いちばん簡単)
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman
# 方法2:スクリプトでのインストール(プラグインシステムを使わない場合)
# macOS / Linux / WSL
bash <(curl -s https://raw.githubusercontent.com/JuliusBrussee/caveman/main/hooks/install.sh)
# Windows PowerShell
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/hooks/install.ps1 | iex
Codex(VS Code + Codex)
# macOS / Linux
# 1. リポジトリをクローン → 対象ディレクトリで Codex を開く → /plugins → "Caveman" を検索 → Install
# Windows(事前にシンボリックリンクを有効化)
git config --global core.symlinks true
# その後は同様に:クローン → VS Code → Codex Settings → Plugins → Caveman をインストール
Gemini CLI
gemini extensions install https://github.com/JuliusBrussee/caveman
Cursor / Windsurf / Cline / Copilot
npx skills add JuliusBrussee/caveman -a cursor
npx skills add JuliusBrussee/caveman -a windsurf
npx skills add JuliusBrussee/caveman -a cline
npx skills add JuliusBrussee/caveman -a github-copilot
その他の Agent(opencode / Roo / Goose / Kiro など40+)
npx skills add JuliusBrussee/caveman # 自動検出
# もしくは指定
npx skills add JuliusBrussee/caveman -a opencode
npx skills add JuliusBrussee/caveman -a roo
WARNING
npx skills add は skill ファイル本体のみをインストールし、Agent の always-on ルールファイルはインストールしません。つまり Cursor / Windsurf / Cline / Copilot はインストール後、毎回手動で有効化が必要です。手順7で常時ONに変更する方法を説明します。
手順2 — caveman モードを有効化
インストール後、どの会話でも次のいずれかのコマンドを入力すれば有効化できます。
/caveman # デフォルトは Full モード
$caveman # Codex は $ で / を代用
または話しかけるだけでもトリガーできます:
talk like caveman
caveman mode
less tokens please
TIP
Claude Code / Gemini CLI / Codex では、/caveman が新しい会話のたびに自動で SessionStart hook を発火します。なので、毎回手動で有効化する必要はありません。Cursor / Windsurf などは手順7の追加設定が必要です。
手順3 — 圧縮段階を選ぶ
caveman には4段階の圧縮強度があります。切り替えコマンドは次の通りです。
| 段階 | トリガーコマンド | 特徴 | 想定シーン |
|---|---|---|---|
| Lite | /caveman lite | filler を削除し、文法は完全に保持。プロっぽいが簡潔 | フォーマルなやり取り、構造を残したい場合 |
| Full | /caveman full | 不定冠詞(a/an/the)を削除し、区切りを許可。短い語へ置換 | 日常の開発(デフォルト) |
| Ultra | /caveman ultra | 最上限圧縮、略語、因果の矢印(→) | 速いデバッグ、高圧環境 |
| 文言文 | /caveman wenyan | 文言文圧縮(古典中国語の文法) | ジェネック志向の遊び心、中文開発者 |
同じ React の課題を例に比較:
🗣️ 通常の返信(69 tokens):
"Your React component re-renders because you are creating a new object reference on each
render cycle. When you pass an inline object as a prop, React's shallow comparison sees
it as a different object every time, which triggers a re-render. I'd recommend using
useMemo to memoize the object."
🪶 Lite(39 tokens):
"Your component re-renders because you create a new object reference each render.
Inline object props fail shallow comparison every time. Wrap it in useMemo."
🪨 Full(19 tokens):
"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."
🔥 Ultra(15 tokens):
"Inline obj prop → new ref → re-render. useMemo."
📜 文言文(11 tokens):
"物出新參照,致重繪。useMemo Wrap之。"
caveman モードの終了:
stop caveman
normal mode
IMPORTANT
コードブロックの中身は圧縮されません。caveman は自然言語の返信だけを圧縮し、コード、ファイルパス、URL、コマンドは常にそのまま保持されます。
手順4 — caveman-commit:極小のコミットメッセージ
caveman-commit はコミットメッセージを生成するためのサブスキルで、Conventional Commits に従います。主語は50文字以内:
/caveman-commit
出力例:
# 通常の Claude のコミット(長すぎる):
"Added user authentication functionality including JWT token generation and validation,
password hashing with bcrypt, and session management middleware. This improves security
by implementing proper authentication flows."
# caveman-commit の結果:
"feat(auth): JWT + bcrypt login, session middleware"
主語の形式:type(scope): subject。主語は常に50文字以内、why over what。
手順5 — caveman-review:1行コードレビュー
caveman-review は PR やコード断片に対して1行でレビューします。形式は固定で、無駄口はしません:
/caveman-review
差分(diff)やコードを貼り付けると、次のように出力されます:
L42: 🔴 bug: user null. Add guard.
L58: 🟡 perf: N+1 query. Prefetch in ORM.
L71: 🟢 nit: unused import. Remove.
PRコメント内で「ここは改善できると思います」みたいな長文を読む必要はもうありません。どの行に何の問題があり、どう直すかをそのまま伝えます。
形式:L<行番号>: <🔴🟡🟢> <問題タイプ>: <説明>. <推奨修正>.
手順6 — caveman-compress:プロジェクトの記憶ファイルを圧縮
caveman の中でも最も実用的なサブスキルの1つです。CLAUDE.md は毎回 AI に読み込まれます。中に人間に優しい冗長な説明が大量にあると、そのたびに Token を消費することになります。caveman-compress は、これらの記憶ファイルを、AIが効率よく読み取れる形式に圧縮しつつ、編集用に元のバックアップも保持します。
/caveman:compress CLAUDE.md
実行後:
CLAUDE.md ← 圧縮版(Claude は毎回これを読む)
CLAUDE.original.md ← 元のバックアップ(あなたが編集する。圧縮は片方向)
実測の圧縮効果:
| ファイル | 元の tokens | 圧縮後 | 削減 |
|---|---|---|---|
| claude-md-preferences.md | 706 | 285 | 59.6% |
| project-notes.md | 1145 | 535 | 53.3% |
| claude-md-project.md | 1122 | 636 | 43.3% |
| todo-list.md | 627 | 388 | 38.1% |
| mixed-with-code.md | 888 | 560 | 36.9% |
| 平均 | 898 | 481 | 46% |
TIP
caveman-compress は prose(自然言語の段落)だけを圧縮します。コードブロック、URL、ファイルパス、コマンド、タイトル、日付、バージョン番号はすべてそのまま保持され、誤って圧縮されることはありません。
手順7 — Always-On 設定
Claude Code / Gemini CLI はインストール後に自動で always-on になります。追加設定は不要です。
Cursor / Windsurf / Copilot などは npx skills add でインストールした後、常時有効化するために snippet を1つ手動で補う必要があります。お好みの強度を Agent のルールファイルに書き込みましょう:
Terse like caveman. Technical substance exact. Only fluff die.
Drop: articles, filler (just/really/basically), pleasantries, hedging.
Fragments OK. Short synonyms. Code unchanged.
Pattern: [thing] [action] [reason]. [next step].
ACTIVE EVERY RESPONSE. No revert after many turns.
Code/commits/PRs: normal. Off: "stop caveman" / "normal mode".
各 Agent の配置先:
| Agent | ファイルパス |
|---|---|
| Cursor | .cursor/rules/caveman.mdc |
| Windsurf | .windsurf/rules/caveman.md |
| Copilot | .github/copilot-instructions.md またはカスタム指示 |
| opencode | .config/opencode/AGENTS.md |
| Roo | .roo/rules/caveman.md |
手順8 — アンインストール / デフォルトに戻す
# Claude Code プラグインをアンインストール
claude plugin uninstall caveman
# Standalone hooks をアンインストール
bash hooks/uninstall.sh # macOS / Linux
powershell -File hooks\uninstall.ps1 # Windows
# npx skills をアンインストール
npx skills remove caveman
# Gemini CLI をアンインストール
gemini extensions uninstall caveman
アンインストール後の .caveman/ の状態ディレクトリやルールファイルは、必要に応じて手動で整理してください。
よくある問題の切り分け
1. プラグインは入れたのに caveman が自動で有効化されない
Claude Code は SessionStart hook によって自動で有効化します。hook の書き込みが正しく行われているか確認してください:
# ~/.claude/settings.json に SessionStart hook が入っているか確認
cat ~/.claude/settings.json | grep -i "SessionStart"
# もしくは一度入れ直し
claude plugin uninstall caveman
claude plugin install caveman@caveman
2. Cursor / Windsurf の always-on が効かない
npx skills add は always-on ルールを自動で書き込みません。手順7の snippet を対応するルールファイルに手動で追加し、保存後に Agent を再読み込みしてください。
3. 文言文モードの出力が文字化けする/疑問符だらけになる
端末とエディタの両方が UTF-8 に対応しているか確認してください。Windows の PowerShell では、デフォルトの文字コードが問題になる場合があります:
chcp 65001
$env:LESSCHARSET=utf-8
VS Code の下部ステータスバーで、文字コードが UTF-8 になっているか確認してください。
4. caveman-compress がコードブロックも圧縮してしまう
起こりません。コードブロック、URL、ファイルパス、コマンドはスキップ項目で、圧縮には参加しません。もし異常が見つかった場合、通常はファイル形式の問題です(コードブロックのマーカー ``` が欠けているなど)。その場合は CLAUDE.original.md と手動で照合して復元してください。
5. /caveman コマンドが反応しない
別の skill がスラッシュコマンドを横取りしている可能性があります。Claude Code では「直接話しかけて」トリガーを試してください:"talk like caveman"。それでもダメなら、同名の skill が競合していないか確認します。
6. 複数 Agent で caveman が特定の Agent だけ効かない
caveman の設定ファイルは各 Agent ごとに独立しており、互いに影響しません。特定の Agent で効かない場合は、その Agent のルールディレクトリに caveman 関連ファイルがあるか確認してください。
追加の読み物 / 進んだ方向性
1. caveman の三臂評測:データの誠実さをどう担保するか
多くの「圧縮テクニック」の評価は、skill の返信と通常の返信を比較することで行われがちです。ですが、それは不公平です。簡潔さ(terteness)それ自体が品質を上げてしまうからです。caveman は三臂評測を使います:_baseline_(システムプロンプトなし)、_terse_(「Answer concisely」だけ)、<skill>(caveman の完全なルール)。実際にどれだけ節約できたかは、skill vs baseline ではなく skill vs terse の差分です。この方法論は、どんなAIアシスタントの評価にも応用できます。
2. 実データの Benchmark 解釈
実測10タスクで、平均出力Tokenが1214から294へ減少し、節約は 65%。範囲は 22%(git rebase vs merge、説明自体が長い)から 87%(React のエラー境界、通常返信が極端に過剰展開)まで。タスクが「過剰に説明しがち」ほど、caveman の節約効果は大きくなります。
3. Cavekit:同じ作者による仕様駆動開発ツールチェーン
JuliusBrussee/cavekit は連携プロジェクトで、caveman 言語で仕様を書き → Claude を並列ビルド → 実用ソフトウェアを出力します。caveman で出力効率を最適化しているなら、cavekit は入力側でも同様のことができます。
4. 圧縮段階のカスタマイズ
skills/caveman/SKILL.md にすべての強度ルールが定義されています。複製して、略語の辞書、辞書を保持するかどうか、因果シンボルのルールなどを調整して、独自の段階を作れます。たとえばチーム内の内部用語略語を追加したり、特定の技術用語は置換しない指定をしたりできます。
5. 文言文圧縮の言語横断での適用性
文言文モードの原理は:人類史上で最も簡潔な文章語 + 文字のToken密度が非常に低いことです。英語のコーパスでも、wenyan-full はなお約40〜60%圧縮できます。古典中国語の文法である「主語省略 + 動詞の目的語倒置」が、単一言語環境の中では依然として有効だからです。極限まで圧縮したい場合、かつ特殊な文法への適応を受け入れられる場面に向いています。