コードを書いてもらうだけでは、Claude Codeの半分も使えていない。

Claude Codeはターミナルで動くAIコーディングアシスタントだが、その本当の価値は「繰り返し作業の自動化」と「外部ツールとの統合」にある。この記事では、Claude Codeを強力にする4つの拡張機能の使い方を解説する。

この記事でわかること:
– サブエージェントで複雑なタスクをコンテキストから分離する方法
– MCPサーバーで外部ツール(Jira・Sentry・DB)をClaude Codeに接続する手順
– スキルで繰り返し手順を /コマンド 化する仕組み
– フックでイベント駆動の自動化を組み込む方法

コーディングツールとしてだけ使うのはもったいない

「コードを書いて」「バグを直して」という使い方は、Claude Codeの入口に過ぎない。毎回同じ手順をチャットに貼り付けていないか。Jiraのチケットを手でコピーしてからコードを書いていないか。コードが変わるたびにテストを手動で走らせていないか。

そういった繰り返し作業を自動化するために、Claude Codeはエージェント・MCP・スキル・フックという4つの拡張レイヤーを持っている。それぞれの役割と使い方を順に見ていく。

1. サブエージェント — コンテキストを汚染しない専門AI

サブエージェントは、特定のタスクを独立したコンテキストウィンドウで処理する専門AIだ。大量のログ・検索結果・ファイル内容をメイン会話に流し込まず、結果だけを返してくれる。

Claude Codeには3つのビルトインサブエージェントが用意されている。

Explore はコードベースの検索・解析専用の読み取り専用エージェントだ。モデルにはHaikuが使われており、低コストで動く。ファイルの発見やコード検索を担当し、Write・Editツールへのアクセスは制限されている。Claude Codeが「コードの構造を理解してから変更したい」と判断したとき、自動的にExploreへ委譲する。

Plan はプランモード専用のリサーチエージェントだ。実装計画を立てる前にコードベースを調査し、必要な文脈を収集する。こちらも読み取り専用で、計画の精度を上げるための下調べを担当する。

General-purpose は複雑な多段階タスク向けで、検索と実装の両方をこなせる汎用エージェントだ。メイン会話を溢れさせたくない大きな作業を任せるときに使う。

カスタムサブエージェントも作れる。.claude/agents/以下にMarkdownファイルを置き、YAMLフロントマターで対象モデル・ツール制限・説明を設定する。descriptionが明確であるほど、Claude Codeが適切なタイミングで自動委譲してくれる。コストを抑えたい処理はHaikuを指定し、精度が必要な処理はそのままメインモデルを引き継ぐといった使い分けが可能だ。

2. MCPサーバー — 外部ツールを直接扱う

MCP(Model Context Protocol)はAIとツールをつなぐオープン規格で、MCPサーバーを接続するとClaude CodeがJiraのチケット・Sentryのエラー・PostgreSQLのデータを直接読み書きできるようになる。「ツールからデータをコピーしてチャットに貼る」という手間がなくなる。

接続方法はシンプルで、コマンド1行で追加できる。

# HTTPサーバーを追加(推奨)
claude mcp add --transport http notion https://mcp.notion.com/mcp

# 認証ヘッダーを付けて追加
claude mcp add --transport http sentry https://api.sentry.io/mcp \
  --header "Authorization: Bearer your-token"

サーバーを接続した後にできる操作の例を挙げる。

  • 「JiraのENG-4521に書かれた機能を実装してGitHubにPRを作って」
  • 「SentryとStatsigでこの機能のエラー率と使用状況を確認して」
  • 「PostgreSQLからこの機能を使った10人のユーザーのメールアドレスを取得して」
  • 「Figmaにアップされた新しいメールテンプレートのデザインを反映して」

MCPサーバーはスコープ別に管理できる。ローカルスコープ(現在のプロジェクトのみ)・プロジェクトスコープ(.mcp.jsonでチームと共有)・ユーザースコープ(全プロジェクトで使用)の3段階があり、チームで使うサーバーは.mcp.jsonにコミットすることで設定を共有できる。

GitHubには数百種類のMCPサーバーが公開されており、Notion・Asana・Sentry・PostgreSQL・Figma・Slackなど主要ツールへの接続が用意されている。Claude Code自身をMCPサーバーとして別のツールに接続することもできる。

3. スキル — 繰り返し手順を /コマンド

スキルは「毎回チャットに貼り付けている手順書」をコマンド化する仕組みだ。SKILL.mdファイルを作成するだけで、/スキル名で呼び出せるようになる。

作り方は簡単で、ディレクトリを作ってSKILL.mdを置くだけでいい。

~/.claude/skills/code-review/SKILL.md
---
name: code-review
description: PRのコードレビューをセキュリティ・パフォーマンス・可読性の観点で実施する
---

レビュー時は以下の順で確認する:
1. セキュリティ:入力検証・認証・機密情報の扱い
2. パフォーマンス:N+1クエリ・不要なループ・メモリリーク
3. 可読性:命名・コメント・関数の長さ

問題を発見したら行番号と修正案を明示する。

スキルには2種類の起動方法がある。/code-reviewと直接呼び出すか、descriptionに合う質問をすると自動でロードされる。

CLAUDE.mdに手順を書いている場合との違いは、スキルは使用時にしかコンテキストを消費しない点だ。長い手順書をCLAUDE.mdに書くとすべてのセッションでコンテキストを圧迫するが、スキルは呼ばれたときだけ読み込まれる。

配置場所でスコープが変わる。~/.claude/skills/に置けば全プロジェクトで使え、.claude/skills/に置けばそのプロジェクト限定になる。チーム共有はプロジェクトスコープ、個人の定型作業はユーザースコープという使い分けが基本だ。

Claude Code公式の組み込みスキルとして /simplify(コード簡略化)・/batch(一括処理)・/debug(デバッグ)・/loop(反復実行)・/claude-api(API呼び出し)が最初から使える。

4. フック — イベント駆動で作業を自動化

フックは特定のイベントが発生したときに自動でコマンドやスクリプトを実行する仕組みだ。コードが変更されたとき・ツールが呼ばれたとき・セッションが終了したときなど、20種類以上のイベントに反応できる。

主なフックイベントを以下に示す。

イベント タイミング
PreToolUse ツール実行前(承認・拒否・変更が可能)
PostToolUse ツール実行後
FileChanged ファイル変更後
Stop Claudeが返答を返した後
SessionEnd セッション終了時

実用例として「ファイルが変わるたびにテストを自動実行」「PreToolUseで危険なコマンドをブロック」「Stopイベントで結果をSlackに通知」のような自動化を組み込める。

フックの形式はコマンド・HTTP・MCPツール・プロンプトベースの4種類から選べる。プロンプトベースのフックでは、Claudeが条件を判断して動作を決定するため、「本番環境への変更が含まれていたら確認を求める」といった柔軟なルールを自然言語で書けるのが特徴だ。

フック設定はsettings.jsonhooksセクションに記述し、スキルやエージェントのファイル内にも書ける。プロジェクトレベルで共有することで、チーム全員に同じ自動化ルールを適用できる。

プラグイン:設定をチームや外部に配布する

エージェント・スキル・フック・MCPサーバーをひとまとめにして配布できる形式が「プラグイン」だ。.claude-plugin/plugin.jsonをルートに置いたディレクトリ構造で作成する。

スタンドアロン設定(.claude/以下)との違いは名前空間にある。プラグインのスキルは/plugin-name:skill-nameという形式で呼び出すため、他のプラグインや個人設定と名前が衝突しない。チームで使う場合はプラグインにまとめ、公式マーケットプレイスへ登録することで外部への配布ルートも整備されている。

個人の作業効率化は.claude/のスタンドアロン設定から始め、チームで共有したくなったらプラグインに変換するという流れが推奨されている。

4機能の使い分けまとめ

機能 使いどころ
サブエージェント 大量の情報処理をメイン会話から分離したいとき
MCPサーバー 外部ツールのデータを直接Claudeに扱わせたいとき
スキル 決まった手順を何度も使いたいとき
フック 特定のイベントに自動で反応させたいとき

4つの機能を組み合わせることで、「Jiraのチケットを読んで実装し、テストを走らせ、Slackに結果を投稿する」という一連のフローをClaude Codeに任せられるようになる。まず自分の作業で繰り返している部分を洗い出し、スキルかフックで自動化できないか試してみるところから始めると導入しやすい。