# 定型プロンプト集（Gemini CLI エージェント用）

[manual-for-agent.md](manual-for-agent.md) のプロンプト設計に沿った雛形。コピーして対象・指示を差し替えて使う。

---

## 単一ファイル編集

- **雛形**: 「カレントディレクトリの `〈パス〉` において、〈具体的な変更内容を 1 文で〉。他ファイルは変更しない。」
- **例**: 「カレントディレクトリの `src/index.ts` の先頭に `// generated` を 1 行追加して。他ファイルは変更しない。」

---

## 複数ファイル編集

- **雛形**: 「カレントディレクトリの `〈パス1〉` と `〈パス2〉` の両方で、〈共通の変更内容を 1 文で〉。」
- **例**: 「`src/a.ts` と `src/b.ts` の両方で、import パスを `@/lib` に統一して。」

---

## 読み取り・要約（編集なし）

- **雛形**: 「カレントディレクトリの `〈パス〉` を読んで、〈要約の指示〉。ファイルは編集しない。」
- **例**: 「プロジェクトルートの `README.md` を読んで 3 行で要約して。ファイルは編集しない。」

---

## 検索・一覧（編集なし）

- **雛形**: 「カレントディレクトリの `〈パスまたはディレクトリ〉` 以下で、〈検索条件〉に一致する行を列挙して。編集はしない。」
- **例**: 「`src/` 以下で `TODO` を含む行を列挙して。編集はしない。」

---

## JSON で返す

- **雛形**: 「〈対象の説明〉を確認し、次のキーだけを持つ 1 つの JSON オブジェクトを返して: 〈キー一覧〉。出力はその JSON のみ。」
- **例**: 「`package.json` を読んで、キー `version` と `deps` だけの JSON を返して。出力はその JSON のみ。」（実行時は `--output-format json` を付ける。）

---

## 短い往復向け定型

### 不足情報だけ聞く

- **雛形**: 「`〈対象〉` について、実装はしない。不足している情報だけを 3 つ、短い質問で返して。」
- **例**: 「`app/` について、実装はしない。不足している情報だけを 3 つ、短い質問で返して。」

### 仮 plan だけ返す

- **雛形**: 「前提: 〈前提の要約〉。`〈対象〉` について、実装はしない。仮 plan を 3 点だけ返して。」
- **例**: 「前提: ログインは不要で、ローカル保存のみ。`app/` について、実装はしない。仮 plan を 3 点だけ返して。」

### 次の一手だけ返す

- **雛形**: 「`〈状況の要約〉`。次にやるべきことを 1 つだけ返して。説明は最小限にして。」
- **例**: 「`npm test` が 1 件だけ失敗している。次にやるべきことを 1 つだけ返して。説明は最小限にして。」

### 原因候補を絞る

- **雛形**: 「次の症状について、最有力の原因候補を 1 つだけ返して: 〈症状〉。実装はしない。」
- **例**: 「次の症状について、最有力の原因候補を 1 つだけ返して: Git Bash では動くが PowerShell では失敗する。実装はしない。」

### 次に試すコマンドを 1 つだけ返す

- **雛形**: 「`〈症状または状況〉`。切り分けのため、次に試すコマンドを 1 つだけ返して。」
- **例**: 「CLI の返答が空だった。切り分けのため、次に試すコマンドを 1 つだけ返して。」

### 差分だけ返す

- **雛形**: 「前回案と今回案の違いだけを 3 点以内で返して。長い説明はしない。」
- **例**: 「前回案と今回案の違いだけを 3 点以内で返して。長い説明はしない。」

### JSON で状態判定だけ返す

- **雛形**: 「`〈対象または出力〉` を確認し、`status`, `next_action`, `reason` の 3 キーだけを持つ JSON を返して。出力は JSON のみ。」
- **例**: 「この CLI 出力を確認し、`status`, `next_action`, `reason` の 3 キーだけを持つ JSON を返して。出力は JSON のみ。」

### 質問だけ返す

- **雛形**: 「`〈対象〉` について、次に確認すべき質問だけを 2 つ返して。説明や実装案は書かない。」
- **例**: 「`test-03/` について、次に確認すべき質問だけを 2 つ返して。説明や実装案は書かない。」

### 3 行以内で要約する

- **雛形**: 「`〈対象または出力〉` を 3 行以内で要約して。重要点だけ返して。」
- **例**: 「この Plan を 3 行以内で要約して。重要点だけ返して。」

### 実装せず判定だけ返す

- **雛形**: 「`〈対象または条件〉` について、実装はしない。実装可能 / 情報不足 / 条件衝突 のどれかで判定し、1 文で返して。」
- **例**: 「この仕様について、実装はしない。実装可能 / 情報不足 / 条件衝突 のどれかで判定し、1 文で返して。」

---

## Plan 作成（編集なし）

- **雛形**: 「カレントディレクトリの `〈対象〉` に対して、`@〈仕様ファイル〉` を読んで実装プランだけを作成して。対象ファイル、役割分担、状態管理、検証手順を整理して。**ファイル編集はしない。プランだけ返して。**」
- **例**: 「カレントディレクトリの `test-01/` に対して、`@test-01/README.md` を読んで実装プランだけを作成して。`index.html` と `js/app.js`, `js/storage.js`, `js/dom.js` の役割分担、localStorage 永続化、フィルタ、検証手順を整理して。**ファイル編集はしない。プランだけ返して。**」

---

## Plan 修正・再作成

- **雛形**: 「前回のプランでは `〈問題点〉` が残っていた。`〈不足している観点〉` を追加して、**実装はまだ行わず**、プランだけ修正版を返して。」
- **例**: 「前回のプランではレスポンシブ対応とエラーハンドリングが曖昧だった。表示崩れ対策と API 失敗時の扱いを追加して、**実装はまだ行わず**、プランだけ修正版を返して。」

---

## 最終 Plan 承認後の実装

- **雛形**: 「次の最終 Plan に従って `〈対象〉` を実装して: `〈Plan の要約〉`。変更対象は `〈対象ファイル一覧〉` のみ。必要ならテスト観点も反映して。」
- **例**: 「次の最終 Plan に従って `test-01/` を実装して: `index.html` は構造とフィルタ UI、`js/storage.js` は localStorage 永続化、`js/dom.js` は描画、`js/app.js` はイベントと状態管理。変更対象は `index.html`, `js/app.js`, `js/storage.js`, `js/dom.js` のみ。」

---

## 会話往復型（曖昧要件・条件衝突）

### 曖昧要件の質問返し

- **雛形**: 「カレントディレクトリの `〈対象〉` で〈やりたいことの短文〉。実装はしない。不足している情報を、実装前に決めるべき質問として 3〜7 個リストで返して。」
- **例**: 「カレントディレクトリの `app/` で会議室予約アプリを作りたい。実装はしない。不足している情報を、実装前に決めるべき質問として 3〜7 個リストで返して。」

### 衝突条件の整理

- **雛形**: 「次の条件が同時に求められている: 〈条件A〉。〈条件B〉。この 2 つが両立するか衝突するか整理し、選択肢（例: A 優先 / B 優先 / 両立する設計案）を短文で返して。実装はしない。」
- **例**: 「次の条件が同時に求められている: 一般ユーザーは当日分の予約だけ編集可。管理者は全予約を上書き可。この 2 つが両立するか衝突するか整理し、選択肢を短文で返して。実装はしない。」

### 前提つき仮プラン

- **雛形**: 「前提: 〈ユーザー回答の要約〉。この前提で `〈対象〉` の実装プランだけを作成して。対象ファイル、役割分担、検証手順を整理して。**ファイル編集はしない。プランだけ返して。**」
- **例**: 「前提: 会議室は 1 室のみ。予約は開始・終了時刻で、二重取りは禁止。この前提で `app/` の実装プランだけを作成して。**ファイル編集はしない。プランだけ返して。**」

### 追加条件を反映した plan 再作成

- **雛形**: 「前回のプランに次の追加条件を反映した修正版プランだけ返して: 〈追加条件の要約〉。実装はまだしない。」
- **例**: 「前回のプランに次の追加条件を反映した修正版プランだけ返して: 管理者は二重取りを上書きできる。一般ユーザーは当日分だけキャンセル可。実装はまだしない。」

### 条件確定後の実装

- **雛形**: 「次の合意済み条件と最終 Plan に従って `〈対象〉` を実装して: 〈条件の要約〉。〈Plan の要約〉。変更対象は `〈ファイル一覧〉` のみ。」
- **例**: 「次の合意済み条件と最終 Plan に従って `app/` を実装して: 一般は当日のみ編集、管理者は全件上書き可。index.html と js/booking.js, js/auth.js の役割どおり。変更対象は index.html, js/booking.js, js/auth.js のみ。」

---

## 段階的作業（1 回目：分析）

- **雛形**: 「カレントディレクトリで、〈対象範囲〉の現状を分析して。〈知りたいこと・観点〉を簡潔にまとめ、ファイルは編集しない。」
- **例**: 「`src/utils/` の現状を分析して、非推奨 API の使用箇所を簡潔にまとめ、ファイルは編集しない。」

---

## 段階的作業（2 回目：修正）

- **雛形**: 「前回の分析結果を踏まえて、〈対象ファイル・範囲〉で〈具体的な修正内容〉を行って。変更するのはここで指定した範囲だけ。」
- **例**: 「前回の分析結果を踏まえて、`src/utils/legacy.ts` の非推奨 API を推奨 API に置き換えて。変更するのはこのファイルだけ。」

---

## 失敗後の再試行（範囲を絞る）

- **雛形**: 「前回の出力では〈簡潔な事実〉だった。その前提で、〈対象〉に限定して〈指示〉だけやり直して。他は触らない。」
- **例**: 「前回の出力では import が 3 ファイル変更された。`src/index.ts` に限定して、import を `@/lib` に統一し直して。他は触らない。」
