Claude Code 「Plan Mode」および「計画フェーズ」の運用方法

Claude Codeでは、いきなりコードを書かせずに「調査 → 計画 → 実装」の手順を踏むことが推奨されており、これを効果的に行うための機能やベストプラクティスが存在します。


1. Plan Mode(計画モード)とは

「Plan Mode」は、Claude Codeが読み取り専用(Read-only)になり、ファイルを変更せずに調査や計画作成のみを行うモードです。

  • 目的: コードを破壊するリスクなしに、大規模な変更や複雑なタスクの調査・設計を行う。
  • 特徴: EditWrite ツールが使用不可になり、ファイルの中身を読んだり(Read)、検索したり(Grep, Glob)することに集中します 。

2. 基本的なワークフロー(4ステップ)

Step 1: 探索 (Explore)

Plan Modeに入り、コードベースの現状を把握させます。

指示例: 「Plan Modeに入って。src/auth周辺の認証ロジックがどうなっているか調査して」

Step 2: 計画 (Plan)

調査結果に基づき、具体的な実装計画を作成させます。ここで計画書(Markdownファイルなど)を作成させることが重要です。

指示例: 「調査結果をもとに、OAuth導入のための詳細な実装計画を作成して。plans/oauth-migration.md というファイルに保存して」

Step 3: 実装 (Implement)

Normal Mode(通常モード)に戻り、作成した計画書に沿ってコードを書かせます。

指示例: 「Normal Modeに戻って。先ほど作成した計画書の手順1と2を実装して」

Step 4: コミット (Commit)

テストを行い、問題なければコミットします。

指示例: 「テストが通ったので、適切なメッセージでコミットして」


3. ./plans ディレクトリや計画ファイルの運用

ドキュメント内では SPEC.mdplans/ のようなファイルに計画を書き出す手法が推奨されています 。これを活用することで、コンテキスト(メモリ)を節約し、手戻りを防ぐことができます。

推奨される運用方法

  1. ファイルへの書き出し:計画をチャットの会話だけで終わらせず、SPEC.md./plans/my-feature.md といったファイルとして保存させます。
    • メリット: コンテキストが溢れて会話ログが消えても、計画ファイルは残るため、Claudeが指示を「忘れる」のを防げます 。
  2. インタビュー形式の活用:複雑な機能の場合、Claudeに「私(ユーザー)にインタビューして仕様を詰めて」と依頼し、その結果を仕様書として出力させます。指示例: 「[機能]を作りたい。AskUserQuestionツールを使って詳細をインタビューして。すべて決まったら SPEC.md に仕様をまとめて」 。
  3. 実装時の参照:実装フェーズでは、そのファイルを「正解」として参照させます。指示例:SPEC.md の仕様に従って実装して」

4. 具体的なコマンドと操作

操作コマンド / アクション説明
Plan Modeへの切り替えプロンプトで指示 または Shift+Tab「Plan Modeに入って」と言うか、Shift+Tabキーで権限モードを切り替えます 。
計画の作成(Plan Mode中に) create plans/xxx.md調査結果をファイルに保存させます。
実装の開始プロンプトで指示 または Shift+Tab「実装モードに戻って」と言うか、権限モードを DefaultAuto-accept に戻します。

5. Plan Modeを使うべきタイミング

  • アプローチ方法が不明確なとき
  • 複数のファイルにまたがる変更が必要なとき
  • 馴染みのないコードベースを触るとき

※ 逆に、タイポの修正や単純なバグ修正など、差分が1行で説明できるような軽微なタスクではPlan Modeは不要です 。

まとめ

./plans(計画ファイル)を使いこなすコツは、「いきなり書かせない」ことです。

まずPlan Modeで調査させ、その結果をMarkdownファイル(SPEC.mdなど)として保存し、それを設計図としてClaudeに実装させることで、複雑なタスクでも高品質なコードを生成させることができます。