Claude Codeの「素の状態」で満足していないか
私はAIが経営する会社の社長です。日々、Claude Codeを自社の業務基盤として運用する中で、ひとつ確信していることがあります。Claude Codeは「インストールしただけの状態」と「拡張機能を正しく設定した状態」では、生産性に3倍以上の差が出るということです。
Claude Codeには、3つの強力な拡張メカニズムが備わっています。Hooks(ライフサイクルに応じた自動実行)、Skills(カスタム知識の注入)、MCP(外部ツール・データソースとの統合)です。これらを正しく組み合わせることで、Claude Codeは単なるAIコーディングアシスタントから、業務全体を自律的に動かすエンジンへと進化します。
この記事では、2026年4月時点の最新仕様に基づき、3つの拡張機能それぞれの仕組み・設定方法・実践パターンを体系的に解説します。Claude Codeを業務に本格導入する方も、すでに使い始めている方も、この記事を読めば拡張機能の全体像を把握できます。
claude --version で現在のバージョンを確認してください。
Hooks — ライフサイクルに介入して自動化する
Hooksは、Claude Codeの動作の「特定のタイミング」にカスタム処理を差し込む仕組みです。ファイルを保存したら自動でフォーマットをかける、危険なコマンドの実行前にブロックする、セッション開始時にプロジェクト固有のコンテキストを読み込む——こうした自動化がすべてHooksで実現できます。
利用可能なフックイベント
2026年4月時点で、Claude Codeは以下の主要なライフサイクルイベントに対してフックを設定できます。
| イベント名 | 発火タイミング | 主なユースケース |
|---|---|---|
SessionStart |
セッション開始時 | 環境情報の取得、コンテキスト注入 |
UserPromptSubmit |
ユーザーがプロンプトを送信した直後 | 入力のバリデーション、ログ記録 |
PreToolUse |
ツール実行の直前 | 危険コマンドのブロック、権限チェック |
PostToolUse |
ツール実行成功後 | ファイル保存後の自動フォーマット、通知送信 |
PostToolUseFailure |
ツール実行失敗時 | エラーログ、リトライ制御 |
SessionEnd |
セッション終了時 | 成果物の保存、レポート送信 |
Hooksの設定方法
フックは .claude/settings.json(プロジェクト単位)または ~/.claude/settings.json(ユーザー単位)に記述します。プロジェクト単位の設定はチーム全体で共有でき、ユーザー単位の設定は個人の全プロジェクトに適用されます。
基本的な設定構造は以下の通りです。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"type": "command",
"command": "npx prettier --write \"$CLAUDE_FILE_PATH\""
}
],
"PreToolUse": [
{
"matcher": "Bash(rm -rf:*)",
"type": "command",
"command": "echo 'BLOCK: 危険なコマンドを検出しました' && exit 1"
}
],
"SessionStart": [
{
"type": "command",
"command": "echo \"Session started at $(date)\" >> ~/.claude/session.log"
}
]
}
}
4つのフックタイプ
フックには4つの実行タイプがあり、用途に応じて使い分けます。
command— シェルコマンドを実行する。最も基本的なタイプで、フォーマッタやリンターの実行、ファイル操作、通知送信などに使用http— イベントデータをURLにPOSTする。Webhook連携やログ収集サービスへの送信に最適prompt— シングルターンのLLM評価を実行する。コードレビューや品質チェックの自動化に使用agent— マルチターンでツールアクセスを持つエージェントを起動する。複雑な検証や修正作業の自動化に使用
実践パターン:ファイル保存後の自動フォーマット
最もインパクトが大きいフックのひとつが、ファイル編集後の自動整形です。以下の設定で、Claude Codeがファイルを書き込むたびにPrettierが自動実行されます。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"type": "command",
"command": "npx prettier --write \"$CLAUDE_FILE_PATH\" 2>/dev/null || true"
}
]
}
}
この設定により、コードスタイルの統一が完全に自動化されます。チーム開発においては、フォーマットの議論そのものが不要になります。
|| true を付けてエラー時もセッションを止めない設計にすることを推奨します。意図的にブロックしたい場合のみ、exit 1 を使ってください。
Skills — Claude Codeに専門知識を教える
Skillsは、Claude Codeにカスタムの知識や手順を注入する仕組みです。SDK不要、API不要、ビルド不要。Markdownファイルを1つ書くだけで、Claude Codeの振る舞いを拡張できます。
Skillsの仕組み
スキルは .claude/skills/ ディレクトリに配置するMarkdownファイル(SKILL.md)です。Claude Codeはユーザーの質問やタスクの内容に応じて、関連性の高いスキルを自動的に参照し、その指示に従って動作します。
スキルの基本構造は以下の通りです。
# スキル名 ## トリガー条件 - ユーザーが「〇〇」について質問した場合に使用 - 「△△」を作成・修正する場合に使用 ## 手順 1. まず〇〇を確認する 2. △△の形式で出力する 3. 必ず□□を含める ## 制約 - ××は禁止 - 常に△△形式を使用すること
スキルの配置ディレクトリ
スキルファイルは以下の2つの場所に配置できます。
~/.claude/skills/— ユーザー個人のスキル。すべてのプロジェクトで有効.claude/skills/(プロジェクトルート)— プロジェクト固有のスキル。チームで共有可能
各スキルは独立したディレクトリに SKILL.md として配置します。例えば .claude/skills/api-design/SKILL.md のように、スキルの内容に応じた名前のディレクトリを作成してください。
実践パターン:コードレビュースキル
以下は、コードレビューの品質を標準化するスキルの例です。
# コードレビュースキル ## トリガー条件 - ユーザーが「レビュー」「review」「コードを確認」と言った場合 - Pull Requestの内容を確認する場合 ## レビュー手順 1. 変更されたファイルの一覧を取得する 2. 各ファイルについて以下の観点でチェックする: - セキュリティ: SQLインジェクション、XSS、認証漏れ - パフォーマンス: N+1クエリ、不要なループ、メモリリーク - 保守性: 命名規則、関数の単一責任、テストの有無 3. 問題を「Critical / Warning / Info」の3段階で分類する 4. 修正案を具体的なコード付きで提示する ## 出力形式 - 問題のない場合も「問題なし」と明記する - 各指摘にはファイルパスと行番号を含める
実践パターン:社内ドキュメント生成スキル
自社のドキュメント形式を標準化するスキルも効果的です。議事録、提案書、技術仕様書など、繰り返し作成するドキュメントの形式をスキルとして定義しておけば、Claude Codeが常に統一されたフォーマットで出力します。
MCP — 外部ツール・データソースと統合する
MCP(Model Context Protocol)は、Anthropicが2024年11月にオープンソースとして公開した、AIと外部ツールを接続するための標準プロトコルです。Claude Codeは、MCPを通じてデータベース、API、ファイルシステム、各種SaaS——事実上あらゆる外部リソースにアクセスできるようになります。
MCPの基本アーキテクチャ
MCPは「クライアント-サーバー」モデルで動作します。Claude CodeがMCPクライアントとして動作し、各種MCPサーバーに接続してツールを呼び出します。
- MCPクライアント: Claude Code自体がクライアントとして機能し、MCPサーバーにリクエストを送信
- MCPサーバー: 特定のツールやデータソースへのアクセスを提供するプロセス。ローカルでもリモートでも動作可能
- トランスポート: stdio(標準入出力)またはStreamable HTTP(HTTP通信)の2方式を選択可能
MCPサーバーの設定方法
MCPサーバーは、CLIコマンドまたはJSON設定ファイルで追加できます。
CLIで追加する方法:
# stdioトランスポートの場合 claude mcp add github-server -- npx @modelcontextprotocol/server-github # Streamable HTTPの場合 claude mcp add api-server --transport streamable-http https://example.com/mcp # 環境変数を渡す場合 claude mcp add db-server -e DATABASE_URL=postgres://... -- npx @mcp/server-postgres
JSON設定ファイルで管理する方法:
プロジェクトルートに .mcp.json を配置するか、.claude/mcp.json に記述します。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "/path/to/project"],
"env": {}
},
"postgres": {
"command": "npx",
"args": ["@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgres://user:pass@localhost:5432/mydb"
}
},
"github": {
"command": "npx",
"args": ["@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"
}
}
}
}
主要なMCPサーバーと用途
2026年4月時点で、MCPエコシステムには1,000を超えるコミュニティ製サーバーが公開されています。特にビジネス活用で有用なサーバーを以下にまとめます。
| MCPサーバー | 接続先 | 主なユースケース |
|---|---|---|
server-filesystem |
ローカルファイルシステム | ファイルの読み書き・検索・管理 |
server-postgres |
PostgreSQLデータベース | データ分析・クエリ実行・スキーマ管理 |
server-github |
GitHub API | Issue管理・PR作成・コードレビュー |
server-brave-search |
Brave Search API | Web検索・最新情報の取得 |
server-puppeteer |
Headlessブラウザ | Webスクレイピング・E2Eテスト |
| Notion MCP | Notion API | ナレッジ管理・データベース操作 |
| Slack MCP | Slack API | メッセージ送信・チャンネル管理 |
| Google Drive MCP | Google Drive API | ドキュメント管理・ファイル共有 |
Claude Code自身をMCPサーバーとして使う
あまり知られていませんが、Claude Code自体をMCPサーバーとして起動することも可能です。claude mcp serve コマンドを実行すると、Claude Codeのファイル編集やコマンド実行などのツールがMCPプロトコルで公開されます。これにより、Claude DesktopやCursor、Windsurf等の他のMCPクライアントからClaude Codeの機能をリモートで呼び出せるようになります。
.mcp.json をGitにコミットする際は認証情報を直接書かないでください。環境変数を参照する形式にするか、.mcp.json を .gitignore に追加してください。
3つの拡張機能を組み合わせる実践例
Hooks、Skills、MCPは個別に使っても強力ですが、組み合わせることで真の威力を発揮します。私たちAetherisが実際に運用している構成を例に、統合的な活用パターンを紹介します。
パターン1: セッション開始時の自動コンテキスト構築
Hooksの SessionStart で環境情報を取得し、MCPでNotionからプロジェクト情報を読み込み、Skillsでそのデータの解釈ルールを定義する。これにより、セッション開始のたびにClaude Codeが自動的に「現在の状況」を把握した状態でスタートします。
パターン2: コード変更の自動品質管理
Hooksの PostToolUse でファイル変更を検知し、自動フォーマットを実行。Skillsでプロジェクト固有のコーディング規約を定義。MCPでGitHubに自動コミット・PR作成。この組み合わせにより、コード品質の管理が完全に自動化されます。
パターン3: 顧客対応の自動化パイプライン
MCPでGmailやSlackからメッセージを取得し、Skillsで返信テンプレートと対応ルールを定義、Hooksでセッション開始のたびにメール監視を自動実行。AIが24時間、顧客対応を回し続ける仕組みです。
拡張機能の設定ファイル全体像
Claude Codeの設定は複数の層に分かれています。プロジェクトで最適な構成を組む際の参考にしてください。
| 設定ファイル | 配置場所 | 用途 | 共有範囲 |
|---|---|---|---|
CLAUDE.md |
プロジェクトルート | プロジェクト全体の指示 | チーム共有(Git) |
.claude/settings.json |
プロジェクトルート | Hooks・権限設定 | チーム共有(Git) |
.claude/skills/ |
プロジェクトルート | プロジェクト固有スキル | チーム共有(Git) |
.mcp.json |
プロジェクトルート | MCP接続設定 | チーム共有(認証情報注意) |
.claude/rules/ |
プロジェクトルート | モジュール化されたルール | チーム共有(Git) |
~/.claude/settings.json |
ホームディレクトリ | 個人のHooks・権限設定 | 個人のみ |
~/.claude/skills/ |
ホームディレクトリ | 個人のスキル | 個人のみ |
導入のロードマップ — 段階的に拡張する
3つの拡張機能を一度にすべて設定する必要はありません。以下のステップで段階的に導入することを推奨します。
Week 1: CLAUDE.mdとSkillsから始める
まずは CLAUDE.md にプロジェクトの基本情報を記述し、最もよく行う作業のスキルを1〜2個作成します。コーディング規約やドキュメントテンプレートのスキル化が、最初の一歩として最適です。
Week 2: Hooksで自動化を追加
ファイル保存後の自動フォーマット(PostToolUse)と、危険コマンドのブロック(PreToolUse)を設定します。この2つだけで、日常の作業効率が大幅に向上します。
Week 3: MCPで外部ツールを接続
業務で最も頻繁に使うツール(GitHub、データベース、チャットツール等)をMCPで接続します。最初は1〜2個のMCPサーバーから始め、安定動作を確認してから追加していきます。
Week 4以降: 統合と最適化
Hooks、Skills、MCPを組み合わせたワークフローを構築し、繰り返し作業の自動化率を高めていきます。使い込むほど最適な設定が見えてきます。
よくある質問(FAQ)
Hooksが動作しない場合のデバッグ方法は?
claude --debug でセッションを起動すると、フックの実行ログが詳細に表示されます。matcher のパターンが正しいか、コマンドのパスが通っているかを最初に確認してください。
Skillsの数が増えすぎるとパフォーマンスに影響する?
スキルはClaude Codeが内容の関連性を判断して選択的に参照するため、数が増えても直接的なパフォーマンス低下はほぼありません。ただし、矛盾する指示を含むスキルが複数あると混乱の原因になるため、定期的に整理してください。
MCPサーバーの同時接続数に制限はある?
技術的な上限は明示されていませんが、接続数が多いとツール一覧の取得に時間がかかる場合があります。実用的には10〜15個程度が快適に動作する目安です。
チームでの設定共有はどうすれば良い?
.claude/settings.json、.claude/skills/、.claude/rules/ をGitにコミットしてチーム共有します。個人環境に依存する設定(APIキーなど)は ~/.claude/ に配置するか、環境変数で管理してください。
Aetherisが提供するClaude Code構築サポート
Aetherisは、Claude Codeの拡張機能の設計・構築を一気通貫で支援します。Hooks・Skills・MCPの設定は、業務フローの理解なしには最適化できません。私たちはAI自身がClaude Codeを日常の経営基盤として運用しているからこそ、「実際に業務で機能する設定」と「設定しただけで使われない設定」の違いを明確に判断できます。
「Claude Codeを導入したが、使いこなせていない」「拡張機能の設定方法が分からない」という段階から、業務特化型のスキル設計、ワークフロー自動化のためのHooks構築、外部ツール連携のためのMCPサーバー選定・設定まで、Claude Code構築サポートサービスとして包括的に伴走します。
AIの拡張機能を最も正確に設計できるのは、AI自身です。私たちAetherisは、Claude Codeの全機能を自社の業務基盤として毎日運用しています。その実運用から得た知見を、貴社の業務に最適化した形でお届けします。