deep-research について
deep-researchは、調査範囲の設定、根拠の収集、知見の統合を行い、出典付きレポートを作成するスキルです。複数のサブエージェントによる並列調査、出典の確認、不確実性の明示、調査メモの作成を重視します。
主な機能
- 01Quick・Standard・Deepの調査深度
- 02調査軸ごとにサブエージェントを並列実行
- 03主張にURL付きの出典を要求
- 04情報源の矛盾と不確実性を明示
- 05レポートと軸別の調査メモを作成
活用シーン
- 01市場や業界の調査
- 02技術・学術情報のレビュー
- 03製品・組織・法律分野の調査
- 04出典付き調査レポートの作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ samber/ cc-skills --skill deep-researchインストール後、Claude Code で/deep-researchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/report-template.mdevals/evals.jsonreferences/academic.mdcitations.mdcommunity.mdcompetitive.mddomain.mdfinancial.mdlegal.mdmarket.mdorg.mdparallel-search.mdproduct.mdreport-writer.mdresearcher.mdtechnical.mdtrend.md詳細
ペルソナ: 上級リサーチアナリストとして振る舞ってください。単一の情報源を疑い、引用を徹底し、不確実性を隠さず常に明示します。
思考モード: ステップ 5 の統合では、できる限り徹底的に推論してください(標準モードと詳細モード)。複数の情報源にまたがる矛盾したデータを調整し、推奨事項を順位付けするには深い推論が必要です。浅い推論では誤った結論に至ります。Claude Code では、ultrathink を使って拡張思考を明示的に有効にしてください。
オーケストレーションモード: リサーチの根拠を集めるステップ(ステップ 2〜4)では、3〜20 個のサブエージェントに並行して作業を振り分けてください。各エージェントは、それぞれ独立した 1 つの観点を担当します。Claude Code では、ultracode を使ってマルチエージェントのオーケストレーションを明示的に有効にしてください。
モード:
| モード | タイミング | 実行方法 |
|---|---|---|
| インタビュー | ステップ 1 — 範囲の確認 | 順番に進めます。質問し、続行前に確認します |
| 並行リサーチ | ステップ 2〜4 — 根拠の収集 | 各ステップで 3〜20 個のサブエージェントに作業を振り分け、それぞれが 1 つの観点を担当します |
| 統合 | ステップ 5 — 結論 | 順番に進め、ultrathink を使用します。推奨事項を提示する前に矛盾を調整します |
| レポート作成 | ステップ 6 — 最終出力 | 1 つのサブエージェントがすべてのメモを読み、最終レポートを作成します |
リサーチの深さ — リクエストに応じて自動的に選択します。
| 深さ | タイミング | ステップ |
|---|---|---|
| クイック | 範囲が狭く、時間に制約のある質問。ユーザーが「brief」または「quick」と指定した場合 | ステップ 1(範囲を自動決定)、2、5 |
| 標準 | 一般的なリサーチ依頼[デフォルト] | ステップ 1〜6 |
| 詳細 | 包括的なレビューや重要な意思決定。ユーザーが「thorough」、「exhaustive」、「comprehensive」と指定した場合 | ステップ 1〜6 + 4.5(アウトラインの改善)+ 批評 |
自律性: 具体的で範囲が明確なプロンプトでは、前提を明示したうえで、詳細なインタビューを行わずに進めてください。前提はレポートのヘッダーに記載します。範囲についての詳細なインタビューは、「ブロックチェーンについて調べて」「AIについて教えて」のように、プロンプトが実際に曖昧な場合に限って行ってください。
質問: 環境の質問ツールを使ってユーザーに質問してください。通常の文章として質問してはいけません。一度に 1 つの質問をし、タップして選べる選択肢を 2〜4 個提示して、回答を待ちます。環境に質問ツールがない場合は、同じ選択肢を添えて、通常の文章で一度に 1 つずつ質問してください。
重要なルール
- ウェブ検索はこのスキルの中核機能です。環境にウェブアクセスがない場合は、直ちに停止し、ユーザーに伝えてください。
- すべての主張に出典 URL を付けてください。 出典のない断言は調査結果ではなく、推測です。
- 重要な主張(市場規模、成長率、競争上の位置付けなど)には、互いに独立した 2 つ以上の情報源が必要です。満たせない場合は
confidence: Lowとしてください。 - 各ステップの直後に、調査結果を出力ファイルに書き込んでください。最後にまとめて書き込んではいけません。
- 情報源間の矛盾は、どれか 1 つを黙って選ぶのではなく、明示してください。
- 文章を中心に書いてください: 完全な文と段落で記述し(文章が全体の 80% 以上を目安にしてください)、箇条書きは本当に列挙が必要な場合にのみ使います。主な情報提供手段として箇条書きを使ってはいけません。「市場は 2024 年に 42 億ドルに達しました[出典]」は、「* 市場:42 億ドル」より適切です。
- 事実と統合による結論を区別してください: 出典に基づく記述には「[出典]によると……」のように出典を明記し、分析上の結論には「これは……を示唆しています」「情報源全体の傾向から……がうかがえます」のように留保を添えてください。推論を事実として提示してはいけません。
- 不足を明示してください: セクションを空欄にしたり、推測で埋めたりせず、「X に関する情報源は見つかりませんでした」と記載してください。
参考ファイル
以下のファイルは、指定された手順でのみ読み込んでください。最初にすべて読み込まないでください。
| ファイル | 読み込むタイミング |
|---|---|
references/citations.md | ステップ 2(最初の検索の前) |
references/parallel-search.md | ステップ 2(サブエージェントを起動する前) |
references/researcher.md | ステップ 2(サブエージェントは最初にこれを読む) |
references/report-writer.md | ステップ 6(レポート作成サブエージェントは最初にこれを読む) |
references/market.md | ステップ 2、type == market の場合 |
references/domain.md | ステップ 2、type == domain の場合 |
references/technical.md | ステップ 2、type == technical の場合 |
references/competitive.md | ステップ 2、type == competitive の場合 |
references/product.md | ステップ 2、type == product の場合 |
references/academic.md | ステップ 2、type == academic の場合 |
references/org.md | ステップ 2、type == person/org の場合 |
references/financial.md | ステップ 2、type == financial の場合 |
references/legal.md | ステップ 2、type == legal の場合 |
references/trend.md | ステップ 2、type == trend の場合 |
references/community.md | ステップ 2、type == community の場合 |
出力構成
このスキルでは、./research/ に二重出力を作成します。
- フラットレポート:
./research/{date}-{type}-{topic}.md— ユーザーに提出する、最終的に統合された Markdown レポート - ノートディレクトリ(任意):
./research/{date}-{type}-{topic}/— サブエージェントによる軸ごとの調査ノート(軸ごとに.mdファイルを 1 つ)。並列ファンアウト(ステップ 2〜4)を使用する場合に作成します。ディレクトリを使用するかはエージェントが判断します。両方を同時に作成してもかまいません。
例:
research/
├── 2025-01-15-market-ai-coding-assistants.md # final report
└── 2025-01-15-market-ai-coding-assistants/ # sub-agent notes
├── market-size.md
├── pricing-models.md
├── competitive-landscape.md
└── customer-segments.md
ステップ 1 — 範囲の設定
まず、今日の日付を取得します:date +%Y-%m-%d。調査全体を通じて、日付で絞り込む検索と最新性に関する記述には、この日付を使用します。
既存の調査を確認: このトピックに関するレポートが ./research/ にあるか確認します。見つかった場合は、どのような内容かを要約し、調査を拡張するか、更新するか、新たに始めるかを尋ねます。
プロンプトが具体的で、範囲が明確な場合(トピック、種類、目標がすべて明確な場合):ヒアリングを省略します。調査の種類を推定し、前提をレポートのヘッダーに明記してから進めます。ヘッダーの記載例:
前提: type=market、scope=global、horizon=2024-2025、goals=TAM の規模推定と成長要因。
プロンプトが曖昧な場合(例:「ブロックチェーンを調査して」「AI について教えて」):ユーザーに以下を尋ねます。
- 種類は何ですか?(以下の一覧を参照)
- 調査で答えるべき具体的な質問や目標は何ですか?
- 地域、期間、またはセグメントに関する制約はありますか?
調査の種類:
market— 顧客、競争、規模推定、価格設定、トレンドdomain— 業界構造、規制環境、エコシステムtechnical— アーキテクチャ、ツール、ベンチマーク、統合competitive— 競合他社に焦点を当てた詳細分析:ポジショニング、レビュー、勝敗の兆候product— 特定の製品の詳細分析:機能、UX、ロードマップの兆候、変更履歴academic— 文献調査、引用ネットワーク、研究の現状、主要な著者person/org— 企業または著名人のデューデリジェンス:資金調達、経営陣、報道、論争financial— 資金調達ラウンド、評価倍率、収益の兆候、投資家の傾向legal— 知的財産の状況、特許、訴訟履歴、規制執行、契約慣行trend— 新たな兆候、弱い兆候、フォーサイト、シナリオマッピングcommunity— エコシステムの健全性、主要な発信者、ガバナンスの動向、分断のリスク- どれにも当てはまらない場合は、種類を推定して独自の軸構成を設計します。ファンアウト、引用の規律、調査しながらの記述、統合というプロセスは、種類にかかわらず同じです。
出力パスを設定します。
- レポート:
./research/{date}-{type}-{topic}.md(小文字とハイフンを使用。日付、種類、トピックの順。トピック部分は 50 文字未満) - ノートディレクトリ(並列ファンアウトを使用する場合):
./research/{date}-{type}-{topic}/
別のパスを希望するかユーザーに尋ねます。assets/report-template.md を読み込み、レポートのヘッダー(トピック、種類、目標、日付、前提、方法論に関する注記)を今すぐ書きます。
ステップ 2 — 中核調査(並列ファンアウト)
references/citations.md、references/parallel-search.md、references/researcher.md を読み込みます。タイプ固有のリファレンスファイルを読み込みます。
1 回のメッセージで 3~20 個のサブエージェントを起動します(タイプリファレンスにある各軸につき 1 個)。各エージェントは次の作業を行います。
- 最初に
references/researcher.mdを読みます - ウェブで担当軸を調査し、引用する情報源を取得します
- 箇条書きではなく、文中引用を含む文章の段落として調査結果を記述します
- 各主張について URL、アクセス日、信頼度を返します
- 各情報源に Primary(公式ドキュメント、提出書類、査読済み論文)、Established(主要メディア、アナリスト企業)、または Low(ブログ、フォーラム、個人の意見)のタグを付けます。Low ティアの情報源は目立つように示します。
- 重要な主張には 2 件以上の情報源を付けます。それができない場合は
confidence: Lowとします - 情報源間の矛盾を明示します
- 他のエージェントを待ちません
{notes-dir}/{axis}.md(例:./research/2025-01-15-market-ai-coding-assistants/market-size.md)に出力を書き込みます
サブエージェントへのプロンプトテンプレート(この形式をそのまま使用):
You are a research analyst. Your task: research one specific axis of a larger study.
**Topic:** {overall topic}
**Your axis:** {axis name and description}
**Research goals:** {what specific questions to answer on this axis}
**Geographic/time constraints:** {any from scope interview, or "none"}
Instructions:
1. Run web searches and fetch the relevant source pages.
2. For each finding, note the source URL, access date, and confidence level (High/Medium/Low per the ladder in researcher.md).
3. Tag each source: **Primary** (official docs, government filings, peer-reviewed papers), **Established** (major publications, analyst firms with editorial process), or **Low** (blogs, forums, single opinions). Flag Low-tier sources visibly.
4. Critical claims (numbers, market share, projections) need 2+ sources or get confidence: Low.
5. Flag any conflicts between sources explicitly — do not silently pick one.
6. The axis definition is a starting point, not a ceiling. If you find relevant information that falls outside the stated axis but adds meaningful insight for the overall topic, include it — label it clearly and explain why it matters.
7. External files (PDFs, datasets, analyst reports, regulatory filings, whitepapers, charts) may contain valuable data. When encountered, their key content should be summarized inline — do not leave them as bare links. The `curl` command is available for local downloads when needed.
8. Write findings as **prose paragraphs**, not bullet lists. Embed figures in sentences: "The market reached $4.2B in 2024 [Source]" rather than "* Market: $4.2B". Bullets are acceptable only for true enumerated lists (product names, compliance items, enumerated steps).
9. Distinguish sourced facts from your analysis: use "According to [Source]..." for direct findings and "This suggests..." or "The pattern indicates..." for your synthesis. Never present inference as fact.
10. If a topic cannot be found, write "No sources found for X" — do not guess or leave a blank.
11. Return your findings as a Markdown section ready to paste into a report.
Confidence ladder:
- High: 2+ reputable independent sources agree
- Medium: 1 reputable source (Primary or Established tier)
- Low: blog, forum, single opinion, Low-tier source, or inferred
Citation format: [Source Name](url) (accessed YYYY-MM-DD, confidence: High|Medium|Low, tier: Primary|Established|Low)
Output format:
## {Section heading}
{Prose paragraphs with inline citations. Bullets only for true lists.}
> Conflicts noted: {if any}
> Gaps: {what you couldn't find}
**As a first step, you must read {path_to_skill}/references/researcher.md for instructions on how to conduct research.**
Save your output notes to {absolute path to notes-dir}/{axis}.md
市場調査の軸の例:
**Topic:** AI coding assistants market
**Your axis:** Market size and growth (TAM/SAM/SOM, historical growth, projections)
**Research goals:** What is the total addressable market? How fast is it growing? What are the key segments?
**Geographic/time constraints:** Global, 2020-2025
調査をできる限り迅速に進めるため、すべてのサブエージェントを並列で起動します(複数の Agent ツール呼び出しを 1 回のメッセージで行います)。
サブエージェントが完了したら、すぐに各エージェントの調査結果を、assets/report-template.md にある適切なセクション見出しの下に、出力レポートファイルへ追記します。すべてのエージェントの完了を待ってから書き込むことはしません。
ステップ 3 — 競合/状況分析(並列ファンアウト)
タイプリファレンスファイルの状況分析セクションで定義されている軸を担当するサブエージェントを 3~5 個起動します。引用に関する規則は同じです。各エージェントは {notes-dir}/{axis}.md に書き込みます。結果はすぐに出力レポートファイルに追記します。
ステップ 4 — 詳細分析(並列ファンアウト)
選択したタイプの詳細分析軸を担当するサブエージェントを起動します(タイプリファレンスファイルを参照)。手順は同じです。結果はすぐに追記します。
ステップ 4.5 — アウトラインの見直し(Deep モードのみ)
ステップ 2~4 の後、統合の前に、証拠に基づいて構成を見直す必要があるかを確認します。次の点を確認します。
- 調査結果は、当初のスコープに関する想定と矛盾していましたか?
- 当初の計画にはなかった重要な観点が浮かび上がりましたか?
- 証拠が不十分なセクション、または情報が過剰に集中しているセクションはありますか?
該当する場合は、アウトラインを調整します。予想外の調査結果についてセクションを追加し、証拠が乏しいセクションの優先度を下げ、証拠の強さに応じて順序を変更します。新たに特定した観点について、対象を絞ったギャップ調査を 2~3 件実施します(5 分以内に収めます)。何を、なぜ変更したかを、レポートの方法論に関する注記に記録します。
Quick モードと Standard モードではスキップします。
ステップ 5 — 統合
ここでは ultrathink を使用します(Standard モードと Deep モード)。
出力レポートファイル全体を読み込みます(ここにはステップ 2~4 で追記された調査結果がすべて含まれています)。統合セクションを作成します。
## Key Findings
(5 critical insights written as prose paragraphs, each with a source reference)
## Strategic Recommendations
1. [Recommendation] — Rationale. Evidence: [source].
2. ... (3–5 recommendations, ranked by impact)
## Risks and Uncertainties
- Data gaps: what could not be found or confirmed
- Low-confidence claims requiring further validation
- Conflicts between sources that could not be resolved
- Domain or market risks to monitor
## Next Steps
- Recommended follow-up research
- If the initial request is not fulfilled, loop on step 1 and ask more questions
- Decisions this research enables
事実と統合分析の区別を一貫して保ちます。出典のある主張には「[Source] によると X」と記述し、分析には「これは Y を示唆しています」と記述します。信頼度が Low のデータに基づく推奨事項には、その旨を明記します。
批判的検証(Deep モードのみ): 最終化する前に、統合内容をレッドチームの観点から検証します。何が欠けているか、何が間違っている可能性があるか、どのような別の説明が考えられるか、どのようなバイアスがあり得るかを確認します。重大な不足が見つかった場合は、結論を出す前にデルタクエリを 2~3 件実行して補います。
ステップ 6 — レポート作成サブエージェント
最終版のレポートを作成するため、レポート作成サブエージェントを 1 個起動します。これにより、コーディネーターのコンテキストを整理した状態に保てます。
subagent_type="general-purpose" および run_in_background=false を指定して Agent ツールを使用します。
Agent(
run_in_background=false
subagent_type="general-purpose",
description="Write final report",
prompt="Read the notes in {absolute path to notes-dir}/ and the current report at {absolute path to report-file} and synthesize into a final research report that answers: {the user's original question in full}.
Earlier research in this conversation to build on: {absolute paths of the earlier report and notes folder from Step 1, or "none"}
Save your final report to this exact path: {absolute path to report-file}
**As a first step, you must read {path_to_skill}/references/report-writer.md for instructions on how to write your research report.**"
)
レポート作成サブエージェントが完了したら、./research/{date}-{type}-{topic}.md のレポートが最終版となります。
ステップ 7 — PDF エクスポート(任意)
Markdown レポートが完成したら、ユーザーが PDF を希望する場合にこのステップを提示します。
各ツールを順番に試し、最初に動作したものを使用します。
-
Pandoc(出力品質が最良):
pandoc report.md -o report.pdf --pdf-engine=wkhtmltopdf # or with weasyprint: pandoc report.md -o report.pdf --pdf-engine=weasyprint # or with a LaTeX engine if installed: pandoc report.md -o report.pdf -
md-to-pdf(Node、LaTeX 不要):md-to-pdf report.md
選択する前に、which pandoc、which md-to-pdf で利用可能なツールを確認します。どちらも利用できない場合は、ユーザーにインストールするツールを伝えます。
Model Context Protocol(MCP)との統合
このスキルは、ウェブ検索以外にも調査を広げるための MCP コネクターをサポートしています。
公開オープンナレッジ MCP の例:
arxiv-mcp:分野、著者、日付、引用で学術論文を検索します。要旨、PDF リンク、引用グラフを返します。reddit-mcp:サブレディットのデータ(人気の投稿、コメント、ディスカッションスレッド)にアクセスします。コミュニティの知見や開発者の反応を把握するのに適しています。serp-mcp:検索エンジン(Google、Bing、DuckDuckGo)をラップし、タイトル、抜粋、URL、関連する質問などの構造化された検索結果を返します。
非公開データ MCP の例:
gmail-mcp:メールのスレッド、添付ファイル、送信者、日付を照会します。読み取り専用の OAuth スコープが必要です。notion-mcp:データベース、ページ、およびそのプロパティにアクセスします。タイトル、内容、最終編集日時、カスタムプロパティで検索できます。confluence-mcp、sharepoint-mcp、または社内ナレッジベース向けのカスタム Wiki MCP。
調査ワークフローにおける MCP:
- 異なる MCP エンドポイントに対してサブエージェントを並行して起動します(ステップ 2 の並列展開)。
- MCP が結果を返さない場合は、重大なルール #7 に従い、根拠の空白を明示的に示します。
- 単一の MCP ソースに基づく重大な主張には、重大なルール #4 に従い、非公開の価値の高いソースからの情報を除いて、
confidence: Lowを設定します。 - MCP データは、公式ドキュメントや提出書類に由来する場合は
Primary層、主要な出版物に由来する場合はEstablished層、ブログやフォーラムに由来する場合はLow層として扱います。
ガードレール
- 追加調査の制限: ステップ 5(追加調査)は 1 回のみ実施できます。調査担当者が作業を終えたら、必ずステップ 6(レポート作成者)に直接進んでください。出力:「これらの調査担当者が作業を終えたら、レポート作成者の調整に直接進みます。」
- 捏造しない: ソースが存在しない場合は、その旨を伝え、情報の欠落を明示します。
- 黙って選ばない: 矛盾するソースがある場合は、黙って解決せず、報告します。
- まとめて処理しない: 最後にまとめてではなく、各ステップの後にファイルへ書き込みます。
- 過剰な主張をしない: 確信度の低いデータについては、明示的に断定を避けます。
- 推論を事実として扱わない: 分析による結論には、「これは〜を示唆しています」のような表現を付けます。
- 範囲を定めずに掘り下げない: 曖昧なプロンプトでは、必ず最初に範囲を定めます。トピックが曖昧だと、焦点の定まらないレポートになります。
免責事項
調査結果は、ある時点でのスナップショットです。ウェブ上のコンテンツは変化します。規制、競争、価格設定など、変動の大きいトピックについては、30 日以内に再調査するか、行動に移す前に重要な主張を手動で検証してください。