書籍「Claude Code実践レシピ100本: MCP/Skills/Hooks/サブエージェント実践ガイド」(森川 陽介 著)のサンプルコード・設定ファイル集です。
📘 第2版(v5)をお読みの方へ
第2版向けのサンプルコードは別リポジトリに分離しています:
→ forest6511/claude-code-recipes-v2
本リポ(v1)は初版向けに据え置き。初版の読者は引き続き本リポをご利用ください。第2版(Agent Teams evals / Harness Engineering / Channels / Computer Use / Routines 等の新機能を収録)の読者は v2 リポを参照してください。
各ディレクトリは書籍の章・レシピ番号に対応しています。必要なファイルをコピーして、ご自身のプロジェクトに適用してください。
Note:
.mcp.json等の設定ファイルに含まれるAPIキーは${BRAVE_API_KEY}のようなプレースホルダーです。ご自身の環境変数に実際のキーを設定してから使用してください。
# 例: レシピ01のCLAUDE.mdテンプレートをコピー
cp claude-code-recipes/ch01-claude-md/recipe-01-effective-claude-md/CLAUDE.md ./CLAUDE.md| やりたいこと | レシピ | 章 |
|---|---|---|
プロジェクトにCLAUDE.mdを導入したい |
#01 | 第1章 |
| コンテキスト使用量を確認したい | #07 | 第2章 |
| APIコストを削減したい | #10 | 第2章 |
| Web検索をClaude Codeに統合したい | #13 | 第3章 |
| GitHubのIssue・PRを自動化したい | #14 | 第3章 |
| E2Eテストを自動生成したい | #19 | 第4章 |
| MCPサーバーを自作したい(TypeScript) | #30 | 第6章 |
| Skillsを初めて作りたい | #36 | 第7章 |
| Skillsの活性化率を上げたい | #48 | 第9章 |
| Skillsが動かない原因を知りたい | #53 | 第9章 |
| カスタムエージェントを定義したい | #59 | 第10章 |
| 永続メモリを実装したい | #61 | 第10章 |
| Agent Teamsで並列開発したい | #69 | 第12章 |
| Git Worktreeで並列ブランチ開発したい | #72 | 第12章 |
| コミット前に自動lintを実行したい | #83 | 第14章 |
| 危険なコマンドをブロックしたい | #84 | 第14章 |
| 品質ゲートパイプラインを構築したい | #91 | 第15章 |
| CI/CDにClaude Codeを組み込みたい | #93 | 第15章 |
| Docker/DevContainerで安全に実行したい | #97 | 第16章 |
| ディレクトリ | 章 | レシピ数 |
|---|---|---|
ch01-claude-md/ |
第1章: CLAUDE.md & 設定最適化 |
6 |
ch02-context-cost/ |
第2章: コンテキスト管理とコスト最適化 | 6 |
ch03-github-search/ |
第3章: GitHub & Web検索連携 | 5 |
ch04-playwright/ |
第4章: ブラウザ自動化 & テスト | 5 |
ch05-database/ |
第5章: データベース & 外部サービス連携 | 6 |
ch06-mcp-development/ |
第6章: MCPサーバー開発 | 6 |
ch07-skills-basics/ |
第7章: Skills設計と基本 | 5 |
ch08-skills-templates/ |
第8章: 実践Skillsテンプレート集 | 8 |
ch09-skills-tips/ |
第9章: Skills TIPS & 上級テクニック | 9 |
ch10-subagents-basics/ |
第10章: サブエージェントの基礎と設計 | 5 |
ch11-subagent-dev/ |
第11章: サブエージェント駆動開発 | 7 |
ch12-agent-teams/ |
第12章: Agent Teams & 設計パターン | 10 |
ch13-hooks-basics/ |
第13章: Hooksの仕組みと基礎 | 4 |
ch14-hooks-recipes/ |
第14章: Hooks活用レシピ | 8 |
ch15-workflows/ |
第15章: プロジェクトワークフロー | 5 |
ch16-power-user/ |
第16章: パワーユーザーTIPS集 | 5 |
サンプルコードが含まれるレシピの一覧です(概念説明中心のレシピは省略)。
第1部: 基盤編(12レシピ)
| # | レシピ | 説明 | ディレクトリ |
|---|---|---|---|
| 01 | 効果的なCLAUDE.mdの書き方 |
WHY/WHAT/HOWの3層構造で300行以内にまとめる | recipe-01 |
| 02 | CLAUDE.md階層設計 |
グローバル・プロジェクト・ローカルの3階層で設定を分離する | recipe-02 |
| 03 | .claude/rules/で条件付きルール | pathsフロントマターで特定ファイル操作時にだけルールを適用 | recipe-03 |
| 04 | モノレポでのCLAUDE.md分割戦略 |
再帰的探索と遅延読み込みを活用したパッケージ別配置 | recipe-04 |
| 05 | settings.jsonの実践設定 |
3つのスコープでパーミッション・モデル・MCP設定を管理 | recipe-05 |
| 06 | パーミッション設計 | deny/ask/allowの3段階評価で安全性と生産性を両立 | recipe-06 |
| 07 | コンテキストウィンドウの仕組みと/contextで監視する | ステータスラインでコンテキスト使用率をリアルタイム監視 | recipe-07 |
| 08 | /compactのカスタム圧縮指示とタイミング戦略 | CLAUDE.mdにcompact指示を記述し重要情報を優先保持 |
recipe-08 |
| 09 | モデル選択戦略 | Opus・Sonnet・Haiku・opusplanのタスク別使い分け | recipe-09 |
| 10 | トークン消費を削減するプロンプトテクニック | 具体的なプロンプトとCLAUDE.md簡潔化でコスト削減 |
recipe-10 |
| 11 | /cost・/usage・/statsでコストを可視化・管理する | コストをリアルタイム表示するステータスラインスクリプト | recipe-11 |
| 12 | セッション管理 | --continue・/resume・リワインドの使い分けガイド | recipe-12 |
第2部: MCP実践レシピ(22レシピ)
| # | レシピ | 説明 | ディレクトリ |
|---|---|---|---|
| 13 | Brave Search MCP | Brave Search APIでWeb検索をClaude Codeに統合 | recipe-13 |
| 14 | GitHub MCP | GitHub Issue・PRワークフローを会話内で自動化 | recipe-14 |
| 15 | GitHub Actions連携 | @claudeメンションでPRレビューを自動化 |
recipe-15 |
| 16 | Git自動化 | ブランチ作成・コミット・PR作成フローを効率化 | recipe-16 |
| 17 | 複数リポジトリ横断調査 | マイクロサービス横断のAPI依存関係分析 | recipe-17 |
| 18 | Playwright MCPセットアップ | .mcp.jsonの設定方法と基本的な操作フロー |
recipe-18 |
| 19 | E2Eテスト自動生成 | testing Capabilityを使ったテストコード自動生成 | recipe-19 |
| 22 | アクセシビリティテスト | WCAG 2.1準拠チェックとレポート生成 | recipe-22 |
| 23 | PostgreSQL MCP | .mcp.jsonとサンプルスキーマの設定例 |
recipe-23 |
| 29 | MCPサーバー設計 --- ACI原則 | ACI設計原則に基づくMCPサーバー設計ガイド | recipe-29 |
| 30 | TypeScript MCPサーバー | MCP SDK v1.xでタスク管理サーバーを実装 | recipe-30 |
| 31 | Python MCPサーバー | FastMCPでファイル分析サーバーを実装 | recipe-31 |
| 32 | MCPテストとデバッグ | MCP Inspectorと/mcpコマンドによるデバッグ手順 |
recipe-32 |
| 33 | Tool Searchとコンテキスト最適化 | ENABLE_TOOL_SEARCHとinstructionsフィールドの設定 | recipe-33 |
| 34 | claude mcp serve | Claude Code自体をMCPサーバーとして公開する設定 | recipe-34 |
第3部: Skills実践レシピ(22レシピ)
| # | レシピ | 説明 | ディレクトリ |
|---|---|---|---|
| 35 | SKILL.mdの基本構造 |
フロントマターとマークダウン本文の役割を理解する | recipe-35 |
| 36 | 初めてのカスタムSkills | コミットメッセージ生成とコード説明のSkillsを作成する | recipe-36 |
| 37 | $ARGUMENTSで動的パラメータ | 引数展開と!`command`でSkillsを動的にする |
recipe-37 |
| 38 | context:forkでサブエージェント実行 | メインコンテキストを消費せず重い処理を分離実行 | recipe-38 |
| 40 | コードレビューSkills | PRの差分を自動取得し複数の観点で体系的にレビュー | recipe-40 |
| 41 | TDD Skills | Red-Green-Refactorサイクルをガイドするテストファースト開発 | recipe-41 |
| 42 | リファクタリングSkills | コードスメル検出から安全なリファクタリング計画・実行 | recipe-42 |
| 43 | GitワークフローSkills | コミット・PR作成・リリースノート生成の3つのGit操作 | recipe-43 |
| 44 | セキュリティスキャンSkills | Semgrep連携と脆弱性分析・修正案提示 | recipe-44 |
| 45 | API設計・OpenAPI生成Skills | リソース設計からOpenAPI 3.1スペック生成 | recipe-45 |
| 46 | ドキュメント自動生成Skills | README生成とコードコメント・docstring生成 | recipe-46 |
| 47 | Headless実行用Skills | CI/CDパイプラインにSkillsを組み込む | recipe-47 |
| 48 | 活性化率を20%→84%に上げるテクニック | descriptionの書き方でSkillsの自動発動率を改善する | recipe-48 |
| 49 | !commandで動的コンテキストを注入する |
前処理メカニズムで実行時の情報を自動収集する | recipe-49 |
| 50 | namespace設計 | プラグインのnamespace(plugin:skill-name)で名前衝突を回避する | recipe-50 |
| 51 | Skills内でMCPサーバーのツールを指定する | ServerName:tool_name形式でMCPサーバーを確実に呼び出す | recipe-51 |
| 53 | サイレント失敗の原因と対処法 | Skillsが動作しない7つの典型パターンとデバッグ手順 | recipe-53 |
| 54 | 段階的読み込みアーキテクチャ | ファイル分割でオンデマンド読み込みを実現しトークンを節約 | recipe-54 |
| 55 | フロントマターHooks | SKILL.mdにスコープ付きHooksを定義する |
recipe-55 |
第4部: サブエージェント実践レシピ(22レシピ)
| # | レシピ | 説明 | ディレクトリ |
|---|---|---|---|
| 59 | カスタムエージェント定義 | .claude/agents/で専門エージェントを定義する |
recipe-59 |
| 61 | 永続メモリパターン | MEMORY.mdによるセッション横断の知識管理 |
recipe-61 |
| 62 | 並列Exploreで大規模コードベースを高速調査 | 複数のExploreサブエージェントを並列起動しモジュール単位で同時調査 | recipe-62 |
| 63 | マルチファイルリファクタリングの自動化 | Explore(調査)+ general-purpose(実行)の2フェーズで安全にリファクタリング | recipe-63 |
| 64 | Prompt Chainingと中間ゲート設計 | サブエージェントを順次呼び出すチェーン方式で品質を保つワークフロー構築 | recipe-64 |
| 65 | テスト実行とレポート集約(バックグラウンド実行) | テストをバックグラウンドで実行し待ち時間に他の作業を並行して進める | recipe-65 |
| 66 | サブエージェント駆動のコードレビュー | レビュー専用カスタムエージェントと永続メモリで学習するレビューを実現 | recipe-66 |
| 67 | レガシーコード分析と移行計画の自動生成 | 並列調査とチェーンを組み合わせ分析から移行計画生成までを自動化 | recipe-67 |
| 68 | ドキュメント・コメント一括生成 | ドキュメント生成専用サブエージェントでファイル単位の並列ドキュメント生成 | recipe-68 |
| 69 | Agent Teamsの基本 | リーダー・チームメイトの仕組みと有効化設定 | recipe-69 |
| 70 | 並列チーム開発 | フロントエンド+バックエンド+テストの3層並列開発 | recipe-70 |
| 71 | 共有タスクリストと依存関係管理 | タスクの状態管理と依存関係の自動化 | recipe-71 |
| 72 | Git Worktree並列開発 | Worktreeで物理的に並列作業するセットアップ | recipe-72 |
| 73 | Routingパターン | 入力の複雑度でモデル・エージェントを振り分ける | recipe-73 |
| 74 | バックグラウンド実行と結果監視 | Ctrl+Bでタスクをバックグラウンドに切り替え並行管理 | recipe-74 |
| 75 | --agentsフラグで動的エージェント定義 | JSONでセッション限りのエージェントを動的に定義 | recipe-75 |
| 76 | Map-Reduceパターン | 並列処理・集約・Voting(合議)の応用 | recipe-76 |
| 77 | 専門ロールパターン | PM/Architect/Developer/QAの4ロール定義 | recipe-77 |
| 78 | コスト最適化パターン | 18.75倍のモデル価格差を活かしたコスト最適化 | recipe-78 |
第5部: Hooks実践レシピ(12レシピ)
| # | レシピ | 説明 | ディレクトリ |
|---|---|---|---|
| 79 | 14のイベント種別と発火タイミング | Hooksの全ライフサイクルイベント一覧 | recipe-79 |
| 80 | settings.jsonでHooksを定義する |
3層ネスト構造の基本設定 | recipe-80 |
| 81 | マッチャーパターン | 正規表現でフックの発火条件を制御 | recipe-81 |
| 82 | Hooksのデバッグ | --debugフラグと手動テスト |
recipe-82 |
| 83 | コミット前lint/format | PreToolUseフックで自動lint・フォーマット実行 | recipe-83 |
| 84 | 危険コマンドブロック | rm -rfやforce push等の危険コマンドを検出・ブロック | recipe-84 |
| 85 | 機密情報漏洩防止 | パーミッション+Hooks+Gitの3層防御 | recipe-85 |
| 86 | ファイル変更時テスト自動実行 | PostToolUseフックでテストを非同期実行 | recipe-86 |
| 87 | デスクトップ/サウンド通知 | タスク完了時のデスクトップ・サウンド通知 | recipe-87 |
| 88 | Gitチェックポイント自動作成 | ファイル編集前にgit commitで復元ポイントを作成 | recipe-88 |
| 89 | prompt/agent型Hooks | prompt型・agent型による高度な条件制御 | recipe-89 |
| 90 | Stop Hooks自動検証 | Evaluator-Optimizerパターンで品質を自動検証 | recipe-90 |
第6部: 統合 & パワーユーザーTIPS(10レシピ)
| # | レシピ | 説明 | ディレクトリ |
|---|---|---|---|
| 91 | 品質ゲートパイプライン | MCP+Skills+Hooksで「生成→評価→改善」を自動反復する品質管理パイプライン | recipe-91 |
| 92 | Spec駆動開発 | 仕様→設計→実装→テストの4フェーズをSkillsとPlan Modeで管理 | recipe-92 |
| 93 | CI/CDパイプライン | claude-code-actionとヘッドレスモードでCI/CDを自動化 | recipe-93 |
| 94 | Issue駆動開発 | GitHub Issue取得からブランチ作成・実装・PR作成まで一気通貫 | recipe-94 |
| 95 | マルチセッション・チーム開発 | Git Worktreeとセッション管理で並行開発とチーム共有を実現 | recipe-95 |
| 97 | Docker隔離実行 | DockerとDevContainerでClaude Codeを安全に隔離 | recipe-97 |
| 98 | ヘッドレスモード | バッチ処理やCI環境でのヘッドレス実行 | recipe-98 |
| 100 | 究極のカスタマイズ戦略 | CLAUDE.md+Skills+Hooks+Agentsの統合設定テンプレート |
recipe-100 |
以下の環境変数は、対応するレシピを使用する場合に設定が必要です。
| 変数名 | 用途 | 取得先 | 使用レシピ |
|---|---|---|---|
BRAVE_API_KEY |
Brave Search MCP | Brave Search API | #13 |
GITHUB_TOKEN |
GitHub MCP | GitHub Settings > Developer settings > Personal access tokens | #14, #15 |
POSTGRES_URL |
PostgreSQL MCP | 自環境のDB接続文字列 | #23 |
NOTION_API_KEY |
Notion MCP | Notion Integrations | #26 |
ANTHROPIC_API_KEY |
GitHub Actions連携 | Anthropic Console | #15, #93 |
Tip:
.envrc(direnv)や~/.zshrcで環境変数を管理し、.mcp.jsonでは${VAR_NAME}のプレースホルダーを使用することを推奨します。
.mcp.jsonの配置場所を確認してください。プロジェクトスコープの場合はプロジェクトルート、ユーザースコープの場合は~/.claude/.mcp.jsonです。/mcpコマンドで接続状況を確認できます。詳細は書籍の付録Cを参照してください。
- 実行権限を確認してください(
chmod +x scripts/your-hook.sh) settings.jsonのhooksセクションでパスが正しいか確認してくださいclaude --debugで実行し、Hooksの発火状況を確認してください
レシピ#53「サイレント失敗の原因と対処法」で7つの典型パターンを解説しています。特に多いのはフロントマターの構文エラーと、descriptionの不足です。
書籍の執筆時点のClaude Codeバージョンと現在のバージョンが異なる可能性があります。Issuesで報告いただければ対応を検討します。
Agent Teamsは実験的機能です。settings.jsonで"agentTeams": trueを設定し、Claude Codeを再起動してください。詳細はレシピ#69を参照してください。
- Claude Code: 執筆時点(2026年2月)の最新版
- Node.js: 20+
- Python: 3.11+
Note: Claude Codeは頻繁にアップデートされます。サンプルが動作しない場合はIssuesでご報告ください。
- タイトル: Claude Code実践レシピ100本: MCP/Skills/Hooks/サブエージェント実践ガイド
- 著者: 森川 陽介
- 出版: Kindle(2026年2月)
- 前作: Claude Codeではじめる開発入門
- English Edition: Claude Code Cookbook: 100 Practical Recipes for MCP, Skills, Hooks & Sub-Agents
MIT License --- 詳細は LICENSE を参照してください。