2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

実装前に計画を立てる - Claude Code Plan Mode活用ガイド

Posted at

はじめに

Claude Codeを使っていて「いきなり実装を始めて途中で方針がブレる」「大きな変更で予想外のファイルが壊れる」と感じたことはないでしょうか。Plan Modeを使えば、実装前にコードベースを分析し、詳細な計画を立ててから作業を進めることができます。

本記事では、Plan Modeの基本から実践的な使い方までを解説します。

Plan Modeとは

Plan Modeは、Claude Codeの読み取り専用の計画フェーズです。ファイルを編集したりコマンドを実行したりせず、コードベースを分析して実装計画を作成します。

3つのモード

Claude Codeには3つの実行モードがあります。

モード 名称 特徴
Mode 1 Ask before edits デフォルト。編集時に確認を要求
Mode 2 Edit automatically 自動で編集(コマンド実行は要確認)
Mode 3 Plan mode 読み取り専用で計画を作成

なぜPlan Modeが必要か

いきなり実装を始めると、以下の問題が起きやすいです。

  • 影響範囲が見えない: 修正すべきファイルを見落とす
  • 方針がブレる: 途中で「こっちのほうがいいかも」と迷走する
  • 手戻りが発生する: 実装後に設計ミスに気づく

Plan Modeを使うことで、実装前に全体像を把握し、計画に沿って作業を進められます。

起動方法

キーボードショートカット

Shift+Tab を2回押す → Plan Modeに切り替え

通常モード → Edit automatically → Plan Mode の順で循環します。

CLIオプション

# Plan Modeで起動
claude --permission-mode plan

# 非対話モードで実行
claude --permission-mode plan -p "認証システムを分析して改善案を提案して"

セッション中の切り替え

> /plan

Plan Modeでできること・できないこと

できること

ツール 用途
Read ファイルの読み取り
Glob ディレクトリのリスティング
Grep コード検索
WebFetch Web情報の取得
AskUserQuestion ユーザーへの質問

できないこと

  • ファイルの編集・作成
  • コマンドの実行
  • ファイルシステムの変更

Plan Modeは「調査と計画」に特化したモードです。

計画ファイルの保存場所

デフォルト

~/.claude/plans/

プロジェクト内に保存(推奨)

.claude/settings.jsonで以下を設定すると、プロジェクト内に保存できます。

{
  "plansDirectory": ".claude/plans"
}

プロジェクト内に保存すると、Gitで管理してチームで共有できます。

基本フロー

ユーザー
  │
  ▼ 「認証システムをOAuth2に移行したい」
Plan Mode(分析)
  │ コードベースを調査
  │ 影響範囲を特定
  │ 実装計画を作成
  │
  ▼ plan.md を生成
ユーザー(レビュー)
  │ 計画を確認・修正
  │
  ▼ 承認
通常モード(実装)
  │ 計画に沿って実装
  │
  ▼
完了

実践例

例1: 大規模リファクタリング

claude --permission-mode plan
> 認証システムをJWTからOAuth2に移行したい。
> 影響範囲を分析して、移行計画を作成してください。

Claudeは以下のような計画を作成します。

## 移行計画: JWT → OAuth2

### 影響範囲
- src/modules/auth/ - 認証ロジック全体
- src/libs/guards/ - 認証ガード
- src/modules/user/ - ユーザー情報取得部分

### 実装ステップ

#### Phase 1: 準備
1. OAuth2プロバイダーの設定追加
2. 新しい認証エンドポイントの作成

#### Phase 2: 移行
3. 既存のJWT検証をOAuth2に置き換え
4. ユーザーセッション管理の更新

#### Phase 3: クリーンアップ
5. 古いJWT関連コードの削除
6. テストの更新

### リスク
- 既存セッションの無効化
- 外部連携への影響

### 検証手順
- 全認証フローのE2Eテスト
- 既存ユーザーのログイン確認

例2: 新機能の設計

> ユーザープロフィール編集機能を追加したい。
> 既存のコードパターンを分析して、実装計画を立ててください。

Plan Modeは既存のコードを分析し、プロジェクトのパターンに沿った計画を提案します。

例3: 未知のコードベース理解

> このプロジェクトに参加したばかりです。
> 認証システムの仕組みを分析して説明してください。

Plan Modeはコードを読み取り、構造を説明します。実装せずに理解だけしたい場合に便利です。

Tips

計画を編集してから実装

計画に納得いかない部分があれば、修正を依頼できます。

> Phase 2の順番を変えたい。3と4を入れ替えて。

または、生成されたplan.mdを直接編集することもできます。

Ctrl+G  # エディタで計画ファイルを開く

サブエージェントとの組み合わせ

Plan Modeで計画を立て、PMエージェントにタスク分解を任せる流れが効果的です。

1. Plan Mode: 全体の実装計画を作成
2. PM: 計画をタスクに分解
3. Engineer: 各タスクを並列実装
4. Reviewer: 成果物をレビュー

30分以内の単位に分ける

大きすぎるタスクは、30分以内で完了する単位に分けましょう。Plan Modeで全体像を把握してから、フェーズごとに実装を進めると管理しやすいです。

デフォルトでPlan Modeを使う

慎重に進めたいプロジェクトでは、デフォルトをPlan Modeに設定できます。

// .claude/settings.json
{
  "permissions": {
    "defaultMode": "plan"
  }
}

推奨される使用シーン

シーン 理由
大規模リファクタリング 影響範囲を事前に把握できる
複数ファイルへの修正 漏れを防げる
未知のコードベース理解 実装せずに調査できる
設計の検討 複数のアプローチを比較できる
チームでの合意形成 計画をGitで共有して議論できる

プロジェクト構成例

project-root/
├── .claude/
│   ├── settings.json        # plansDirectoryを設定
│   ├── plans/               # 計画ファイルの保存先
│   │   ├── auth-refactor.md
│   │   └── new-feature.md
│   └── agents/
│       ├── pm.md
│       ├── engineer.md
│       └── reviewer.md
└── ...

まとめ

Plan Modeを使うことで、実装前にコードベースを分析し、計画を立ててから作業を進められます。

  • Shift+Tab×2 でPlan Modeに切り替え
  • 読み取り専用で調査・計画に集中
  • plan.mdに計画を出力し、レビュー後に実装
  • plansDirectoryを設定してGitで管理

「いきなり実装」ではなく「まず計画」を習慣にすることで、手戻りを減らし、品質の高い開発ができます。

参考リンク

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?