caveman

github.com/JuliusBrussee/caveman — AI スキル / プラグイン

1 — 概要

caveman は、AI エージェントの応答を「原始人語」にするスキル / プラグイン。 技術的な正確さを 100% 保ちながら、フィラー・丁寧語・ヘッジングを除去し、出力トークンを最大 ~75% 削減する。 Claude Code・Cursor・GitHub Copilot・Cline・Windsurf・Codex など 40 以上のエージェントに対応。

2026 年 3 月の論文 Brevity Constraints Reverse Performance Hierarchies によれば、簡潔な応答制約は特定ベンチマークで精度を 26 ポイント 向上させた。口を小さくしても、頭は小さくならない。

~75%
出力トークン削減
100%
技術的正確さ
~3x
応答速度向上
6
強度モード数
2 — Before / After
Normal Claude
"The reason your React component is re-rendering is likely because you're 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."
Caveman Claude
"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."
Normal Claude
"Sure! I'd be happy to help you with that. The issue you're experiencing is most likely caused by your authentication middleware not properly validating the token expiry. Let me take a look and suggest a fix."
Caveman Claude
"Bug in auth middleware. Token expiry check use < not <=. Fix:"
鉄則: コードブロック・インラインコード・URL・コマンド・技術用語は 一切変更しない。圧縮されるのは自然言語の「フィラー」「丁寧語」「ヘッジング」のみ。
3 — 強度レベル

トリガーで強度を切り替え。レベルはセッション終了か明示的な変更まで維持される。

Lite
トリガー: /caveman lite
Your component re-renders because you create a new object reference each render. Wrap it in useMemo.
Full(デフォルト)
トリガー: /caveman または /caveman full
New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.
Ultra
トリガー: /caveman ultra
Inline obj prop → new ref → re-render. useMemo.
文言文 (Wenyan)
トリガー: /caveman wenyan / wenyan-lite / wenyan-ultra
物出新參照,致重繪。useMemo Wrap之。
レベル 変化内容 文体
lite フィラー・ヘッジング削除。冠詞・完全文は維持 プロフェッショナルかつ簡潔
full 冠詞削除・断片 OK・短い同義語に置換 クラシック caveman
ultra 略語(DB/auth/fn)・接続詞削除・矢印(X → Y)で因果表現 電報スタイル
wenyan-lite フィラー削除、文法構造は維持。古典中国語調 半古典
wenyan-full 完全 文言文。主語省略・古典助詞(之/乃/為/其) 最大古典圧縮
wenyan-ultra Wenyan の中の極限圧縮。古典中国語感は維持 古代学者 on a budget
Auto-Clarity: セキュリティ警告・不可逆操作の確認・複数ステップで断片の順序が誤読を招く場面では自動的に通常語に戻り、完了後に caveman を再開する。
4 — インストール

一度インストールすれば、以降のすべてのセッションで有効になる。One rock. That it.

1
npx skills — 推奨(全エージェント共通)
40 以上のエージェントに対応。-a で特定エージェントのみ対象にできる。
# 全エージェントへ一括インストール
npx skills add JuliusBrussee/caveman

# 特定エージェントへのみ
npx skills add JuliusBrussee/caveman -a cursor
npx skills add JuliusBrussee/caveman -a github-copilot
npx skills add JuliusBrussee/caveman -a cline
npx skills add JuliusBrussee/caveman -a windsurf
npx skills add JuliusBrussee/caveman -a codex
2
Claude Code プラグインシステム(代替)
Claude Code のネイティブプラグイン経由。
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman

使い方

操作コマンド / フレーズ
有効化 /caveman、talk like caveman、caveman mode、less tokens please
無効化 stop caveman、normal mode
強度変更 /caveman lite / full / ultra / wenyan / wenyan-lite / wenyan-ultra
5 — スキル

caveman 本体に加え、コミットメッセージとコードレビュー専用スキルが同梱されている。

Conventional Commits 形式でコミットメッセージを生成。subject ≤50 字。「何を」でなく「なぜ」を書く。AI 帰属・絵文字・"This commit does X" は含めない。

feat(api): add GET /users/:id/profile

Mobile client needs profile data without
the full user payload to reduce LTE
bandwidth on cold-launch screens.

Closes #128

トリガー: /caveman-commit

PR コメントを 1 件 1 行に圧縮。場所・問題・修正を完結に。"I noticed that..." "Great work!" は一切なし。重大度プレフィックスで分類。

L42: 🔴 bug: user can be null after .find(). Add guard before .email.
L88-140: 🔵 nit: 50-line fn does 4 things. Extract validate/normalize/persist.
L23: 🟡 risk: no retry on 429. Wrap in withBackoff(3).

トリガー: /caveman-review

重大度プレフィックス意味
🔴bug:インシデントになる壊れた動作
🟡risk:動くが脆弱(レース・null チェック漏れ・エラー飲み込み)
🔵nit:スタイル・命名・マイクロ最適化(著者は無視可)
❓q:純粋な質問。提案ではない
6 — Compress

caveman は AI が話すトークンを削減する。 caveman-compress は AI が読むトークンを削減する。 CLAUDE.md などのメモリファイルを caveman 語に変換し、セッション開始時のコストを下げる。 元の人間が読みやすいファイルは .original.md としてバックアップされる。

/caveman:compress CLAUDE.md

# → CLAUDE.md          (圧縮版: Claude が毎セッション読む)
# → CLAUDE.original.md (バックアップ: 人間が編集・参照する)
ファイル 元 (tokens) 圧縮後 (tokens) 削減率
claude-md-preferences.md 706 285 59.6%
project-notes.md 1,145 535 53.3%
claude-md-project.md 1,122 687 38.8%
todo-list.md 627 388 38.1%
mixed-with-code.md 888 574 35.4%
平均 898 494 45%
保護対象: コードブロック・インラインコード・URL・ファイルパス・コマンド・技術用語・プロパー名詞・日付・バージョン番号は 一切変更しない。 圧縮されるのは散文(自然言語)のみ。
7 — ベンチマーク

Claude API からの実際のトークン数。benchmarks/ で再現可能。

タスク 通常 (tokens) Caveman (tokens) 削減率
React 再レンダリングのバグ説明 1,180 159 87%
認証ミドルウェアのトークン期限バグ修正 704 121 83%
PostgreSQL コネクションプール設定 2,347 380 84%
git rebase vs merge 解説 702 292 58%
callback → async/await リファクタ 387 301 22%
マイクロサービス vs モノリス設計 446 310 30%
PR セキュリティレビュー 678 398 41%
Docker マルチステージビルド 1,042 290 72%
PostgreSQL レースコンディションデバッグ 1,200 232 81%
React エラーバウンダリ実装 3,454 456 87%
平均 1,214 294 65%
重要: Caveman が削減するのは 出力トークンのみ。思考・推論トークンには影響しない。 最大の恩恵は 可読性と応答速度 ——コスト削減はおまけ。 範囲は 22%〜87% でタスクによって大きく異なる(散文が多いほど削減率が高い)。