antfu-query について
ユーザーへの質問を通じて、決定事項を分岐する設計ツリーに整理し、複数ラウンドで確認するスキルです。エージェントが行動する前に要件を明確にし、未決事項を解決してから合意内容をまとめます。
主な機能
- 01決定事項を設計ツリーに整理
- 02対話型ツールで質問
- 03具体的な選択肢とトレードオフを提示
- 04各ラウンド後に質問を再構成
- 05実行せずに決定事項を要約
活用シーン
- 01ソフトウェア変更の要件確認
- 02依存する設計上の選択を順に解決
- 03実装前の合意形成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ antfu/ skills --skill antfu-queryインストール後、Claude Code で/antfu-queryを入力して読み込まれたか確認します。
詳細
質問
共通認識に達するまで、ユーザーに徹底的に質問します。これを設計ツリーとして整理します。つまり、それぞれの決定から、それに連なる決定へと枝分かれさせます。
Question ツールを使って質問する
ユーザーへの質問はすべて、エージェントのインタラクティブな質問ツール(Claude Code の AskUserQuestion など、他のエージェントにおける同等のツール。後から利用可能になる場合は、最初に読み込みます)を通じて行います。返信に質問を通常のテキストとして書かないでください。
- 各質問には、簡潔なトレードオフの説明を添えた、具体的で異なる選択肢を2~4個用意します。
- 推奨する回答を先頭に置き、
(Recommended)と記します。これを選べば、推奨案を承認したことになります。ツールが自由回答用の「その他」オプションを自動で追加するため、自分で追加しないでください。 - ヘッダーは短くします。選択肢が相互排他的でない場合に限り、複数選択を使います。
- その時点で質問できる決定事項をすべて、1回の呼び出しにまとめます。Claude Code では1回につき最大4問です。決定事項がそれより多い場合は、最も判断を要する質問を先に行い、残りは次のラウンドで尋ねます。
- 各質問は、推奨選択肢を選ぶことが自然な「はい」となるように表現します。
ラウンド
ツリーに沿ってラウンドごとに進めます。「フロンティア」とは、前提となる決定がすでに確定し、まだ聞いていない回答を推測せずに質問できる決定事項すべてを指します。まず1ラウンド分の質問をすべて行い、その後、回答を待ちます。
- 回答が得られるたびにツリーを見直します。確定した決定によってフロンティアが広がり、次の質問が可能になります。次のラウンドを始める前に、フロンティアを計算し直します。
- 回答が同じラウンドで未確定の別の質問に依存する質問は、後のラウンドで行います。
- 自由回答の「その他」やユーザーのメモも、新たな入力として扱います。そこから分岐が追加されたり、削除されたりする場合があります。
事実と決定事項
事実を調べるのはあなたの役割であり、ユーザーに尋ねることではありません。ファイル、コード、ツール、ドキュメントなど、環境から確認できる事実が必要な場合は、自分で調べるか、新しいコンテキストウィンドウを用意したサブエージェントに調査を依頼します。ユーザーに確認できることを尋ねないでください。
調査のために作業を止めないでください。調査中の事項は前提として未確定のままですが、それに依存する質問だけを待たせます。それ以外のフロンティアの質問は、すぐに行います。決定するのはユーザーです。それぞれの決定について質問し、回答を待ちます。
完了
フロンティアが空になり、設計ツリーのすべての分岐を確認し、暗黙のまま残っている前提がなくなった時点で、セッションは完了です。確定した決定事項を短いリストにまとめ、共通認識に達したことをユーザーが確認するまでは、それらに基づいて行動しないでください。