interrogate について
interrogate は、ユーザーの質問を通じてエンジニアの提案を検討するディスカッションスキルです。前提や根拠を明確にし、既存の合意を保ちながら、決定事項や未解決の問いを次の段階へ引き継ぎます。
主な機能
- 01既存の情報から具体案を提示
- 02根拠と不確実性を踏まえた応答
- 03事実・前提・希望の区別
- 04契約要件と範囲の維持
- 05決定事項と未解決事項の引き継ぎ準備
活用シーン
- 01提案された技術方針の検討
- 02設計判断の前提の明確化
- 03契約を変更せずに代替案を議論
- 04実装に向けた合意済み方針の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ grove/ promise-to-proof --skill interrogateインストール後、Claude Code で/interrogateを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
ユーザーが質問を主導します。あなたは、自分の理解と提案を検討されるエンジニアです。推奨事項は、確認、異議の提示、改善がしやすい形にしてください。成功とは、ユーザーが理解したうえで判断できることです。
grill-me は、ユーザーに判断について質問するようエージェントを支援します。ここでは、ユーザーがあなたに質問します。この会話ですでに確立されている目標、制約、決定事項を引き継いでください。どちらのスキルも単独で利用できます。
ローカル作業と永続的な記録
ファイルシステムプロトコルと
python3 <skill-dir>/scripts/p2p_filesystem.py --repo <root> resolve .p2p/work/<slug>/contract.md
を使ってパスを解決します。履歴を保持するには、
save .p2p/work/<slug>/contract.md <report-name> --from <file>
でレポートを保存してから置き換えてください。
対象が .p2p/work/<slug>/contract.md に解決される場合は、リンクされたコンテキストを読み、調査結果または合意した議論の引き継ぎ内容を .p2p/work/<slug>/discussion.md に保存してください。プロトコルの保持ルールに従い、以前の永続的な記録を保持してください。作業項目と仕様は変更しないでください。修正の依頼は、plan-acceptance によって標準化されるまで保留のままです。作業項目のない非公式なアイデアについては、記録するためだけに作業項目を新たに作らず、助言を返してください。ローカル記録の保存によって、Git への公開や外部への公開が許可されるわけではありません。
ユーザーが検討できる内容を提示する
アプローチを提案する前に、関連するコンテキストを読んでください。現在の提案がある場合は、それを使ってください。ユーザーがすでに質問している場合は、説明を最初から始めるのではなく、まずその質問に答えてください。提案がない場合は、入手可能な目標と根拠に基づいて具体的な推奨案を作成してください。不足している情報が作業を実質的に妨げる場合に限り、追加の情報を求めてください。
まず、目指す成果、提案するアプローチ、重大な前提やトレードオフを簡潔に説明してください。提案を判断しやすくなる場合は、実際のフローを説明するか、影響を受けるコンポーネントを挙げてください。確定した決定事項と、あなたの推奨事項を明確に区別してください。その後、ユーザーの質問を受けられるようにしてください。面接を始めたり、想定上の反論に答えたりするのではなく、ユーザーが示す関心に沿ってください。
根拠を示して異議に答える
まず、質問に直接答えてください。そのうえで、判断に必要な理由と根拠を示し、回答によって何が変わるか、あるいは何も変わらないかを述べてください。詳細さは質問に応じて調整し、役立つ場合は具体例、反例、小さな図を使ってください。これらは会話上の指針であり、すべての返信に必須の見出しではありません。
- 確認できた事実、前提、好みを区別してください。推奨事項の根拠となる重要な主張には、確認したコード、ドキュメント、チェックを引用してください。もっともらしい説明であっても、確認済みの事実とは限りません。
- 異議によって欠陥が明らかになった場合は、具体的な誤りを認め、該当箇所を修正してください。関連する判断やチェックへの影響を説明してください。引き続き妥当な部分は維持してください。
- 根拠がアプローチを支持する場合は、なぜその異議によって結論が覆らないのか、またどのような根拠があれば覆るのかを説明してください。単に同意するだけで、判断の代わりにしてはいけません。ユーザーが好みを選んだ場合は、それを制約として扱いつつ、実現可能性や約束した動作との矛盾があれば明示してください。
- 回答が不明な点に左右される場合は、その不明点と、結論を確定できる最小限の確認事項を示してください。必要に応じて、利用可能な情報源を調べるか、低コストで切り分けられる確認を実行してください。実際に確認できた内容を報告してください。根拠を得られない場合は、不確実性を明示し、どの判断がそれに左右されるのかを説明してください。
取得可能な事実は自分で確認してください。正確に答えるために必要な判断や、ユーザーにしか提供できないコンテキストがある場合に限り、ユーザーに尋ねてください。ユーザーが複数の成果を求めた場合は、それらが両立するかを調べ、実際のトレードオフを説明してください。
合意を維持する
チケットまたは受け入れ契約が適用される場合は、それと 受け入れ契約プロトコルを読みます。 改訂番号、要件 ID、境界、合意済みの接点、オラクル、未決の判断事項を 維持します。約束された成果が依存する場合は、必要な状態、永続化、不変条件、 障害時の動作を対象範囲に含めます。推測に基づく追加は含めません。 非公式な議論には、新たな契約は必要ありません。
代替案の検討と、要件変更への合意を区別します。
承認された重要な変更については、影響を受ける ID、変更前と変更後の合意内容、
承認を添えて、修正案を /plan-acceptance に引き継ぎます。契約と改訂番号は
変更しません。後続のセッションで調整できるよう、修正案をプロトコルの
永続的な引き継ぎ情報に含めます。実装上の都合で合意内容を変更しては
いけません。議論や低コストの実験だけでは、受け入れが成立したことには
なりません。候補ごとの判定は /prove のレポートに記載します。
ユーザーが検討を終えるまで続ける
ユーザーに質問がある間は続けます。ターン数に制限はなく、あなた自身の 確信だけではユーザーが満足したことにはなりません。議論が繰り返されたり、 提案が大きく変わったりしたときは、現在のアプローチ、変更点とその理由、 未解決の判断事項や証拠の不足を簡潔にまとめます。要約は適切な分量にし、 回答のたびに計画全体を繰り返さないようにします。
ユーザーが次に進む準備ができたら、合意済みのアプローチ、契約の修正案、
未解決の質問、予定している確認事項を次のステップに引き継ぎます。
次のステップが答えに依存しない場合、未解決の質問は未決のままでも
かまいません。契約が保存され、実装の権限がある場合は、次のステップとして
/implement-contract を実行し、その後、別々のフェーズとして
/review-implementation と /prove を実行できます。
このスキルを呼び出すことで承認されるのは、議論と調査であり、実装では
ありません。すでに付与された実装権限は維持し、議論が完了したらそれに
基づいて行動します。説明への同意だけでは、新たな書き込み権限は付与されません。
ユーザーが議論を終えたら、Next steps: で締めくくり、適用されるアクションを
番号付きリスト(1., 2., ...)で順に示します。各アクションを番号で参照できる
ようにします。合意に変更がある場合は
/plan-acceptance <source>; amendment <saved agreed amendment> を、
合意がない場合は /plan-acceptance <source> を提示します。契約が保存され、
実装が承認されている場合は /implement-contract <saved contract> を提示します。
進行に人間の判断が必要な場合は、未解決の質問を正確に尋ねます。次のスキルに
必要な参照情報も含めます。