コンテンツにスキップ

良い質問です。両方の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連携あたり掘り下げましょうか?