research-web について
依頼に応じて調査の深さを選び、観点の分解から並行調査、統合までを案内するウェブリサーチ用スキルです。構造化した調査と未解決点の管理に適しています。
主な機能
- 01調査深度の自動選択
- 02観点ごとの調査計画
- 03並行リサーチャーの編成
- 04照合と未解決点の評価
- 05継続調査の停止基準
活用シーン
- 01事実確認や比較に適した深度の選択
- 02複雑な質問の調査観点への分解
- 03複数の調査波にわたる発見と未解決点の追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ doodledood/ claude-code-plugins --skill research-webインストール後、Claude Code で/research-webを入力して読み込まれたか確認します。
詳細
調査依頼:$ARGUMENTS
詳細度
最初に:調査を始める前に、詳細度を決定します。自然言語から読み取るか、自動で選択します。
自動選択のロジック:
- 単一の事実/定義/日付 → quick
- 1つのトピックに関する焦点を絞った質問 → medium
- 比較、評価、「最適なもの」に関する質問 → thorough
- 「包括的」「すべての選択肢」「完全な分析」「深掘り」 → very-thorough
ユーザーによる明示的な指定:他の条件にかかわらず、ユーザーが指定したレベルを優先します。
トリガーが競合する場合(自動選択のみ):該当する最も高いレベルを使用します。
| レベル | エージェント/ウェーブ | ウェーブ方針 | 動作 | トリガー |
|---|---|---|---|---|
| quick | 1 | 1ウェーブのみ | 単一のウェブリサーチャーを使用し、オーケストレーションファイルは作成せず、直接回答します | 「とは」「いつ」「事実の確認」「定義」 |
| medium | 1-2 | 1ウェーブのみ | オーケストレーションファイルを作成し、1~2の観点に絞って調査します | 具体的な方法、単一の技術、焦点を絞った質問 |
| thorough | 2-4 | 重要な不足が残る間は継続 | ログを完全に記録し、エージェントを並行して実行し、相互参照し、追加ウェーブを実施します | 「比較」「最適な選択肢」「評価」「長所と短所」 |
| very-thorough | 4-6 | 網羅的になるか、収穫逓減が見られるまで継続 | 重要な不足がすべて解消されるまで複数ウェーブを実施します | 「包括的」「完全な分析」「すべての代替案」「深掘り」 |
複数ウェーブ:thorough/very-thoroughでは、十分な回答基準を満たすまでウェーブを継続します。上限は設けず、有効な進展があり不足が残る限り、ウェーブを続けます。
エージェント数の調整:見かけ上の詳細度ではなく、実際の調査観点の数に応じてエージェント数を調整します。各エージェントには、専任させる意義のある独立した領域を割り当てます。エージェントを増やしすぎるとリソースが無駄になり、少なすぎると重要な観点を見落とします。
| タスクの複雑さ | エージェント数 | 根拠 |
|---|---|---|
| 単純な事実確認 | 1 | 1つの観点で十分 |
| 直接比較(2~3つの選択肢) | 2-3 | 選択肢または評価軸ごとに1つ |
| 複数の観点にわたる評価 | 3-5 | 相互に独立した観点ごとに1つ |
| 包括的な全体像の調査 | 5-7 | 主要な領域をすべてカバー |
曖昧なクエリ:詳細度を判断できず、かつクエリが複雑な場合は、次のように確認します。
I can research this at different depths:
- **medium**: Focused research on core aspects (~3-5 min)
- **thorough**: Multi-angle investigation with cross-referencing (~8-12 min)
- **very-thorough**: Comprehensive analysis covering all facets (~15-20 min)
Which level would you prefer?
次の形式で記載します:**詳細度**:[レベル] — [理由]。その後、調査を進めます。
オーケストレーション
複数のウェブリサーチャーを反復的なウェーブで並行して実行し、その後、調査結果を統合します。
ループ:詳細度を決定 → 分解 → ウェーブ1を開始 → 結果を収集 → 相互参照 → 不足を評価 → [不足があり、進展が見込める場合:次のウェーブ] → 統合 → 出力
オーケストレーションファイル:/tmp/research-orchestration-{topic-slug}-{YYYYMMDD-HHMMSS}.md — 複数ウェーブの進捗を追跡するための外部メモリです。
- トピックスラッグ:重要な用語(名詞/形容詞)を2~4個、小文字とハイフンで記述します。冠詞、前置詞、一般的な語は除外します。
- タイムスタンプ:
date +%Y%m%d-%H%M%Sを使用したYYYYMMDD-HHMMSS形式です。
十分な回答の基準
ウェーブの継続
| レベル | 継続する条件 | 終了する条件(基準を満たした場合) |
|---|---|---|
| quick | 該当なし | 常に1ウェーブのみ |
| medium | 該当なし | 常に1ウェーブのみ |
| thorough | 重要な不足が残っており、前のウェーブで進展があり、かつ情報源の重複率が50%以下 | 重要な不足がない、収穫逓減が見られる、または情報源の重複率が50%を超える |
| very-thorough | 重大な不足が残っており、前のウェーブで進展があり、かつ情報源の重複率が50%以下 | 重大な不足がない、収穫逓減が見られる、または情報源の重複率が50%を超える |
情報源の重複率:現在のウェーブの情報源のうち、過去のウェーブでも引用されているものの割合です。50%を超える場合は、同じ情報源を繰り返し調べていることを示します。
不足の分類
| 不足の種類 | 定義 | 新しいウェーブを開始するか |
|---|---|---|
| 重要 | 中心となる質問が未回答、重大な矛盾が未解決、重要な比較が欠落 | はい(thorough、very-thorough) |
| 重大 | 重要な観点が未調査、回答にさらなる深掘りが必要、新たな調査領域が判明 | はい(very-thoroughのみ) |
| 軽微 | あれば望ましい詳細、例外的なケース、関連性の低い情報 | いいえ — 制約事項として記載します |
充足性評価
定義:
- 調査結果:質問の一部に答える、出典の引用を伴う個別の情報です。
- 実質的な調査結果:それまでの調査で確認されていない新しい情報です。
- 権威性の高い情報源:公式ドキュメント、査読済み研究、定評のある出版物、該当分野で認められた専門家です。
- 独立した情報源:情報の根本的な出所が異なる情報源です。同じ研究を引用している2つの記事は、1つの情報源として扱います。
- 高い信頼度:独立した情報源が3つ以上、または権威性の高い情報源が2つ以上あります。
- 中程度の信頼度:独立した情報源が2つ、または権威性の高い情報源が1つあります。
- 低い信頼度:裏付けのない、権威性の低い情報源が1つだけあります。
次のいずれかを満たした場合、十分と判断します:
- 重要な未解決点がすべて解消されている(徹底調査)、または重大な未解決点がすべて解消されている(非常に徹底した調査)
- 収穫逓減:新たな実質的な調査結果が2件未満で、信頼度も向上せず、新たな領域も見つかっていない
- ユーザーが中止を依頼した
- すべての側面で信頼度が中程度以上である
次のすべてを満たした場合、続行します:
- 未解決点が開始基準に達している(徹底調査:重要な未解決点、非常に徹底した調査:重大な未解決点)
- 前回の調査段階で成果があった(調査結果が2件以上、または信頼度が向上、または新たな領域が見つかった)
- 前回までの調査段階との情報源の重複が50%以下
フェーズ 1:初期設定(簡易調査ではスキップ)
1.1 タイムスタンプの取得と ToDo の作成
date +%Y%m%d-%H%M%S と date '+%Y-%m-%d %H:%M:%S' を実行します。
ToDo には、調査領域とログへの書き込み操作を含めます。分解の過程で項目を追加します。
- [ ] Create orchestration file
- [ ] Topic decomposition→log
- [ ] (expand: research facets as decomposition reveals)
- [ ] Launch Wave 1 agents
- [ ] Collect Wave 1 findings→log
- [ ] Cross-reference→log
- [ ] Evaluate gaps→log
- [ ] (expand: Wave 2+ if continuing)
- [ ] Refresh: read full orchestration file
- [ ] Synthesize→final output
重要な ToDo(省略不可):各フェーズ/エージェントの後に →log、統合の前に Refresh: を実行します。
1.2 オーケストレーションファイルの作成
# Web Research Orchestration: {topic}
Timestamp: {YYYYMMDD-HHMMSS}
Started: {YYYY-MM-DD HH:MM:SS}
Thoroughness: {level}
Wave Policy: {single wave | continue while critical gaps | continue until comprehensive}
## Research Question
{Clear statement}
## Topic Decomposition
(populated in Phase 2)
## Wave Tracking
| Wave | Agents | Focus | Status | New Findings | Decision |
|------|--------|-------|--------|--------------|----------|
| 1 | {count} | Initial investigation | Pending | - | - |
## Research Assignments
(populated in Phase 2)
## Collected Findings
(populated as agents return)
## Cross-Reference Analysis
(populated after each wave)
## Gap Evaluation
(populated after each wave)
## Synthesis Notes
(populated in final phase)
フェーズ 2:トピックの分解とエージェントの割り当て
2.1 互いに直交する側面に分解する
クエリを分析し、重複しない調査の切り口を特定します。各エージェントには、明確な境界を持つ個別の領域を割り当てます。
- 中心的な質問:根本的に何を尋ねられていますか?
- 側面:どのような個別の側面を調査する必要がありますか?(技術的事項、比較、実用面、現状、制約)
- 直交性の確認:各側面が異なる領域を扱っていることを確認します。自然な流れで同じクエリを実行する側面が複数あってはなりません。境界を明確に説明できるようにします。
不適切(重複あり):エージェント 1 = 「Firebase を調査」、エージェント 2 = 「リアルタイムデータベースを調査」 適切(直交):エージェント 1 = 「Firebase — 機能、料金、制限」、エージェント 2 = 「Firebase 以外の代替サービス:Supabase、Convex、PlanetScale」
直交性を確保する方法:対象、切り口、時間軸、観点で分けます。
2.2 明確な境界を設けてエージェントの割り当てを計画する
| 側面 | 調査範囲 | 明示的に除外する内容 |
|---|---|---|
| {facet 1} | "{scope}" | "{what others cover}" |
| {facet 2} | "{scope}" | "{what others cover}" |
エージェント数より側面の数が多い場合:(1)中心的な質問に直接答える、(2)比較を可能にする、(3)ユーザーが指定した懸念事項に対応する、の順に優先します。関連する側面をまとめます。残りは第 2 ウェーブに回します。
2.3 分解結果と割り当て内容でオーケストレーションファイルを更新する
フェーズ 3:並行して調査エージェントを起動する
3.1 ウェブ調査エージェントを起動する
vibe-extras:web-researcher エージェントを並行して起動します(1つのメッセージで複数回呼び出します)。
第 1 ウェーブのプロンプトテンプレート — エージェントの調査結果に偏りが生じないよう、中立的な表現を使用します:
Investigate the relationship between {topic} and {facet area}. Include evidence both supporting and contradicting common assumptions about {topic}.
YOUR ASSIGNED SCOPE:
- Focus areas: {specific aspect 1}, {specific aspect 2}, {specific aspect 3}
- This is YOUR domain — go deep on these topics
DO NOT RESEARCH (other agents cover these):
- {facet assigned to Agent 2}
- {facet assigned to Agent 3}
Current date context: {YYYY-MM-DD} — prioritize recent sources.
---
Research context:
- Wave: 1 (initial investigation)
- Mode: Broad exploration within your assigned scope
- Report gaps or conflicts for potential follow-up waves
第 2 ウェーブ以降のプロンプトテンプレート — 確立された背景情報を踏まえ、特定の未解決点を調査します:
{Specific gap or conflict to resolve}
Context from previous waves:
- Previous findings: {summary of relevant findings}
- Gap being addressed: {specific gap}
- Established facts: {what Wave 1 found}
YOUR ASSIGNED SCOPE:
- Focus narrowly on: {targeted aspect 1}, {targeted aspect 2}
- This gap was identified because: {why previous research was insufficient}
DO NOT RESEARCH:
- Topics well-covered in Wave 1
- {areas other Wave 2 agents handle}
Current date context: {YYYY-MM-DD} — prioritize recent sources.
---
Research context:
- Wave: {N} (gap-filling)
- Mode: Targeted investigation — focus on the gap above
- Build on previous findings, don't repeat broad exploration
- Flag if gap cannot be resolved
迎合防止のガード:エージェントへのプロンプトで、期待する調査結果を示唆しないようにします。「X が Y をどう改善するかを調査する」ではなく、「X と Y の関係を調査する」とします。バランスの取れた調査を促すため、「賛成と反対の両方の根拠」を含めます。
バッチ処理:徹底調査では、2~4つのエージェントすべてを1つのバッチで起動します。非常に徹底した調査では、3~4つずつバッチに分けます(エージェントが5つの場合:3+2、6つの場合:3+3)。第 2 ウェーブ以降では、焦点を絞ったエージェントを1~3つ起動します。
3.2 エージェントの調査結果を収集する
各エージェントは、調査結果をインラインで返すのではなく、ファイルパスを返します。各エージェントの完了後に、次の手順を実行します。
- エージェントの返答メッセージから調査ファイルのパスを解析します
- エージェントの調査ファイルを読み、調査結果の全容を抽出します
- エージェントのステータス、主な調査結果、確信度、出典の引用をオーケストレーションファイルに記録します。すべての出典 URL を保持してください。
3.3 エージェントの失敗に対処する
エージェントがタイムアウトした場合、または不完全な結果を返した場合:
- 再試行する条件:重要な不足部分をカバーする場合、比較のために明示的に必須とされている場合、またはユーザーが要求している場合
- 不足として記録する条件:優先度が高い/低い場合、ほかのエージェントが一部をカバーしている場合、またはその情報がなくても統合が可能な場合
- エージェントが1つ失敗しても、統合を決して止めないでください
- すべてのエージェントが失敗した場合:Wave 1 → よりシンプルな分解で再試行します。Wave 2 以降 → 以前の調査結果をもとに進めます
フェーズ 4:相互参照、評価、反復
4.1 エージェント間の調査結果を分析する
次の点を特定します:
- 一致点:複数のエージェントが類似した結論に達している
- 矛盾点:調査結果が相反している(エージェントによる「意見の分かれる」調査結果を含む)
- 結論不能:エージェントが答えを特定できなかった
- 不足部分:どのエージェントもカバーしていない
- 予想外の点:注意を払うべき予想外の調査結果
意見の相違の分類 — 解決の前に、矛盾を分類します:
- 事実上の矛盾(同等の権威を持つ出典):さらに調査し、より権威の高い出典を優先し、解決できない場合は意見が分かれたままにします
- 未解決の問いに関する矛盾(調査が継続中):両方の見解を保持し、誤った合意を決して強制しないでください
- 権威の非対称性:疑うべき具体的な理由がない限り、より権威の高い出典を重視します
4.2 相互参照分析をオーケストレーションファイルに更新する
一致点、矛盾点(分類を含む)、不足部分、重要な知見を記録します。
4.3 主要な前提の確認(thorough/very-thorough の場合)
相互参照の後、隠れた前提を明らかにします:
- 現時点での結論が成り立つには、何が真でなければなりませんか?
- どの前提が結論を支えるうえで不可欠ですか(破綻すると、ほとんどの結論が崩れる前提)?
- 弱まった前提を検証するには、どのような情報が必要ですか?
よくある隠れた前提:最初に見つかった権威ある出典は信頼できる、トピックの境界は正しく設定されている、反証がないことは合意を意味する、検索結果が全体像を反映している。
4.4 要の分析(thorough/very-thorough の場合)
破綻すると最も多くの結論が崩れる主張を3~5件特定します。これらの要となる主張は検証 ROI が最も高いため、敵対的な検証や追加調査は、まずこの主張に集中させてください。
4.5 不足部分を評価し、次のウェーブを決定する(quick/medium では省略)
不足部分をそれぞれ分類します(critical/significant/minor)。ウェーブの生産性を評価します。必要十分の基準を適用します。
## Gap Evaluation (Wave {N})
### Critical Gaps
- [ ] {Gap}: {Why critical}
### Significant Gaps
- [ ] {Gap}: {Why significant}
### Minor Gaps (note, don't pursue)
- {Gap}: {Why minor}
### Wave Productivity
- Substantive findings: {count}
- Confidence improvements: {which areas}
- New areas: {list or "none"}
- Diminishing returns: {yes/no}
### Decision
**{CONTINUE to Wave N+1 | SATISFICED}** — {reason}
4.6 次のウェーブを開始する(継続する場合)
- Wave Tracking テーブルを更新します
- 特定の不足部分に絞ったプロンプトを設計します(Wave 1 より範囲を狭めます)
- 焦点を絞った
vibe-extras:web-researcherエージェントを1~3個起動します - 調査結果を収集し、4.1 に戻ります
フェーズ 5:統合して出力する
5.1 コンテキストを再確認する(必須)
オーケストレーションファイル全体と、すべてのエージェント調査ファイルを読みます。すべてのエージェントの調査結果、相互参照、不足部分の評価、ウェーブの追跡、すべての引用にアクセスできることを確認します。
- [x] Refresh: read full orchestration file + all agent research files ← Must complete before synthesis
- [ ] Synthesize→final output
5.2 外部視点による確認(thorough/very-thorough の場合)
最終決定の前に、参照クラス推論を適用します:「この種の調査から、信頼できる結論が得られる頻度はどれくらいか?」調査分野が質の高いウェブ上の出典で十分にカバーされているか、または入手可能な証拠に系統的な不足がある可能性のあるニッチな分野かを検討します。
5.3 出力を生成する
すべてのエージェントの調査結果を統合します。口頭での自己申告ではなく、出典間の一致度と証拠の質の階層に基づいて、構造的に確信度を判断します。過信も自信不足も、品質を低下させます。
## Research Findings: {Topic}
**Thoroughness**: {level} | **Waves**: {count} | **Researchers**: {total} | **Sources**: {aggregate}
**Overall Confidence**: High/Medium/Low
**Satisficing**: {why research concluded}
### Executive Summary
{4-8 sentences. Key takeaway for the user.}
### Detailed Findings
#### {Finding Area 1}
{Synthesized insights with inline citations from multiple agents}
{State warrant: reasoning connecting evidence to conclusion}
#### {Finding Area 2}
{...}
### Comparison/Evaluation (if applicable)
| Option | Pros | Cons | Best For |
|--------|------|------|----------|
| {opt 1} | {evidence} | {evidence} | {synthesis} |
### Recommendations
{Evidence-based suggestions. State conditions under which they would not hold.}
### Confidence Notes
- **High confidence**: {strong multi-source agreement}
- **Medium confidence**: {some support}
- **Contested**: {high-authority sources contradicted — both positions presented}
- **Inconclusive**: {couldn't determine despite searching}
- **Low confidence**: {single source or weak agreement}
### Key Assumptions
{Load-bearing assumptions that must hold for conclusions to be valid}
### Research Progression (multi-wave)
| Wave | Focus | Agents | Key Contribution |
|------|-------|--------|------------------|
| 1 | Initial investigation | {N} | {established} |
| 2 | {Gap focus} | {N} | {resolved} |
### Gaps & Limitations
- {Unanswered questions}
- {Areas needing more research}
- {Source biases}
- {Minor gaps not pursued}
- {Protocol deviations from initial plan}
### Source Summary
| Source | Authority | Confidence | Date | Used For | Wave |
|--------|-----------|------------|------|----------|------|
| {url} | High/Med | {GRADE-adjusted} | {date} | {finding} | 1 |
---
Orchestration file: {path}
Research completed: {timestamp}
Quick モードのフロー
quick(単一の事実に関する)クエリの場合:
- 次のように記載します:
**Thoroughness**: quick — [reason] - クエリを指定して、単一の
vibe-extras:web-researcherエージェントを起動します - 返されたパスからエージェントの調査ファイルを読みます
- 調査結果をそのままユーザーに提示します(統合作業は不要です)
原則
| 原則 | ルール |
|---|---|
| 徹底性を最優先 | 調査を始める前にレベルを決定する |
| ファセットに応じた規模調整 | 徹底性のレベルだけでなく、実際に独立したファセットの数に合わせてエージェント数を調整する |
| 各フェーズ後に記録する | すべてのフェーズ/エージェントの後にオーケストレーションファイルを更新する |
| 並列実行 | 可能な場合はエージェントを同時に起動する |
| 中立的な表現 | エージェントへのプロンプトで、期待する調査結果を示唆しない |
| 相互参照 | エージェント間の調査結果を比較し、解決する前に意見の相違を分類する |
| ギャップの評価 | 各ウェーブの後にギャップ(重大/重要/軽微)を分類する |
| 主要な前提の確認 | 相互参照の後に、隠れた前提を明らかにする |
| 要の主張に注力 | 失敗すると最も多くの結論が崩れる主張を検証対象とする |
| 外部視点(徹底以上) | 最終決定の前に参照クラスによる推論を適用する |
| ウェーブの反復 | 満足できる結果に達するまで、または収穫が減るまで続ける |
| コンテキストの更新 | 統合する前に、オーケストレーションファイル全体を読む — 必須 |
| 情報源の保持 | 統合の過程でも引用を維持する |
| 構造に対する確信度 | 口頭での報告ではなく、情報源の一致度と証拠の層に基づいて評価する |
| ギャップに対する誠実さ | 努力しても回答できなかったことを明示する |
絶対にしないこと
- 徹底性を決定せずにエージェントを起動する
- ログへの記録タスクやオーケストレーションファイルの更新を省略する
- オーケストレーションファイルを読み直さずに統合する
- 情報源の引用なしに調査結果を提示する
- エージェント間の対立、特に「意見が分かれている」調査結果を無視する
- 期待する調査結果を示唆するようなプロンプトをエージェントに提示する
- 徹底的/非常に徹底的な調査でギャップの評価を省略する
- 収穫の減少を検知した後もウェーブを続ける
- 重大/重要なギャップが残っており、ウェーブにまだ効果があるのに終了する
- 実際のファセット数を超えてエージェントを過剰に起動する