Github CopilotでPlanモードを使ってみる

はじめに

GitHub Copilot に Planモードが出るとのことで、Insider版であれば使用可能らしいが、通常版でも再現ができるとのことで実際に使ってみる。
※11/12のアップデートでplanエージェントが追加されているので、今回の手順を行わずともplanモードが使えるようになっている。
Visual Studio Code Release October 2025 (version 1.106)

環境

Windows 11 Professional
VSCode 1.105.1

準備

まずは、以下を参考にPlanモードを機能として使えるようにしていく。
※手順については以下の参考サイト様で確認をしてほしい。

Planモード使ってみる

Planモードで作業

プロンプト1
TODOリストを作ってください。
技術スタックは以下でお願いします。

Vue.js3 + Vite
出力1
ワークスペースの現状を確認して、TODOリストアプリケーション構築のための計画を立案します。

plan_todo の読み取り

ワークスペースが空の状態であることを確認しました。Vue.js 3 + Vite を使用したTODOリストアプリケーションをゼロから構築する計画を立案します。

Plan: Vue.js 3 + Vite TODOリストアプリケーションの構築
Vue.js 3とViteを使用したシンプルなTODOリストアプリケーションをゼロから構築します。プロジェクトのセットアップ、コンポーネント設計、基本機能(追加、削除、完了状態の切り替え)を実装し、即座に開発サーバーで動作確認できる状態にします。

Steps:

Viteを使用してVue.js 3プロジェクトを初期化し、package.jsonとvite.config.jsを設定
src/App.vueにTODOリストのメインコンポーネントを作成(タイトル、入力フォーム、リスト表示)
src/components/TodoItem.vueを作成し、個別TODOアイテムの表示・完了切替・削除機能を実装
src/composables/useTodos.jsでTODO管理ロジック(追加、削除、完了状態管理)をComposition APIで実装
src/main.jsとindex.htmlのエントリーポイントを設定し、基本的なスタイリングを追加
Open Questions:

TODOデータの永続化は必要ですか? LocalStorage / なし / 将来的にバックエンド連携
UI/CSSフレームワークは使用しますか? なし(Pure CSS) / Tailwind CSS / Element Plus
追加機能は必要ですか? フィルタリング(全て/完了/未完了) / 編集機能 / 優先順位
プロンプト2
1. LocalStorage
2. TailwindCSS
3. いりません。
出力2
Plan: Vue.js 3 + Vite TODOリストアプリケーションの構築
Vue.js 3とViteを使用したTODOリストアプリケーションを構築します。LocalStorageでデータを永続化し、Tailwind CSSでスタイリングを行います。TODO の追加、削除、完了状態の切り替えといった基本機能を実装し、ブラウザをリロードしてもデータが保持される実用的なアプリケーションを作成します。

Steps:

Viteを使用してVue.js 3プロジェクトを初期化し、Tailwind CSSをインストール・設定
tailwind.config.js、postcss.config.js、src/style.cssでTailwindを統合
src/composables/useTodos.jsでTODO管理ロジックとLocalStorage連携を実装(追加、削除、完了切替、自動保存)
src/components/TodoItem.vueで個別TODOアイテムコンポーネントを作成(Tailwindでスタイリング)
src/App.vueでメインUI(入力フォーム、TODOリスト表示)を実装し、全コンポーネントを統合
index.htmlとsrc/main.jsを設定し、開発サーバーで動作確認可能な状態に
Open Questions:
なし

このプランで実装を進めてよろしいでしょうか?
プロンプト3
TypeScriptとしてください。
出力3
Plan: Vue.js 3 + Vite + TypeScript TODOリストアプリケーションの構築
Vue.js 3とVite、TypeScriptを使用したTODOリストアプリケーションを構築します。LocalStorageでデータを永続化し、Tailwind CSSでスタイリングを行います。型安全性を確保しながら、TODO の追加、削除、完了状態の切り替えといった基本機能を実装し、ブラウザをリロードしてもデータが保持される実用的なアプリケーションを作成します。

Steps:

ViteでVue.js 3 + TypeScriptプロジェクトを初期化し、Tailwind CSSをインストール・設定
tailwind.config.js、postcss.config.js、src/style.cssでTailwindを統合
src/types/todo.tsでTODOの型定義(Todoインターフェース)を作成
src/composables/useTodos.tsでTODO管理ロジックとLocalStorage連携を型安全に実装
src/components/TodoItem.vueで個別TODOアイテムコンポーネントを作成(<script setup lang="ts">使用)
src/App.vueでメインUI(入力フォーム、TODOリスト表示)を実装し、全コンポーネントを統合
index.html、src/main.ts、vite.config.tsを設定し、開発サーバーで動作確認可能な状態に
Open Questions:
なし
プロンプト4
お願いします。
出力4
申し訳ございませんが、私はプランニングエージェントのため、実装を行うことができません。

実装を進めるには、通常のチャットモードに切り替えて、以下のように依頼してください:

「上記のプランに従って、Vue.js 3 + Vite + TypeScript TODOリストアプリケーションを実装してください」

または、エディタで別のチャットモード(例:標準モード)を選択してから、実装を依頼していただく必要があります。

ということらしいので、Agentモードに切り替えてみる。

Agentモード

プロンプト5
上記のプランに従って、Vue.js 3 + Vite + TypeScript TODOリストアプリケーションを実装してください

※後はAgentが実装してくれて、成果物は以下の通り。

成果物

todo-app-01

※デモ用にGitHubPagesに置いておいた。

参考

おわりに

使ってみた感想としては、小規模くらいの開発で、気軽にPlanモード始めるならこれくらいでいいんじゃないかと思った。

仕様駆動開発自体、自分がまだあまり実践したことないので何かを言えた口ではないのだけれども…。 この辺りは実際にやってみて慣れていくのが良さそうか。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。