Claude Codeには「CLAUDE.md」「スキル」「サブエージェント」「フック」「MCP」と、拡張の道具がいくつもあります。似て見えて、動くタイミングも、コンテキストの食い方も、失敗の仕方も違います。この記事では「何をしたいか」から逆引きして、どれを選ぶかを整理します。

まず結論:5つの道具の役割
公式ドキュメント「Extend Claude Code」は、各機能を「いつ読み込まれ、どれだけコンテキストを使うか」で比べています。要点を自分の言葉でまとめると次の表です。
| 道具 | 一言でいうと | 動くタイミング | 向いている用途 |
|---|---|---|---|
| CLAUDE.md | 常に読まれるルール | 毎セッション | テスト実行コマンド、命名規則、禁止事項 |
| スキル | 必要なときだけ読む手順書 | 関連しそうなとき//で呼び出し |
レビュー手順、リリース作業など繰り返す作業 |
| サブエージェント | 別の作業机を持つ助手 | タスクを任せたとき | 大量のファイル調査など、本流を汚したくない作業 |
| フック | 必ず走る自動処理 | ライフサイクルのイベント時 | 保存後の整形、危険コマンドのブロック |
| MCP | 外部サービスへの接続口 | ツールとして呼ばれたとき | 課題管理、DB、ブラウザなど外部システムの操作 |
迷ったときの3つの判断軸
1. 「必ずやらせたい」ならフック
CLAUDE.mdもスキルも、Claudeが読んで解釈する指示です。守られる確率は高いものの、100%ではありません。一方フックは、イベントが起きれば確実にスクリプトが走ります。解説記事(Skills vs Subagents vs Hooks)も、毎回成立させたいルールはフックに置くべきだと整理しています。フックはシェルコマンドのほか、HTTPリクエスト、MCPツール呼び出し、プロンプト、サブエージェントも起動できます。
2. 「常に知っていてほしい」ならCLAUDE.md、「たまに使う」ならスキル
常時読まれる情報が長くなると、毎回コンテキストを消費します。たまにしか使わない手順は、スキルに切り出すのが基本です。スキルは、最初に名前と説明だけが読まれ、本文や同梱ファイルは必要になってから読み込まれる「段階的開示」の仕組みです。書き方は当サイトの「Claudeスキルの書き方入門」も参考にしてください。
3. 「途中経過が多くなりそう」ならサブエージェント
広いコードベースの調査やログ解析は、途中の出力が会話を埋め尽くしがちです。サブエージェントは独立したコンテキストで作業し、要約だけを返します。なおサブエージェントはskillsフィールドで指定したスキルを起動時に全文読み込みます。通常のスキルの読み込み方とは違う点に注意してください。
具体例:タイムアウト修正を例に育てる
全部を最初から作る必要はありません。Medium記事「Stop Repeating Yourself: Set Up Claude Code for Your Team」は、次の順に足していくやり方を勧めています。
- 単位(秒)やテストコマンドなど、繰り返し間違える点をCLAUDE.mdに書く。
- 同じレビュー手順を何度も説明するようになったら、スキルにする。
- レビューだけ別視点で見せたいなら、読み取り専用のサブエージェントを作る。
- チケット管理など外部の情報が必要になったらMCPを足す。
- 整形など「毎回必ず」の処理が出てきたら、フックを足す。
道具が増えるほど、保守するスクリプトや依存も増えます。繰り返しが実際に発生してから足すのが無難です。
MCPは「手」、スキルは「やり方」
MCPはClaudeに外部システムを操作する手段(ツール)を与えます。スキルは、その手でどう作業するかという手順を与えます。たとえばGitHub連携のMCPがあっても、「PRはこの観点でレビューし、この書式で報告する」という手順はスキルに書くほうが再利用しやすくなります。

道具箱と同じで、全部を持ち歩くより、用途に合う道具を選ぶほうが効率的です。MCPは接続先が増えるほどツール定義の分だけコンテキストを使うので、使わないサーバーは外しておきましょう。また、公式のコネクタ掲載ページにもあるとおり、信頼できる開発元のコネクタだけを使うのが前提です。
名前が重なったときの優先順位
| 種類 | 同名の場合の扱い |
|---|---|
| スキル | managed > user > project の順で優先 |
| サブエージェント | managed > CLIフラグ > project > user > plugin |
| MCPサーバー | local > project > user |
| フック | 上書きされず、該当するものがすべて実行される |
フックだけは「全部走る」ため、個人設定とプロジェクト設定で同じ処理を二重に書くと2回実行されます。チームで共有する場合は気をつけてください。
まとめ:今日やること
- Claudeが同じミスを繰り返しているなら、まずCLAUDE.mdに1行足す。
- 同じ説明を3回したら、スキルにする。
- 「毎回必ず」ならフック、「外部につなぐ」ならMCP、「本流を汚したくない」ならサブエージェント。
主な情報源
- Extend Claude Code – Claude Code Docs
- Claude Code power user tips – Claude Help Center
- Claude Code Skills vs Subagents vs Hooks (Chudi Nnorukam)
- Stop Repeating Yourself: Set Up Claude Code for Your Team (Medium)
- What are skills? – Claude Help Center
各ツールは提供元の規約に従ってご利用ください。情報は各情報源の公開時点のものです。収集・要約はAI、公開判断は人。