良い質問です。両方のPlanモードを調べた結果、かなり近い運用ができます。具体的に対応関係を整理します。
Claude Code の Plan Mode のコア概念¶
Plan Modeはコードベースを読み取り専用の操作で分析して計画を作成するモードで、コード探索、複雑な変更の計画、コードレビューに最適です。Claude Codeでの典型的なワークフローは Explore → Plan → Implement → Commit の4フェーズです。
Copilot CLI での再現方法¶
1. モード切り替え(ほぼ同じ)¶
| Claude Code | Copilot CLI |
|---|---|
Shift+Tab 2回でPlan Mode |
Shift+Tab でPlan Modeにトグル |
Shift+Tab 1回でAuto-accept |
Autopilotモードへ切り替え |
Copilot CLIのPlanモードでは、リクエストを分析し、スコープや要件を理解するための質問をし、コードを書く前に構造化された実装計画を作成してくれます。これはClaude Codeとほぼ同じ体験です。
2. Plan → 実装の流れ(最も重要な部分)¶
Claude Codeでは「Plan Modeで計画 → 承認 → Auto-acceptで実装」が鉄板ワークフローですが、Copilot CLIでもPlanモードに切り替えてプロンプトを入力し、計画を作成した後「Accept plan and build on autopilot」オプションを使えばそのまま自動実装に移行できます。
具体的な手順:
# 1. Copilot起動
copilot
# 2. Shift+Tab でPlanモードに入る
# 3. タスクを入力
> 認証システムをOAuth2に移行するリファクタリングをしたい
# 4. Copilotが質問してくる → 答える
# 5. 計画が提示される → レビュー
# 6. 「Accept plan and build on autopilot」で実装開始
3. plan.md の永続化(工夫が必要)¶
Claude Codeでは plan.md が ~/.copilot/session-state/ 以下に自動生成されますが、Copilot CLIでも session-state/{session-id}/plan.md として実装計画が保存されます。
ただし、Claude Codeの熟練者がやるような「plan.mdを手動で編集してからClaude Codeに渡す」ワークフローを再現するには、こうします:
# Planモードで計画を出させた後、明示的にファイルに書かせる
> この計画を docs/PLAN.md に書き出して
# 次のセッションで参照
> @docs/PLAN.md の計画に従って実装して
@記法でファイルをコンテキストに追加できるのは、Copilot CLIで @ の後にファイルの相対パスを指定することで実現できます。
4. Read-onlyの安全性¶
Claude Code Plan Modeでは書き込み系ツール(Edit, Write, Bash等)が無効化されます。Copilot CLIのPlanモードでもコードを書く前に計画フェーズが走る仕組みですが、Claude Codeほど厳密にツールがブロックされるわけではない点が違いです。
これを補うには、Planモードでプロンプトの冒頭に「ファイルの変更はせず、計画だけを出して」と明記するのが効果的です。
5. カスタムインストラクション(超重要)¶
Claude Codeの CLAUDE.md に相当するものが、Copilot CLIでは .github/copilot-instructions.md です。リポジトリにこのファイルを置けば、ビルドコマンド、コードスタイル、ワークフローなどの規約をCopilotに読み込ませることができます。
例えば以下のような内容を書いておくと、Claude Code的な運用に近づきます:
## Workflow
- 必ずPlanモードで計画を立ててから実装に入ること
- 計画は docs/PLAN.md に書き出すこと
- 実装後は必ず `npm test` を実行すること
- コミットメッセージはConventional Commits形式
## Code Style
- TypeScript strict mode
- 関数コンポーネント優先
- public APIには必ずJSDocコメント
6. モデル選択の戦略¶
Claude Codeの「Opus Plan Mode」(計画はOpus、実装はSonnet)と同じことを狙うなら:
# Planモードで重い思考が必要な時
/model → Claude Opus 4.6 を選択
# 実装フェーズに移ったら
/model → Claude Sonnet 4.6 に切り替え
Opusは深い推論や複雑なシステム設計に最適で、Sonnetは日常的なタスクでのスピードとコスト効率に優れています。セッション中に /model で切り替え可能です。
7. 現時点の制限(正直な注意点)¶
Copilot CLIにはまだデフォルトでPlanモードで起動するオプションがなく、毎セッション手動で Shift+Tab か /plan で切り替える必要があります。この機能リクエストは出ていますが、まだ実装されていません。うっかりPlanモードにし忘れて、いきなりファイルを編集されないよう注意が必要です。
まとめると、Plan → レビュー → Autopilotで実装という骨格はほぼ同じように組めます。足りない部分は .github/copilot-instructions.md でルールを補強し、@記法でplanファイルを参照させることで、Claude Code的な運用にかなり近づけます。
次に気になるポイント(CLAUDE.md相当の詳細設定、MCPの使い方、セッション管理など)があれば掘り下げますよ。
---¶
---¶
良い着眼点です。Claude Codeの Plan Mode では AskUserQuestion ツールで要件を確認してから計画を立てますが、その質問の「深さ・量・粒度」をCopilot CLIで近づけるには、3つのレイヤーで制御できます。
レイヤー1: カスタムインストラクションで「質問ポリシー」を定義する¶
.github/copilot-instructions.md に質問の仕方そのものをルール化します。これがセッション中ずっと効き続けます。
## Planning Policy
### 質問フェーズのルール
- 計画作成前に必ず以下の観点で確認質問をすること:
1. スコープ: 変更範囲の境界(何を含み、何を含まないか)
2. 制約: 既存のアーキテクチャ・パターンとの整合性
3. 優先順位: パフォーマンス vs 可読性 vs 開発速度のトレードオフ
4. テスト: どのレベルのテストが必要か(unit/integration/e2e)
5. 依存関係: 他チーム・他サービスへの影響
### 質問の粒度
- 1回の質問で聞く項目は最大3つまでにまとめること
- 曖昧な回答があった場合は追加で掘り下げること
- 「はい/いいえ」で答えられる質問と、自由回答の質問を混ぜること
- ユーザーが「もう十分」と言うまでは計画を確定しないこと
### やってはいけないこと
- 勝手に仮定を置いて計画を進めない
- 質問なしでいきなり計画を書き始めない
- 一度に10個も質問を並べない
レイヤー2: カスタムPlanエージェントで質問行動を専門化する¶
/plan は実はビルトインのカスタムエージェントです。これを上書きする形で、自分好みのPlanエージェントを作れます。
.github/agents/planner.agent.md を作成します:
---
name: planner
description: Claude Code風の段階的な計画エージェント。
必ず質問フェーズを経てから計画を作成する。
tools: ['read_file', 'list_directory', 'grep_search', 'glob_tool']
model: claude-opus-4.6
---
あなたはシニアソフトウェアアーキテクトです。
計画作成にあたり、以下のプロセスを厳守してください。
## フェーズ1: 調査(Read-only)
- まず関連コードを自分で読んで理解する
- ユーザーに「読みました」と報告する必要はない
## フェーズ2: 確認質問(必須)
以下のカテゴリから、このタスクに関連する質問を選んで聞く:
**スコープ確認**
- 「この変更の影響範囲は X と Y だと思いますが、他に含めるべきものはありますか?」
- 「Z は今回のスコープ外という理解で合っていますか?」
**設計判断**
- 「方針Aと方針Bが考えられますが、どちらが好みですか?理由も教えてください」
- 「既存の〇〇パターンを踏襲しますか、それとも新しいアプローチにしますか?」
**制約確認**
- 「破壊的変更は許容されますか?」
- 「パフォーマンス要件はありますか?」
### 質問のルール
- 1ターンで最大3つの質問
- 選択肢がある場合は具体的な案を提示する
- ユーザーの回答が曖昧なら1回だけ掘り下げる
- 2ターン以内に質問フェーズを完了することを目指す
## フェーズ3: 計画作成
質問の回答を踏まえて、以下の構造で計画を作成する:
Implementation Plan: [タスク名]¶
前提と合意事項¶
- [質問フェーズで確認した内容]
概要¶
[1-2文で要約]
タスク¶
- [ ] ステップ1: [具体的な内容]
- [ ] ステップ2: ...
リスクと注意点¶
- [潜在的な問題]
テスト方針¶
- [合意したテストレベル]
計画を提示した後、「この計画で進めてよいですか?修正点があれば教えてください」と確認する。
使い方:
# CLI起動後
/agent planner
> 認証システムをOAuth2に移行したい
レイヤー3: プロンプト側でその場の質問レベルを制御する¶
同じPlanエージェントでも、プロンプトの書き方で質問の深さを変えられます。
質問を多めに引き出したい場合(複雑なタスク):
認証システムをOAuth2に移行したい。
まだ方針が固まっていないので、設計判断に必要な質問を
網羅的に聞いてから計画を作ってほしい。
質問を最小限にしたい場合(方針が決まっている):
認証システムをOAuth2に移行したい。
方針:Google+GitHubプロバイダ、passportjs使用、
既存セッション管理は維持。
追加の質問は本当に必要な場合だけにして、
すぐ計画を作ってほしい。
Claude Code の AskUserQuestion と同じ「対話ループ」を再現:
認証システムをOAuth2に移行したい。
Claude Code風に進めてほしい:
1. まずコードを読んで現状を理解して
2. 私に確認すべきことを1つずつ聞いて
3. 全部聞き終わったら計画を提示して
4. 私がOKしたら初めて計画を確定して
実践的な組み合わせ例¶
Claude Codeの「Explore → Plan → Implement → Commit」をCopilot CLIで完全再現する流れ:
# ステップ1: Opusで起動、Planモードに入る
copilot --model claude-opus-4.6
> Shift+Tab (Planモードに切り替え)
# ステップ2: 調査+質問フェーズ
> @src/auth/ このディレクトリの認証実装を理解した上で、
OAuth2移行の計画を立てたい。
まず現状の理解を共有して、その後質問してほしい。
# ステップ3: 質問に答える(2-3ターン)
# ステップ4: 計画が出てくる → レビュー
# Ctrl+Y で計画をエディタで開いて編集も可能
# ステップ5: 計画に納得したら
> Accept plan and build on autopilot
# または手動で
> /model claude-sonnet-4.6 (実装用に切り替え)
> この計画を実装して
まとめ:質問レベルの調整ポイント¶
| 調整したいこと | 方法 |
|---|---|
| 毎回必ず質問させる | copilot-instructions.md に「質問なしで計画を書くな」と書く |
| 質問の数を制御 | エージェントに「1ターン最大N個」とルール化 |
| 質問の深さを変える | プロンプトで「方針は決まっている」or「まだ固まっていない」を明示 |
| 選択肢を提示させる | エージェントに「方針A/Bを比較して提示しろ」と書く |
| 勝手に仮定させない | 「不明点は推測せず必ず聞け」をインストラクションに入れる |
カスタムインストラクションとエージェントの組み合わせで、Claude Codeの質問体験にかなり近づけられます。次はCLAUDE.md相当のプロジェクト設定の詳細、もしくはMCP連携あたり掘り下げましょうか?