mcpField
R
research-fanout

research-fanout

github.com/dzhuneyt生産性055 回インストール2 週間前に更新
リポジトリ

research-fanout について

対話で目標を絞り、承認済みの調査計画を作成してから、複雑さに応じて調査を並列化し、結果を随時まとめるリサーチスキルです。進行中に利用者が方向を調整できます。

主な機能

  1. 01対話形式のスコープ確認
  2. 02承認制の調査計画ツリー
  3. 03コスト別の並列調査
  4. 04調査結果の逐次集約
  5. 05不足点を含むレポート作成

活用シーン

  1. 01曖昧な調査課題の範囲設定
  2. 02テーマを並列調査に分割
  3. 03調査中の方向修正

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dzhuneyt/skills --skill research-fanout

インストール後、Claude Code で/research-fanoutを入力して読み込まれたか確認します。

詳細

リサーチの並列展開

曖昧なリサーチ目標を、並列かつコスト別に調査できる形にします。スコープを絞るためのヒアリング → 承認済みの計画ツリーの作成 → サブエージェントへの作業の振り分け → 完了した調査から順次取りまとめ → レポートの提出。

タスク: $ARGUMENTS

(対話型ではないウェブ検索ハーネスの)deep-research とは異なり、このスキルでは、対話形式でスコープを絞るヒアリングと承認可能な計画ツリーの作成を最初に行います。コストを考慮して各分岐のモデルを使い分け、ユーザーが進行中に指示できるフォークごとの取りまとめをリアルタイムで提供します。

ステージ 1 — 状況を把握する

  • $ARGUMENTS を読みます。内容が明確であれば、ステージ 2 に進みます。
  • 用語が曖昧な場合は、ヒアリングの前にウェブ検索を 1~3 件行い、背景を把握します。目標は、リサーチの分岐数を適切に判断できる程度に分野を理解することです。まだ質問への回答を見つける段階ではありません。

ステージ 2 — ヒアリング(最大 3 問)

スコープを絞ります。上限は最大 3 問、一度に 1 問です。

  • できるだけ選択式にし、必要に応じて自由回答にします。
  • ユーザーの回答ごとに、理解した目標を 1~2 文で簡潔に言い換えて返信します。それ以上は書きません。
  • スコープが明確になったら、早めに終了します。質問すること自体を目的に、質問数を使い切らないでください。

ステージ 3 — 計画ツリー(承認ゲート)

リサーチの「全体像」を、入れ子の箇条書きツリーで提示します。

  • 上位分岐は約 3 つ(状況に応じて 2~5 つ)とし、それぞれを主張ではなく、ユーザーが問うべき疑問形(未知の未知)で表現します。
  • 下位の箇条書きで各分岐を個別の質問に分解します。各質問が並列作業単位になります。
  • コストを抑えるため、質問の総数は約 8 件までにします。削る場合は、その旨と削除した内容を伝えます。

その後、ユーザーが承認するか、自由形式で修正します。修正のたびに計画ツリーを再提示します。明確な実行指示(「進めて」「実行して」「承認」など)があるまでは、作業を開始しません。

ステージ 4 — ティア分けと実行開始

各質問に直感的な複雑度を付け、すべての質問を最大並列度でバックグラウンドのサブエージェントとして実行します(複数のディスパッチを単一のメッセージで送信)。general-purpose エージェントを使用します。ウェブを主な情報源とし、トピックに応じてローカルファイルも読み取ります。

ティア質問の特徴Claude Code のモデル
低コスト情報の検索、事実の収集、機械的な作業claude-haiku-4-5
標準一般的な情報の統合/比較claude-sonnet-5
高度曖昧、判断の難易度が高い、分野横断的claude-opus-4-8

Claude 以外のホストでは、各ティアをそのホストの低コスト/中位/最上位モデルに対応させます。

各サブエージェントには、簡潔な作業指示と固定の返却形式を指定します。

## <leaf question>
- Findings: <concise, evidence-backed>
- Sources: <urls / refs>
- Confidence: high | medium | low
- Gaps: <what it couldn't resolve>

ステージ 5 — 進行中の取りまとめ

実行中のフォークを監視します。フォークが完了するたびに、すべての完了を待たず、要約した調査結果をすぐにチャットへ投稿します。

  • ユーザーが途中で修正指示を出した場合は、残りのフォークを必要に応じて調整、追加、または停止します。
  • ユーザーが何も発言せず、結果を見守る場合も、引き続き取りまとめます。
  • フォークが失敗する、または結果が null の場合は、1 行でその旨を伝え、残りの作業を続けます。

ステージ 6 — 統合する

すべてのフォークが完了したら、次の手順を実行します。

  1. 重複する調査結果を統合し、フォーク間の矛盾を明示します。
  2. 完全版レポートを research/<topic-slug>-YYYY-MM-DD.md に書き込みます。分岐ごとにセクションを設け、調査結果、情報源、未解決の点を記載します。
  3. チャットにエグゼクティブサマリーを表示します(元の目標への回答、主な調査結果、確信度、残された不明点)。

アンチパターン

  • ヒアリングを省略して、サブエージェントの実行に進まないでください。
  • 計画ツリーの明示的な承認前に、実行を開始しないでください。
  • すべての質問に同じモデルを割り当てないでください。ティア分けはコストを管理する仕組みです。
  • 取りまとめを最後に一括で行わないでください。フォークが完了するたびに結果を共有します。
  • 上位分岐を回答として表現しないでください。調査対象の質問として表現します。
  • 質問数の上限を超えて際限なく増やさないでください。削除した内容がある場合は、ユーザーに伝えます。

コメント