Claude Code のスキルは色々入れては数日で消すのですが、これは残りました。caveman(原始人)という名前で、コンセプトは一行です。
why use many token when few do trick(少ない言葉で済むなら、なぜ多く使う?)
エージェントに「賢い原始人」のように答えさせる、というだけのスキルです。「もちろん、喜んでお手伝いします」も「これが起きている理由は」も、曖昧なヘッジ表現も全部消える。答えだけ言って、止まる。最初は笑いました。そのあとトークン数を見て、笑うのをやめました。
残した理由になった数字
リポジトリには再現可能なベンチマークが付いています。Claude API の実トークン数を、よくある開発タスク 10 件で計測したものです。
| タスク | 通常 | Caveman | 削減 |
|---|---|---|---|
| React の再レンダリングの説明 | 1180 | 159 | 87% |
| 認証ミドルウェアの有効期限修正 | 704 | 121 | 83% |
| PostgreSQL コネクションプール設定 | 2347 | 380 | 84% |
| git rebase と merge の違い | 702 | 292 | 58% |
| コールバックを async/await に | 387 | 301 | 22% |
| マイクロサービス vs モノリス | 446 | 310 | 30% |
| PR のセキュリティレビュー | 678 | 398 | 41% |
| Docker マルチステージビルド | 1042 | 290 | 72% |
| PostgreSQL の競合状態のデバッグ | 1200 | 232 | 81% |
| React エラーバウンダリの実装 | 3454 | 456 | 87% |
| 平均 | 1214 | 294 | 65% |
正直に書くと、平均は 65% で、README が丸めている「約 75%」ではありません。範囲は 22%〜87%。傾向は明確で、もともと冗長になりがちなタスク(バグの説明、アーキテクチャの解説)ほど深く削れます。
重要な点を一つ。caveman が触るのは出力トークンだけで、思考(reasoning)トークンには手を付けません。 モデルを馬鹿にするわけではない。スキル自身の言葉では「Caveman no make brain smaller. Caveman make mouth smaller.(脳を小さくするのではない。口を小さくするのだ)」。
同じ回答で、言葉は 75% 少ない
リポジトリにある before/after の例です。実際の出力をよく表しています。
通常(69 トークン):
「あなたの React コンポーネントが再レンダリングされる理由は、おそらくレンダリングのたびに新しいオブジェクト参照を作っているためです。インラインオブジェクトを prop として渡すと、React の浅い比較が毎回別物と判断し、再レンダリングが発生します。useMemo でメモ化することをお勧めします。」
Caveman(19 トークン):
"New object ref each render. Inline object prop = new ref = re-render. Wrap in
useMemo."
同じ修正です。消えた 50 トークンは情報をゼロしか運んでいませんでした。
ネタではなく、論文がある
驚いたのはここです。2026 年 3 月の論文 Brevity Constraints Reverse Performance Hierarchies in Language Models(arXiv:2604.00025)は、大規模モデルに簡潔な回答を強制すると、一部のベンチマークで正確性が 26 ポイント向上したと報告しています。モデル同士の優劣の順位すら逆転した。
冗長=良い、ではない。短くさせることが、正しくさせることに繋がる場合がある。だからトークン削減はほぼ副産物です。本当の利益は読む速さ(答えが即座に頭に入る)と、おそらく正確性(ヘッジで結論を薄めない)です。
何を残し、何を潰すか
ここが大事で、雑な道具ではありません。
| 対象 | Caveman の扱い |
|---|---|
| コードブロック | 通常どおり(caveman は馬鹿ではない) |
| 技術用語 | 正確に保持(polymorphism は polymorphism のまま) |
| エラーメッセージ | 原文のまま引用 |
| Git コミット・PR | 通常どおり |
| 冠詞(a/an/the) | 削除 |
| 社交辞令 | 消滅 |
| ヘッジ表現 | 絶滅 |
コード・用語・エラー文字列は触らない。そこで一文字落とすと壊れるからです。自然言語の脂肪だけを削り、筋肉を残す。max_tokens を下げるのとは本質的に違います。切り捨ては文を途中で切るが、caveman はフィラーを取り除いて結論を残す。
使うべきでない場面
スキルカードが正直に書いているので、私も正直に。この簡潔なスタイルは、法律・医療・セキュリティ・コンプライアンス・対外的な正式文書で効いてくるニュアンスを落とします。顧客向けメールなど、修飾語の欠落が責任問題になる場面では使わない。きれいな終了スイッチ("stop caveman" / "normal mode")があるので、日常のデバッグ・レビュー・調べ物では ON、正式な文章を書く瞬間に OFF、が正解です。
(付属のベンチマークスクリプトは Anthropic API を呼び、ローカル環境を読み、結果を書き込みます。意図的に、設定確認時は dry-run で。)
インストール
npx skills add JuliusBrussee/caveman
または Claude Code のプラグインシステムで:
claude plugin marketplace add JuliusBrussee/caveman
claude plugin install caveman@caveman
/caveman または「talk like caveman」で起動、「normal mode」で停止。
表面はネタです。star ページは「OOG」「mass mammoth」のジョークだらけ。でも指している問題は本物です。AI との会話のたびに、私たちは情報をゼロしか運ばない社交辞令と前置きにお金と時間を払っている。caveman はそれをオフにするだけです。
オリジナルのリポジトリ(Julius Brussee 作): https://github.com/JuliusBrussee/caveman