本文へスキップ
Edition · Tokyo

サブエージェント・スキル・MCP・hooks・コマンドの使い分け早見表

Claude Code のサブエージェント、スキル、MCP、hooks、コマンドは「コンテキストを汚さず・確実に・拡張する」の3目的で役割が分かれます。早見表で一発整理します。

codeagent.jp編集部 情報確認 約5分
Tags
情報確認
参考リンク
2件
更新性
長く使える
読了目安
約5分
更新管理

仕様・料金・提供範囲が変わりやすいテーマは、公開日・更新日・情報確認日を分けて管理します。 導入前には必ず記事末尾の一次情報と公式ドキュメントで最新状況を確認してください。

サブエージェント・スキル・MCP・hooks・コマンドの使い分け早見表 の16:9共有用サマリー画像。 5つの拡張機構は「汚さず・確実に・つなぐ」の3目的で役割が分かれる 1. 汚さない: サブエージェントは別コンテキストで調査やレビューを切り出す、スキルは必要なときだけ読み込みコンテキストを節約する、常時の助言は CLAUDE.md に最小限だけ置く 2. 確実にやる: hooks は毎回決定的に実行されモデルの気分に左右されない、コミット前チェックや整形は hooks に寄せる 3. つなぐ: MCP は DB や外部 SaaS などファイルの外へ接続する、スラッシュコマンドは定型の手順を一言で呼び出す、迷ったら早見表で目的から逆引きする
サブエージェント・スキル・MCP・hooks・コマンドの使い分け早見表 資料 26-1MD3 2026.06.30 設計・ワークフロー
共有用画像を開く シェア 約5分 / claude-code / subagents

結論

Claude Code の拡張機構は「コンテキストを汚さず」「決定的に確実に」「外部へ拡張する」の3目的で道具が分かれます。別コンテキストで調査・レビューしたいならサブエージェント、必要なときだけ読むドメイン知識ならスキル、外部サービス接続なら MCP、毎回必ず実行したい処理なら hooks、常時の助言や定型手順なら CLAUDE.md とスラッシュコマンドです。迷ったら「目的」から早見表で逆引きしてください。

「skill と subagent の違いは?」「hooks と MCP はどっち?」と迷うのは、5つの機構が似た見た目で並んでいるからです。実際は解決したい問題が違います。まず各機構を一言で押さえ、そのうえで早見表で逆引きできるようにします。

それぞれの機構は一言で何か

5つの機構は、それぞれ別の問題を解くために存在します。役割が重なって見えても、解決対象が違うと考えると整理できます。

サブエージェント: 別コンテキストで調査・レビューする

サブエージェントは、独自のコンテキスト・ツール権限・システムプロンプトを持つ専門エージェントです。親の会話とは別の文脈で動くため、長い調査ログやレビューの試行錯誤を親会話に流し込まずに済みます。

効くのは「大量ファイルの探索」「独立した検証」「コードレビュー」「並行調査」など、本筋とは別軸で頭を使う作業です。結果だけが親に戻るので、親のコンテキストが汚れません。逆に、次の一手が結果待ちで止まる小さな確認は、親が直接読むほうが速いことが多いです。

スキル: 必要なときだけ読むドメイン知識

スキルは、特定領域の手順や知識をまとめたパッケージです。公式ドキュメントでは、関連する作業のときにモデルが自動で読み込む仕組みとして説明されています。要点は「必要なときだけロードされる」ことで、常時コンテキストに乗せないため節約になります。

「この種の画像生成はこの手順」「この社内ライブラリの使い方」のような、毎回は要らないが特定タスクで必ず参照したい知識に向きます。

MCP: 外部サービスへ接続する

MCP(Model Context Protocol)は、Claude Code をファイルとシェルの外にある仕組みへつなぐための接続規格です。データベース、社内 API、課題管理ツール、外部 SaaS などをツールとして公開し、エージェントから呼べるようにします。

判断基準はシンプルで、「ファイル編集とコマンド実行だけでは届かない場所」に用があるときだけ MCP を足します。ローカルで完結する処理に MCP を持ち込むと、起動コストと権限管理が増えるだけです。

hooks: 毎回決定的に実行する

hooks は、ツール実行の前後などの決まったタイミングで必ず走るスクリプトです。モデルの判断に依存せず決定的に実行される点が核心で、「やってくれたらいいな」ではなく「必ずやる」を保証したいときに使います。

hooks の発想(擬似設定)
# 編集後に必ずフォーマッタを走らせる
# モデルへの「整形してね」というお願いではなく、
# 決定的に実行されるフックとして登録する
[hooks.post_edit]
command = "npm run format"

整形、Lint、コミット前チェック、ログ記録など「抜けると困る」処理の置き場です。

CLAUDE.md とスラッシュコマンド: 常時の助言と定型手順

CLAUDE.md は毎会話の冒頭でロードされる助言です。プロジェクトの前提やルールを伝えますが、あくまで指示であり、必ず守られる保証はありません。スラッシュコマンドは、定型の手順を一言で呼び出すショートカットです。

役割の違い
CLAUDE.md … 常時ロードの助言(守られるとは限らない)
スラッシュコマンド … 定型手順を明示的に呼ぶ(都度の起動)
hooks … 決定的に毎回実行(守られる)

結局どれを使えばいい?(目的から逆引き)

目的が決まれば道具は一意に近く決まります。下の対比で「汚さない/確実にやる」の軸を押さえてください。

コンテキストを汚さない側
確実に・外へつなぐ側
別の文脈で調査・レビュー
サブエージェント
特定タスクの知識を都度ロード
スキル
毎回必ず実行したい処理
hooks
DB・社内API・SaaS へ接続
MCP
常時の前提・ルールの共有
CLAUDE.md(最小限)
定型手順を一言で起動
スラッシュコマンド
目的を左の軸で特定し、対応する機構を選ぶ。重なって見えても解決対象は別。

逆引きのコツは「これは助言で足りるのか、保証が要るのか」を最初に問うことです。保証が要るなら hooks、知識の出し入れならスキルとサブエージェント、外部接続なら MCP、という順で切り分けると迷いません。

よくある誤用と直し方

最も多い誤用は「全部 CLAUDE.md に書く」ことです。CLAUDE.md は毎会話ロードされるため、肥大化するとコンテキストを圧迫し、しかも助言なので守られる保証もありません。

もう一つの典型は、hooks でやるべき決定的処理を CLAUDE.md の文章でお願いしてしまうことです。整形やチェックは「お願い」だと確率的に抜けます。決定的に守らせたいものは hooks へ、文脈の共有だけ CLAUDE.md へ、と分けるのが原則です。逆に、ローカルで完結する処理にまで MCP を足すのも過剰で、起動コストと権限管理が無駄に増えます。

よくある質問

スキルとサブエージェントはどう違いますか?

スキルは必要なときだけ読み込まれるドメイン知識のパッケージで、同じ会話のコンテキストに乗ります。サブエージェントは別コンテキストで動く専門エージェントで、調査やレビューを親会話から切り離したいときに使います。

hooks と CLAUDE.md はどちらに書くべきですか?

必ず毎回実行したい処理は hooks に書きます。CLAUDE.md は助言であり守られるとは限らないため、フォーマット強制やコミット前チェックのような決定的な処理を CLAUDE.md に書くのは誤用です。

MCP はいつ必要になりますか?

データベース、社内 API、外部 SaaS など、ファイルとシェルの外にある仕組みへ接続したいときに使います。逆にファイル編集やコマンド実行で済む処理に MCP を足すのは過剰です。

全部 CLAUDE.md に書けばよいのではないですか?

いいえ。CLAUDE.md は毎会話ロードされる助言なので肥大化するとコンテキストを圧迫し、守られる保証もありません。必要時ロードのスキル、決定的な hooks、別コンテキストのサブエージェントに分散させるほうが効きます。

関連記事

Primary sources

一次情報・参考リンク

About the author
codeagent.jp編集部

Claude Code / Codex / MCP を個人開発サイト運用と公開MCPサーバー開発で試し、一次情報・検証ログ・失敗例をもとに整理します。

関連して読む