Claude CodeにおけるSubAgentとSkills、Hooks、Plugin、MCPの違いについて徹底比較|5つの特徴と使い方ガイド

A
Awak編集部
20分で読めます
Claude CodeにおけるSubAgentとSkills、Hooks、Plugin、MCPの違いについて徹底比較|5つの特徴と使い方ガイド

Claude Codeで「SubAgent」「Skills」「Hooks」「Plugin」「MCP」の違いに頭を悩ませていませんか?新機能が続々と追加される中、「どの機能を、どんな場面で使えば開発効率が本当に上がるのか」迷う声が増えています。実際、主要な開発現場では1プロジェクトあたり平均3種類以上の機能が併用され、適切な使い分けでコードのトークン消費量が最大30%削減できた事例も報告されています。

一方で、「SkillsとSubAgentの違いが分からず、設計や管理が複雑化してしまう」「ファイル構成や呼び出し方法を間違えて、AIが思った通りに動いてくれない」といった悩みもよく聞きます。特に、HooksやPluginの自動化・拡張性を活かしきれず、本来得られるはずの生産性向上メリットを逃しているケースも少なくありません。

Claude Code公式ドキュメントや実務データを徹底的に分析した本記事では、5つの機能の本質的な違いと選び方を、現場の導入事例やファイル構成例とともに、図表やフローチャートでわかりやすく整理しています。

Claude Code 5つの機能を1分で理解する – SubAgent・Skills・Hooks・Plugin・MCPの役割と違い

Claude Codeの機能体系を俯瞰する – 5つの拡張機能の位置づけ

Claude CodeはAIによる開発や自動化を加速するため、SubAgent、Skills、Hooks、Plugin、MCPという5つの拡張機能が用意されています。これらの機能はそれぞれ異なる役割を担い、使い分けることでプロジェクト全体の効率化と柔軟性を実現します。

たとえば、SubAgentは「別室で作業する助手」、Skillsは「マニュアル」、Hooksは「自動実行ルール」、Pluginは「拡張パック」、MCPは「外部ツールとの接続口」のようなイメージで理解できます。

機能名概要主な用途ファイル配置
SubAgent独立した空間で作業する専門AIエージェント並列タスク処理、責任分担.claude/agents/
Skills再利用可能な知識・手順のモジュール作業手順注入、知識の標準化.claude/skills/
Hooks各種イベントの自動実行トリガー自動化、効率化settings.json
Plugin複数機能をまとめた拡張パックチーム共有、機能配布.claude-plugin/
MCP外部ツールやAPIとの連携プロトコルデータベース接続、外部サービス活用.mcp.json

なぜ5つの機能に分かれているのか – 背景にある設計思想

Claude Codeが5つの機能に分かれているのは、現場の多様な開発ニーズに対応し、柔軟かつ拡張性の高いAIエージェントの運用を可能にするためです。

たとえば、エンジニアはSubAgentで責任範囲を明確に分担し、Skillsでナレッジを標準化、Hooksで手間を減らし、Pluginで機能を共有、MCPで外部ツールを自在に活用できます。各機能を組み合わせることで、プロジェクトごとに最適なワークフローを構築でき、管理や保守性も高まります。

SubAgent・Skills・Hooks・Plugin・MCPの役割と特徴を表で整理

機能名定義主な役割代表的な用途
SubAgent独立した専門AIエージェント並列・分業タスクの実行レビュー・テスト・データ分析
Skills使い方や知識をAIに伝える再利用可能なガイドメイン会話の知識拡張コーディング規約やAPI仕様の注入
Hooksイベント時に自動実行されるトリガーワークフローの自動化ファイル変更検知→自動タスク実行
Plugin複数機能をまとめた拡張パックチーム共有・機能配布コマンド・スキル・エージェントの配布
MCP外部ツール・APIとClaudeを連携するプロトコル外部リソースの連携・拡張DB接続、外部APIコール、外部データ取得

コンテキスト共有 vs 独立実行 – 技術的な違いの本質

Skillsはメイン会話のコンテキストをそのまま利用し、全体フローの一部として自然に知識を追加できます。これにより、複数の作業や知識適用を一つの流れで完結できるのが特徴です。

一方、SubAgentは独立したコンテキストで動作します。メインAIの履歴や他のタスクに影響されず、専用の指示・権限・プロンプトで専門タスクに集中できます。これにより、「タスク間での情報混線」や「不要な知識の混入」を防ぎ、精度の高い分業や並列処理が可能です。

MCPは外部システムとの連携を担うため、コンテキストとは別の次元で動作します。外部APIやデータベースから情報を取得し、Claudeの処理に活用します。

観点SubAgentSkillsHooksPluginMCP
コンテキスト独立メイン共有なしなしなし
タスク委譲複雑タスク定型作業なし連携先に委譲可外部ツールに委譲
自動化一部自動/手動モデル自動検出全面自動インストールで自動API経由で自動
拡張性高い高い柔軟無限無限

呼び出し方の違い – 自動判断 vs 明示的呼び出し vs 自動実行

呼び出しタイミングや制御方法も機能ごとに明確な違いがあります。

  • SubAgentはメイン会話とは別の空間で、明示的に指示することで特定のタスクを担当します。用途や権限、モデル(例:Haiku)を細かく設定でき、サブエージェントごとに専門分野を分離できます。
  • SkillsはAIが自動で適切な場面を判断して呼び出します。ユーザーが意識しなくても必要な知識が適用され、会話の流れを妨げません。
  • Hooksはファイル操作やイベント発生時に自動でコマンドや処理を実行します。作業の自動化やミス防止を強力にサポートします。
  • Pluginは一度インストールすれば自動で機能連携され、`/プラグイン名:コマンド名`の形式で呼び出せます。
  • MCPは設定後、Claudeが必要に応じて自動的に外部ツールを呼び出します。`@リソース名`でMCPリソースを参照することも可能です。

Claude Code Skillsとは – 「やり方を教える」知識ベース機能の仕組みと使い方

Claude Code Skillsは、AIエージェントが特定の作業方法や業務知識を自動的に学習・適用するための知識ベース機能です。プロジェクトの中でよく使う業務フローや手順をまとめておけば、AIが必要なタイミングで適切にサポートします。Skillsは再利用性が高く、メインコンテキストを共有する形でプロジェクト全体の品質と効率を向上させます。

Skillsの構造と動作メカニズム – SKILL.md・description・メタデータの役割

Claude Code Skillsは、主にSKILL.mdファイルで定義されます。SKILL.mdにはdescriptionやメタデータが含まれており、スキルの概要や発動条件を詳細に記述できます。

フィールド説明
nameスキルの識別名
descriptionいつ適用するかの説明(自動検出に使用)
allowed-tools使用可能なツール
context: fork独立コンテキストで実行(オプション)

Skillsが「自動認識」される仕組み – Claudeがどう判断するのか

Skillsが自動認識される仕組みのポイントは、AIが現在のタスクや会話内容を解析し、SKILL.mdのdescriptionやメタデータと照合するプロセスにあります。Claudeは、「このコードをレビューして」などの指示を受けたとき、関連するSkillのdescriptionを自動で参照し、最適なスキルを自動で適用します。

場所スコープ
.claude/skills/現在のプロジェクト
~/.claude/skills/全プロジェクト共通

Skillsを使うべき場面 – メインコンテキストを共有したいケース

Skillsは、プロジェクト全体で同じルールや知識を共有したい場面に最適です。たとえば、複数メンバーが同じコーディング規約を守る必要がある場合や、APIドキュメントを常に最新の状態で参照したいときに効果を発揮します。

  • コーディング規約の自動チェック
  • APIエンドポイントや利用例の常時参照
  • 共通デザインシステムの自動適用
  • Xcodeビルド手順のガイドスキル
  • 提案書テンプレートの自動挿入スキル

Claude Code SubAgentとは – 「仕事を任せる」独立専門家エージェント

Claude CodeのSubAgentは、メインエージェントとは独立したAI専門家として機能します。SubAgentを利用することで、複数の複雑なタスクを同時に処理し、各タスクごとに最適化されたエージェントを割り当てることができます。まるで「別室で作業する助手」のような存在です。

SubAgentの仕組みと動作原理 – 独立コンテキストウィンドウの特性

SubAgentは独立したコンテキストウィンドウを持ち、メインエージェントと情報を共有せずにタスクを処理できます。これにより、1つのプロジェクト内で複数の専門的な作業を同時進行で進めることが可能です。

  • 独立した環境で作業することで、メインエージェントのコンテキストが汚染されません。
  • タスク完了後、SubAgentが結果のみをメインエージェントに返すため、情報の混在を防ぎます。
  • 機密情報や特定タスク専用の知識をSubAgentに限定できるため、セキュリティと効率性が向上します。
  • 使えるツールを限定できるので、安全性や高速化にも寄与します。
  • 軽量モデル(Haiku)を指定することで、高速・低コスト運用も可能です。

SubAgentを使うべき場面 – コンテキストを独立させたいケース

SubAgentは、タスクの内容が複雑でメインエージェントのコンテキストを分離したい場合に有効です。

  • 複数のコードレビューを同時に進行
  • データ解析とレポート作成を並列で実施
  • それぞれのタスクが独自の知識やツールを必要とする場合
  • メインコンテキストを維持したまま特定タスクだけ独立して処理

SubAgentの作り方

SubAgentは.claude/agents/ディレクトリにMarkdownファイルを作成して定義します。

項目内容例説明
namereviewerエージェントの識別名
descriptionコードレビュー専門AIいつ使うかの説明
toolsRead, Grep, Glob使用可能なツール
modelhaiku使用モデル(高速・低コスト)
場所スコープ優先度
--agents CLIフラグ現在のセッション最高
.claude/agents/現在のプロジェクト2位
~/.claude/agents/全プロジェクト3位

AIソリューションの導入をご検討ですか?

株式会社Awakでは、お客様の課題に合わせたAI導入支援・システム開発を行っています。まずはお気軽にご相談ください。

お問い合わせ

Hooksとは – イベントトリガーによる自動化ワークフロー

Hooksは「ファイル保存」や「プロンプト送信」など特定のイベントをトリガーとして、あらかじめ定義したタスクやコマンドを自動的に実行する仕組みです。これにより、ユーザーが手動で操作することなく、一連の処理を自動化できるようになります。

利用可能なイベント

イベントタイミング用途例
PreToolUseツール実行前実行をブロック、検証
PostToolUseツール実行後自動フォーマット
PermissionRequest権限要求時自動許可/拒否
UserPromptSubmitプロンプト送信時コンテキスト追加
Notification通知送信時カスタム通知
Stop応答完了時完了通知
SubagentStopサブエージェント完了時続行判定
SessionStartセッション開始時初期化処理
SessionEndセッション終了時クリーンアップ

Hooksの設定方法

~/.claude/settings.json または .claude/settings.json に記述します。

項目Hooksカスタムコマンド
実行タイミング自動手動
主な用途保存・更新トリガー任意のタイミングでの実行
メリット作業効率化柔軟な制御

Pluginとは – 機能のパッケージ化と配布

Pluginは、複数のSkills、SubAgent、コマンド、Hooksをひとまとめにパッケージ化し、チームで共有したり、マーケットプレイスで配布したりできる「拡張パック」です。

項目SkillsPlugin
範囲1つの能力複数機能をまとめる
共有方法手動コピー/plugin install
コマンドなし/プラグイン名:コマンド
配布困難マーケットプレイス対応

プラグインの構造

プラグインは以下のようなディレクトリ構造で構成されます。

  • .claude-plugin/plugin.json - マニフェスト(必須)
  • commands/ - スラッシュコマンド
  • agents/ - サブエージェント
  • skills/ - スキル
  • hooks/ - フック
  • .mcp.json - MCPサーバー設定
スコープ説明保存場所
user全プロジェクトで利用~/.claude/settings.json
projectリポジトリ全体で利用.claude/settings.json
localこのリポジトリのみ.claude/settings.local.json

MCPとは – 外部ツール・APIとの連携プロトコル

MCP(Model Context Protocol)は、Claude Codeを数百の外部ツールとデータソースに接続するためのオープンスタンダード通信プロトコルです。MCPサーバーを設定することで、Claude Codeにデータベース、GitHub、Slack、Sentryなどへのアクセスを与えることができます。

MCPでできること

MCPサーバーを接続すると、Claude Codeに以下のようなタスクを依頼できます:

  • 課題追跡システムからの実装:「JIRAのissue ENG-4521で説明されている機能を追加してください」
  • 監視データの分析:「Sentryをチェックして最近のエラーを確認してください」
  • データベースのクエリ:「PostgreSQLから過去1週間の売上データを取得してください」
  • デザイン統合:「Figmaのデザインに基づいてUIを更新してください」
  • 外部サービス連携:「Slackに進捗報告を投稿してください」

MCPの設定方法

MCPサーバーはリモートHTTPサーバーまたはローカルstdioサーバーとして追加できます。

スコープ説明保存場所
local現在のプロジェクトのみ~/.claude.json(プロジェクト配下)
projectチーム全体で共有.mcp.json
user全プロジェクトで利用~/.claude.json
機能SkillsMCP
主な用途知識共有・手順ガイド外部ツール・DB連携
実行方法会話コンテキスト内で自動適用API経由で外部実行
適用例コーディング規約、業務手順、APIドキュメントデータベース操作、外部APIコール

Skills vs SubAgent – 「迷ったときの判断基準」を徹底解説

Claude Codeで効率的な業務設計を行うためには、SubAgentとSkillsそれぞれの違いを正確に理解し、状況に応じて使い分けることが重要です。

機能コンテキスト利点主な用途
Skills共有会話の流れを活かせるコードレビュー、手順説明
SubAgent独立他タスクと干渉しない競合調査、専門分野分析
項目SkillsSubAgent
トークン消費抑えやすい多くなりやすい
コスト低コスト高コスト(長時間タスク向き)
最適な用途ルーチン、短時間タスク長時間・大規模処理

判断フローチェックリスト

  • タスクは他の作業と独立して進める必要があるか? → Yes: SubAgent
  • 会話コンテキストの共有が必要か? → Yes: Skills
  • 複数タスクの同時進行や並列処理が求められるか? → Yes: SubAgent
  • トークン消費やコストは制約条件となるか? → Yes: Skills
  • 処理結果の専門性や分離性が重要か? → Yes: SubAgent

5つの機能を組み合わせた実装ガイド – 最適なハイブリッド構成

Claude Codeは複数の機能を組み合わせて柔軟なワークフローを実現します。

機能主な役割ファイル構成
Claude.md全体指示・プロジェクト設定.claude/claude.md
Commandsカスタムコマンド記述.claude/commands/
Hooksイベントトリガー・自動化settings.json
Subagents専門タスクの独立AIユニット.claude/agents/
Skills再利用可能な知識・手順書.claude/skills/
MCP外部ツール・API連携.mcp.json

実装時の課題解決・応用パターン集

Skillsが自動認識されない場合の原因と対策

原因主な症状解決策
description不足Skillsが発動しない明確な条件文を記載
スキル名の曖昧さ別のSkillsと混同識別しやすい名前に修正
配置エラーSkillsが読み込まれない正しいディレクトリに配置

SubAgentのコンテキスト分離で情報が失われる場合

情報共有方法メリット
明示的な引数渡し必要データの確実な伝達
共有ディレクトリ活用複数SubAgent間での情報共有
中間ファイル出力状態保存や再利用が容易

よくある質問と回答

「Skillsって、SubAgentと何が違うんですか?」

項目SkillsSubAgent
コンテキストメインと共有独立
呼び出し自動明示/自動
主な用途手順や知識の注入専門タスクの分担

「複数のSkillsを同時に使えますか?」

Claude Codeでは複数のSkillsを同時に利用できます。AIが必要に応じて自動的に複数のSkillsを判断し、適用する仕組みです。

「SubAgentの権限制限はできますか?」

SubAgentは権限設定によるセキュリティ強化が可能です。

設定項目説明
read-only読み取り専用でファイル改変不可
tools許可するツール名を限定
model使用するモデルを指定(haiku等)

「Pluginを作成して他のユーザーに共有できますか?」

作成したPluginは他のユーザーと簡単に共有できます。

  • Marketplace登録: Claude公式のマーケットプレイスに登録して公開
  • Private Plugin: プライベート設定で限定的な共有
  • GitHub連携: GitHubリポジトリを利用して配布

「MCPとPluginの違いは何ですか?」

項目MCPPlugin
目的外部ツール・APIとの連携機能のパッケージ化と配布
設定.mcp.json.claude-plugin/
用途DB接続、GitHub、Slack連携などスキル・コマンド・エージェントの共有

まとめ – 5つの機能の使い分け

やりたいこと使う機能
特定タスクを隔離して実行したいSubAgent
Claudeに専門知識を教えたいSkills
編集後に自動フォーマットしたいHooks
機能をチームで共有したいPlugin
外部ツール・DBと連携したいMCP

これら5つの機能を適切に組み合わせることで、Claude Codeの真の力を引き出し、開発効率を最大化できます。

Claude Codeの導入・活用のご相談はお気軽に

株式会社Awakでは、AI開発ツールの導入支援から活用方法のコンサルティングまで、トータルでサポートしています。まずは無料相談からお気軽にどうぞ。

記事一覧へ戻る