Claude Codeで使う主要機能を整理:Skills・Hooks・Sub-agents・MCP・Pluginsをわかりやすく解説

※本記事は2026年5月時点の公式ドキュメントをもとに執筆しています。Claude Codeは頻繁にアップデートされるため、最新情報は公式ドキュメントでご確認ください。

Claude Code(クロードコード)を使い始めると、すぐに「同じ手順を毎回入力するのが面倒」「特定の処理を自動化したい」という場面に出くわします。そこで活躍するのがClaude Codeの拡張機能群です。

Claude Codeが提供する5つの拡張機能を理解すれば、Claude Codeは単なる対話AIから「自分専用の開発自動化環境」へと進化します。本記事では、2026年5月時点の公式仕様をもとにエンジニア初心者向けに図解つきで解説します。

この記事でわかること

  • スキル(Skills)の作り方・呼び出し方・保存場所
  • フック(Hooks)でできる自動化の仕組みと設定方法
  • サブエージェント・エージェントチームとの使い分け
  • MCP・プラグインの役割と2026年最新情報
  • 5つの機能を「いつ使うか」で整理した使い分け早見表
目次

Claude Codeの拡張機能とは?まず全体像を把握する

Claude Codeの拡張機能全体像:CLAUDE.md・スキル・フック・サブエージェント・MCP・プラグインの構造図
Claude Codeの拡張機能は6つの要素で構成される(2026年5月時点)

Claude Codeのコアエンジンには、ファイル操作・検索・コード実行・Web閲覧などのツールが最初から組み込まれています。しかしそれだけでは「毎回同じ指示を入力する手間」「外部サービスとの連携」「特定タイミングでの自動実行」といったニーズには対応できません。

そこで用意されているのが「拡張レイヤー」です。公式ドキュメントでは、拡張機能をAIの推論ループ(Agenticループ)の異なる部分に接続するものと定義しています。

機能何をするか読み込みタイミング
CLAUDE.mdプロジェクトの「常識」を記録毎セッション自動
スキル(Skills)再利用可能な手順書・参照資料呼び出し時のみ
フック(Hooks)イベント発生時に自動実行イベントトリガー
サブエージェント分離コンテキストで専門処理必要時にオンデマンド
MCP外部サービスへの接続セッション開始時
プラグイン上記をパッケージ化して配布インストール済み設定を継承

CLAUDE.mdと拡張機能の使い分け

CLAUDE.mdはプロジェクトの「常識」を書くファイルです。「テスト実行後にコミット」「npmではなくpnpmを使う」など、Claudeが毎回知っておくべきルールをここに書きます。

一方、スキルやフックは「特定の場面で起動する機能」です。公式は「CLAUDE.mdは200行以下に保ち、参照資料や手順書はスキルに切り出す」ことを推奨しています。

どの機能から始めるべきか

公式ドキュメントでは、以下の順番で機能を追加することを推奨しています。

  1. Claudeが同じミスを2回したら → CLAUDE.mdに追記
  2. 同じ手順を3回以上チャットに貼り付けたら → スキルを作る
  3. Claudeが見られないブラウザのデータを毎回コピーしているなら → MCPを接続
  4. 特定の処理を「必ず」実行させたいなら → フックを書く
  5. 同じ設定を複数リポジトリで使いたいなら → プラグイン化する

Claude Codeの拡張機能は「常時 → オンデマンド → 自動実行」の3層構造で理解すると整理しやすい。CLAUDE.mdが常時、スキルがオンデマンド、フックが自動実行を担う。


スキル(Skills)── 繰り返し作業を「手順書」として保存する

Claude Codeのスキル(Skills)の仕組み:SKILL.mdファイルの構造と呼び出し方法の図解
スキルはSKILL.mdファイルに手順を書くだけで/コマンドとして使えるようになる

スキルとは、Markdownファイル(SKILL.md)に記述した手順書や参照資料のことです。毎回チャットに同じ指示文を貼り付けていたなら、それはスキル化のタイミングです。

スキルを作ると /スキル名 というスラッシュコマンドで呼び出せます。Claudeが自動で判断して使うこともできます。公式ドキュメントでは、カスタムコマンドとスキルが統合されており、スキルが推奨の実装方法とされています(既存の .claude/commands/ も引き続き動作します)。

スキルの基本構造

スキルはディレクトリ単位で管理し、SKILL.md がエントリポイントです。

~/.claude/skills/
└── deploy/              ← ディレクトリ名が /deploy コマンドになる
    ├── SKILL.md         ← 必須(メインの手順書)
    ├── reference.md     ← 詳細資料(任意)
    └── scripts/
        └── check.sh    ← 実行スクリプト(任意)

SKILL.md はYAMLフロントマター+Markdown本文で構成されます。

---
description: 本番環境にデプロイする。デプロイや公開、リリースを依頼されたときに使う。
disable-model-invocation: true
allowed-tools: Bash(npm run build) Bash(git push *)
---

## デプロイ手順

1. テストを実行する
2. ビルドする(`npm run build`)
3. デプロイ先にプッシュする
4. デプロイ後の動作を確認する

スキルの保存場所と適用範囲

保存場所パス適用範囲
個人~/.claude/skills/スキル名/全プロジェクト共通
プロジェクト.claude/skills/スキル名/そのプロジェクトのみ
プラグインプラグイン/skills/スキル名/プラグイン有効時

同名スキルが複数レベルに存在する場合は「上位が優先」(エンタープライズ > 個人 > プロジェクト)されます。プラグインのスキルは プラグイン名:スキル名 の名前空間で管理されるため競合しません。

呼び出し方の制御:誰がスキルを起動するか

スキルの呼び出し方は2つのフロントマターで制御できます。

設定ユーザーが呼べるClaudeが自動起動適した用途
(デフォルト)参照資料・汎用手順
disable-model-invocation: trueデプロイ・コミット等の副作用あり操作
user-invocable: falseClaudeに知識として持たせたい情報

動的コンテキスト注入:スキル実行時にコマンドを走らせる

スキル内で !`コマンド` と書くと、Claudeに渡す前にそのコマンドを実行して結果を埋め込みます。

---
description: 未コミットの変更を要約し、リスクを指摘する
---

## 現在の変更内容

!`git diff HEAD`

上記の差分を2〜3行で要約し、リスクになりそうな箇所を指摘してください。

このスキルを呼び出すと、Claudeは実際のgit差分を受け取った上でレビューします。AIの推測ではなく、現在の状態に基づいた回答が得られます。

スキルは「毎回同じ指示を貼り付けている」を解消する仕組み。副作用のある操作(デプロイ・コミット)は disable-model-invocation: true でユーザー起動専用にしておくのが安全。


フック(Hooks)── ライフサイクルイベントで処理を確実に実行する

Claude Codeのフック(Hooks)のライフサイクルイベントを示す図:SessionStart・PreToolUse・PostToolUse・SessionEndの動作タイミング
フックはClaude Codeのライフサイクル上の特定タイミングで確実に実行される

フックは「特定のタイミングで、必ず特定の処理を走らせる」仕組みです。スキルはClaudeの判断に依存しますが、フックは決定論的に実行されます──AIが「忘れる」ことがありません。

フックが動くタイミング(ライフサイクルイベント)

イベント名動くタイミング代表的な用途
PreToolUseツール実行前危険なコマンドのブロック
PostToolUseツール実行後ファイル保存後の自動フォーマット
SessionStartセッション開始時初期化処理・ログ記録
SessionEndセッション終了時Slack通知・作業サマリー生成
UserPromptSubmitユーザー入力の送信時入力内容の前処理
InstructionsLoadedCLAUDE.mdが読み込まれた時カスタム初期化処理(2026年追加)

フックの設定方法

フックは settings.jsonhooks ブロックに記述します。以下はファイル編集後にESLintを自動実行する例です。

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Edit",
      "hooks": [{
        "type": "command",
        "command": "npx eslint $CLAUDE_FILE_PATHS --fix"
      }]
    }]
  }
}

フックの2026年主要アップデート

2026年のフック強化ポイント

  • 実行タイムアウトが大幅拡張(公式ドキュメントで最新の制限値をご確認ください)
  • HTTP Hooks追加:シェルの代わりにURLへJSONをPOSTできる
  • 条件付きフック(if構文):条件を満たす場合のみ実行可能に
  • additionalContext対応:フック結果をClaudeのコンテキストに追加できる
  • InstructionsLoadedイベント追加:CLAUDE.md読み込み後に処理を実行

フックとスキルの違いを整理する

「`.env`ファイルは編集しない」という指示をCLAUDE.mdやスキルに書いても、それはClaudeへの「お願い」にすぎません。しかし PreToolUse フックで .env の編集操作をブロックすれば、それは確実な「強制」になります。

ルールを確実に守らせたいときはフック、Claudeに判断を委ねてよい手順はスキル──という使い分けが基本です。

フックはAIの判断に依存しない「確実な自動実行」の仕組み。「絶対に実行させたいルール」をフックに、「参照してほしい手順書」をスキルに分けて管理するのが基本パターン。


サブエージェント(Subagents)── コンテキストを分離した独立ワーカー

サブエージェントとは、メインの会話から独立したコンテキストを持つ専門ワーカーです。大量のファイルを読み込む調査タスクや、メインの会話を汚したくない処理の分離に使います。

サブエージェントの特徴と使いどころ

サブエージェントは次の3つの特徴を持ちます。

  • メインの会話履歴を引き継がない(コンテキスト分離)
  • 処理の要約だけがメインに返ってくる(中間処理がコンテキストを圧迫しない)
  • スキルを事前ロードして特定の専門家として動作できる

典型的な使いどころは「数十ファイルを読む調査タスク」「セキュリティ・パフォーマンス・テストを並列でレビューする」など、メインの会話を肥大化させたくない処理です。

# サブエージェント定義例(.claude/agents/code-reviewer.md)
---
name: code-reviewer
description: セキュリティとパフォーマンスの観点でコードレビューを行う専門エージェント
skills:
  - security-checklist
  - performance-guidelines
---

提供されたコードをセキュリティとパフォーマンスの2軸でレビューし、
問題点と改善案をリストアップしてください。

エージェントチーム(Agent Teams)── 2026年2月リリースの最新機能

Agent Teamsは複数の独立したClaude Codeセッションを協調させる実験的機能で、2026年初頭にリサーチプレビューが公開されました(詳細は公式ドキュメントをご参照ください)。

Agent Teamsは現在、実験的機能のためデフォルト無効です。トークンコストがサブエージェントより高くなります(各エージェントが独立したClaude Codeインスタンスのため)。本番環境での利用は慎重に判断してください。

比較軸サブエージェントエージェントチーム
独立性メインセッションに従属完全に独立したセッション
通信結果のみメインに返すエージェント同士で直接メッセージ交換
調整方法メインエージェントが管理共有タスクリストで自律調整
トークンコスト低い(要約のみ返す)高い(各エージェントが独立インスタンス)
適した用途特定タスクの分離・並列調査競合仮説の検証・並列コードレビュー

サブエージェントは「メインの会話を汚さずに専門処理を分担するワーカー」。エージェントチームはその発展形で、エージェント同士が議論し合える。コスト重視ならサブエージェント、複雑な並列作業ならエージェントチームを選ぶ。


MCP(Model Context Protocol)── 外部サービスを標準プロトコルでつなぐ

MCPは「Claude Codeが外部ツール・データにアクセスするための標準プロトコル」です。データベースへのクエリ、Slackへの投稿、ブラウザ操作など、Claude Code単独ではできないことをMCPサーバー経由で実現します。

MCPとスキルは補完関係にある

MCPとスキルは役割が異なり、組み合わせることで真価を発揮します。

  • MCP:外部システムへの「接続能力」を与える
  • スキル:その接続能力を使う「方法・知識」を教える

例えば、MCPでデータベースに接続しつつ、スキルでそのデータベースのスキーマや典型クエリパターンをClaudeに覚えさせる、という組み合わせが効果的です。

MCPサーバーの注意点

MCPサーバーはセッション開始時に接続されますが、セッション中に無言で切断されることがあります。接続が切れるとそのサーバーのツールが使えなくなります。/mcp コマンドで接続状態とトークンコストを確認できます。

MCPの2026年最新動向

主な変更領域アップデート内容
スキル統合カスタムコマンドとスキルが統合(.claude/skills/が推奨に)
HTTP Hooksシェルの代わりにURLへJSONをPOSTするHTTP Hooksが追加
OAuth認証MCP OAuth認証が安定化(公式ドキュメントで確認済み)
IDE統合VS Code拡張でのMCP管理が可能に

※詳細な変更履歴と正確なリリース日は公式ドキュメントでご確認ください。

MCPは「Claude Codeの外の世界とつなぐ標準プロトコル」。スキルと組み合わせることで、外部サービスの使い方をClaudeに教えつつ、実際の操作もClaude Codeから完結させられる。


プラグイン(Plugins)── 拡張機能セットをまとめて配布する

プラグインは「スキル・フック・サブエージェント・MCPサーバーを1つのフォルダにまとめた配布パッケージ」です。チームで同じ設定を使いたいとき、複数のリポジトリに同じ拡張機能を導入したいときに活躍します。

プラグインの構造

my-team-plugin/
├── PLUGIN.md           ← プラグインの説明
├── skills/
│   ├── deploy/
│   │   └── SKILL.md
│   └── code-review/
│       └── SKILL.md
├── agents/
│   └── specialist.md
└── mcp/
    └── database.json

プラグインのスキルは プラグイン名:スキル名(例:/my-team-plugin:deploy)という名前空間で管理されます。複数プラグインが共存しても名前が衝突しません。

公式マーケットプレイスの現状(2026年5月時点)

公式マーケットプレイスには多数のプラグインが登録されており、Anthropicが公式に提供するプラグインも含まれます。最新の登録数や詳細は公式のマーケットプレイスページでご確認ください。自作プラグインを公開したり、チーム内で配布したりすることも可能です。

プラグインは「チームやプロジェクトをまたいで再利用したい設定のまとまり」に使います。公式マーケットプレイスから既存のプラグインを活用するだけでも、初期セットアップの手間が大幅に減ります。


各機能の使い分けを整理する

Claude Codeの機能使い分けガイド:スキル・フック・サブエージェント・MCP・プラグイン・CLAUDE.mdの選び方
「どの機能を使えばいいか迷ったとき」に参照する使い分けガイド

5つの機能をどう使い分けるか、実務的な観点でまとめます。「どれを使えばいいかわからない」と感じたら、この表を参照してください。

こんな場面使う機能理由
同じ手順を何度もチャットに貼り付けているスキル手順書を一度書けば /コマンドで呼び出せる
Claudeが処理後に何かし忘れることがあるフック決定論的に「必ず」実行させられる
大量ファイルの調査でコンテキストが枯渇するサブエージェントメインと分離したコンテキストで処理できる
データベース・Slack等の外部ツールが必要MCP標準プロトコルで外部サービスに接続できる
チームで同じ設定を共有したいプラグインスキル・フック・MCPをまとめて配布できる
Claudeに常に覚えておいてほしいルールがあるCLAUDE.md毎セッション自動で読み込まれる

実践的な整備の順番

公式ドキュメントが推奨する「機能を追加する順番」を整理します。最初から全機能を揃える必要はありません。

  1. CLAUDE.md:プロジェクト固有のルールをまず書く
  2. スキル:繰り返し使う手順書を切り出す
  3. フック:「必ず実行させたいこと」を自動化する
  4. MCP:外部サービスとの連携が必要になったら追加
  5. プラグイン:別のリポジトリにも同じ設定を使いたくなったら

「全部一度に設定する」必要はありません。CLAUDE.md → スキル → フックの順で整備し、必要に応じてMCPとプラグインを追加していくのが実践的なアプローチです。


まとめ

Claude Codeの拡張機能5つを一言で整理します。

  • スキル:「毎回同じ指示を入力している」を解消する手順書 → /コマンド名 で呼び出す
  • フック:「Claudeが忘れてもいい」ではなく「必ず実行する」を保証する仕組み
  • サブエージェント:メインの会話を汚さず専門処理を分担するワーカー
  • MCP:データベース・Slack・ブラウザなど外部の世界とつなぐ標準プロトコル
  • プラグイン:上記をパッケージ化してチームで共有する配布単位

2026年現在、これらの機能は急速に進化中です。Agent Teamsや条件付きフック、HTTP Hooksなど新機能が続々リリースされています。最新仕様は公式ドキュメント(code.claude.com/docs)で定期的に確認することをおすすめします。

Claude Codeの公式ドキュメントでは、各機能の詳細な設定方法・サンプルコードが充実しています。この記事で気になった機能から読み始めてみてください。


よくある質問(FAQ)

Q. スキルとCLAUDE.mdはどちらに書けばよいですか?

A. 「Claudeが毎回知っておくべきルール(コーディング規約・ビルドコマンドなど)」はCLAUDE.mdに書きます。参照資料や特定の場面だけで使う手順書はスキルに書くのが効率的です。CLAUDE.mdは200行以下に保つことを公式が推奨しており、それ以上になった場合はスキルへの切り出しを検討してください。

Q. フックとスキルは何が違いますか?

A. フックは特定のイベントで「必ず」実行されます(決定論的)。スキルはClaudeが判断して適用するため、AIの解釈によって結果が変わることがあります。「絶対に実行させたいルール(ESLint・危険コマンドのブロックなど)」はフックで、「参照してほしい手順書」はスキルで管理しましょう。

Q. サブエージェントとエージェントチームの違いは?

A. サブエージェントはメインの会話に従属し、結果の要約だけを返します。エージェントチーム(2026年2月リリース)は複数の独立セッションで、エージェント同士が直接メッセージを交わせます。エージェントチームは現在実験的機能でデフォルト無効のため、まずはサブエージェントから使い始めることをおすすめします。

Q. MCPサーバーの接続が途切れたらどうすればよいですか?

A. MCPサーバーはセッション中に無言で切断されることがあります。接続が切れるとそのサーバーのツールが使えなくなります。/mcp コマンドで接続状態とトークンコストを確認し、問題があれば再接続してください。使っていないMCPサーバーは切断しておくことで、コンテキストの節約にもなります。

Q. プラグインはどこで入手できますか?

A. 公式マーケットプレイスに多数のプラグインが登録されており、Anthropicが公式に提供するものも含まれます。詳細は公式マーケットプレイスページをご確認ください。また、自作プラグインをチーム内で配布したり、GitHubで公開したりすることも可能です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次