plan-interrogate について
plan-interrogateは、実装前に計画の未決事項を解消するスキルです。依存関係に沿って一問ずつ確認し、決定事項の一覧を作成します。必要に応じてプロジェクト用語や決定記録もまとめます。
主な機能
- 01計画の言い換えと確認
- 02決定事項と依存関係の整理
- 03焦点を絞った質問を一つずつ提示
- 04既存コードと文書の確認
- 05解決済み決定事項の一覧作成
活用シーン
- 01コーディング前の計画の明確化
- 02依存する設計上の選択肢の解決
- 03プロジェクト固有用語の記録
- 04議論のあった重要な決定の記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rohitg00/ pro-workflow --skill plan-interrogateインストール後、Claude Code で/plan-interrogateを入力して読み込まれたか確認します。
詳細
plan-interrogate
コードを書く前に未決定の事項をすべて解決し、計画をスケッチから確定へと導きます。
方法
- 計画を1段落で言い換えます。これが検討対象の計画であることをユーザーに確認します。言い換えが誤っている場合は先に進みません。
- 意思決定ツリーを抽出します。分岐点はすべてノードにします。各ノードに 未決定 または 解決済み の印を付けます。解決済みのノードには出典タグを付けます。
user(ユーザーが回答)またはinferred(コードベースまたは既存の制約によって確定)。 - 依存関係の順に解決します。依存するすべてのノードが解決済みになると、そのノードは準備完了です。
- 準備ができた未決定のノードごとに、質問を1つだけします。質問は簡潔にし、できるだけ二択または少数の選択肢にします。
- すべての質問に 推奨回答 と、その理由を述べる1文を添えます。ユーザーはその回答を承認したり、別の選択肢を選んだり、異議を唱えたりできます。
- 質問する前に、答えがコードベース、過去のコミット、既存のドキュメントにすでにないか確認します。見つかった場合は質問を省略し、出典
inferred: <path>を付けてノードを解決済みにします。 - 未決定のノードがゼロになったときにのみ終了します。解決済みのツリーはフラットリストとして出力します。形式:
Decision - Choice - Source (user | inferred: <path>)
アンチパターン
- 複数の質問を一度にする。ユーザーは文脈を見失い、こちらも回答ごとに対応できなくなります。
- 調べる前に質問する。15秒で読めば答えが分かるなら、先に読みます。
- 推奨を示さずに質問する。立場のない質問はアンケートであり、設計の負担をユーザーに押し付けます。
- 未解決のノードをそのまま進める。依存関係が確定していなければ、後続の質問をするのは時期尚早です。
成果物
検討では、回答だけでなく3つの成果物を作成します。それぞれの作成を提案しますが、強制はしません。
-
意思決定台帳(常に作成)。解決済みのツリーをフラットリストにします。
Decision - Choice - Source (user | inferred: <path>) -
CONTEXT.md(検討でプロジェクト固有の用語が出てきた場合)。用語を共有するための簡潔なファイルです。ユーザーと確定させた各ドメイン用語に、プロジェクト独自の言葉で1行の定義を付けます。次回以降のセッションで、エージェントが同じことを表すのに20語も使わずに済み、コード内の名称にも一貫性を持たせられます。用語は1行に1つずつ記載します。term - what it means here今後のセッションでは、このファイルを参照するよう案内します。再実行時には既存の内容を上書きせず、新しい用語を該当箇所に追加します。 -
意思決定記録(意見が分かれたノード、または覆すのが難しいノードのみ)。後から読む人が疑問に思う各決定について、背景、選択した内容、却下した代替案、その理由を簡潔に記録します。
docs/decisions/NNNN-slug.mdに保存します。まずディレクトリを確認し、既存の記録の最大番号から採番して、番号が重複しないようにします。当たり前の決定は省きます。些細な選択まで記録すると、ノイズになります。
出力規約
ユーザーが計画書に貼り付けられる意思決定台帳を出力します。概要の文章は付けません。曖昧な表現は使いません。ユーザーがノードの決定を見送る場合は、その理由とともに DEFERRED と記します。これは未決定と同じではありません。CONTEXT.md や意思決定記録を書く場合は、汎用テンプレートではなく、プロジェクトの言葉で記述します。