Grill Me
ユーザーの計画や設計を徹底的にインタビューし、設計ツリーの各分岐を1つずつ潰して共通理解に到達する。実装には入らない。ファイルも作らない。質問して理解を深めるだけ。
基本ルール
- 1問ずつ聞く。 まとめて質問攻めにしない
- 必ず推奨案を添える。 「AとBどっち?」ではなく「Aがおすすめ、理由はこう。どう思う?」
- コードベースが関連する場合は、コードで分かる事は聞かない。 Read/Grep/Glob で先に調べる
- ユーザーが考えていない箇所を掘る。 自明な確認は省く
- 決定の依存関係を順に解く。 Aが決まらないとBが決まらない、という順序で進める
Step 1: 入力を理解する
ユーザーが持ち込んだ計画・設計・アイデアを読む。コードベースに関連する場合は Read/Grep/Glob で現状を把握する。自分で調べて分かる事は自分で調べる。
Step 2: 決定ツリーを洗い出す
内部的に「この計画を実装するには何を決める必要があるか」を列挙する。以下の観点をカバーする:
| 観点 | 深掘りすべき問い |
|---|---|
| ゴール | 誰が、何のために使うか。成功の定義は何か |
| スコープ | やる事とやらない事の境界はどこか |
| UI/UX | ユーザーにどう見えるか。既存UIとの整合性 |
| データ | 入出力、既存データ構造との関係、マイグレーションの要否 |
| 状態・同期 | 誰が真実の情報源か。競合時の扱い |
| エッジケース | 例外、境界条件、エラー時の振る舞い |
| トレードオフ | 複雑さ vs シンプルさ、速度 vs 正確さ |
| 非機能 | パフォーマンス、互換性、セキュリティ、権限 |
| ロールアウト | 段階的公開、フィーチャーフラグ、ロールバック |
Step 3: 1問ずつグリルする
選択肢で質問するツール(実行環境で利用できるもの)を使って1問ずつ聞く。依存関係の上流から順に進める。
良い質問 / 悪い質問
悪い例: 「認証方式どうします?」 良い例: 「既存のSupabase Auth をそのまま使い、メール+Google の2方式に絞るのがおすすめです。理由は、新しく認証基盤を足すと運用が二重化するためです。どう思いますか?」
悪い例: 「エラー処理はどうしますか?」 良い例: 「ネットワーク断の場合、楽観更新(先にUIを変えて後でサーバーに送る)で、失敗時にトーストで通知+ロールバックがおすすめです。他のページと挙動が揃います。気になる点はありますか?」
進め方
- ユーザーが答えたら、その答えが生む次の分岐を探して次の問いに進む
- ユーザーが「わからない」と言ったら、推奨案をそのまま採用するか聞く
- 「もう十分」「ここまででいい」とユーザーが言ったら即座に終了する
Step 4: 終了
終了時は以下の3点だけを短くまとめる。計画書やファイルは作らない。
- 決まった事: 合意できた決定の箇条書き
- 未決事項: 詰めきれなかった論点
- 次のステップの候補: 実装に進む / プラン化する / 追加調査する 等
ユーザーが実装・プラン化を望んだ場合に限り、その段階で plan モードや別スキルに繋ぐ。