Install
openclaw skills install @zhihua-yang/deep-researcher-proDomain Research Report Generator — runs multi-angle deep research on any topic and produces a structured, decision-ready report with evidence-scored consensus, divergences, key numbers, failed paths, and decision readiness. 深度调研报告生成器,自动研究任意领域并输出结构化决策报告,包含共识、分歧、关键数字、失败路径和决策准备度分析。
openclaw skills install @zhihua-yang/deep-researcher-proBefore doing anything else, verify that a web search capability is available.
Step 1 — Probe for a working search tool Attempt a minimal test search (e.g. "deep researcher test") using whatever search tool is available in the current environment:
WebSearchserper__search, tavily__search, brave_search, exa__search,
web_search, search, or any tool whose name contains "search"If the search succeeds (returns any result, even empty): proceed normally.
Step 2 — If no working search tool is found Do NOT attempt to run the research. Instead, notify the user:
⚠️ Deep Researcher needs a web search tool to function, but none was found in this environment.
To fix this, configure one of the following search providers (pick any one):
| Option | Setup | Free tier | Best for |
|---|---|---|---|
| Serper ⭐ (recommended) | Get key at serper.dev → SERPER_API_KEY=xxx | 2,500 searches/month | General research — real Google results |
| Tavily (research-optimized) | Get key at tavily.com → TAVILY_API_KEY=xxx | 1,000 searches/month | Deep research |
| Brave Search | Get key at brave.com/search/api → BRAVE_API_KEY=xxx | 2,000 queries/month | Privacy-first |
| Gemini (Google AI) | Get key at aistudio.google.com → GEMINI_API_KEY=xxx | 500 req/day, no card needed | No credit card |
| Kimi / Moonshot | platform.moonshot.cn → KIMI_API_KEY=xxx | Paid, Alipay accepted | Alternative provider |
Step 3 — WebFetch-only fallback If no search tool is available but the user has explicitly provided source files (e.g. "based on this document..."), proceed in file-only mode — skip the startup check and go directly to SEMANTIC INTENT ANALYSIS.
Domain research analyst — deep research mode. Turn messy information into a structured research report with enforced source traceability. Do not produce a general summary. Produce a decision-ready research report — independently usable, no downstream routing required.
Your task is not:
Your task is:
Before doing anything, read the entire query and infer everything from meaning. Answer:
Q1 — How many distinct research subjects? Count independently researchable entities the user wants information about.
Q2 — What is the primary intent?
"Difference between A and B" is compare. "Research A and B" is research (parallel, not head-to-head).
Q3 — What region and language? Detect the domain's region from the topic itself — no explicit instruction needed. Apply language rules from strategies/search-protocol.md.
Q4 — Are there existing files to work from? If the user references files, documents, or notes (e.g. "based on this doc", "using my notes"), treat them as source material and skip web research.
Q5 — Where should the output go?
Record all inferred decisions in RESEARCH_LOG:
[HH:MM:SS] Intent analysis — subjects: N, intent: [research/compare/update], mode: [brief/compare/brief-multi/compare-multi], region: [X], output-lang: [L], source-files: [none/listed], output-path: [path] — Rationale: [one sentence]
| Subjects | Intent | Mode |
|---|---|---|
| 1 | research | brief — standard research report |
| 1 | compare | brief — 1 subject; frame internal tension in CORE_TENSION |
| 2 | research | brief-multi — shared report, each subject gets its own sub-sections |
| 2 | compare | compare — head-to-head using comparison.md template |
| 3+ | research | brief-multi — shared report, each subject gets its own sub-sections |
| 3+ | compare | compare-multi — multi-column comparison matrix |
| any | update | update — read existing file, add new findings |
Standard research report. Uses template: templates/decision-brief.md Flow: SCOPE → COLLECT → SCORE → EXTRACT → OUTPUT
Head-to-head analysis. Uses template: templates/comparison.md Collect evidence for each subject independently, then compare. Flow: SCOPE → COLLECT (A) → COLLECT (B) → SCORE → COMPARE → OUTPUT
Parallel research. Uses templates/decision-brief.md as base structure. Shared SCOPE and CONSTRAINTS. Each subject gets its own sub-sections within CONSENSUS, DIVERGENCES, KEY NUMBERS. Collect evidence for each subject independently.
Multi-way comparison. Extend comparison.md with N columns in the matrix. Collect evidence for each subject independently, then compare across all.
Read the referenced existing report first. Preserve sections that do not need updating. Add new findings; mark updated content with [Updated: date]. Do not remove historical context. Update DECISION_READINESS based on new information.
Path resolution for update mode:
When the user references existing files as source material: Treat those files as the ONLY source — do NOT run web searches. Cross-verify claims across files; flag contradictions. Annotate each claim with [source: filename]. Mark sections with insufficient evidence as [WEAK: recommend: ___].
In all multi-subject modes: apply per-subject region detection and language assignment independently. See search-protocol.md for per-subject language rules.
→ Clarify what is inside this domain and what is outside → Detect the domain region (always inferred from topic — never requires explicit instruction):
Region Focus
→ Determine research languages based on detected region (see STEP 2 language enforcement)
→ For compare modes: define comparison dimensions and scope boundaryFollow strategies/search-protocol.md for search protocol. All modes use deep research protocol: 3-5 searches from different angles, top 3-5 full text fetches, cross-verify all claims, seek contradictory evidence.
Priority order for source types:
Search angles (always use all 5):
Language enforcement (hard rule — applies to all modes):
Cross-verification:
Scarce information handling:
See references/evidence-scoring.md for detailed criteria. For each key claim, assign:
Max 5 items. Only include facts that can affect a decision. Each item must have at least one source reference.
Max 5 items. For each divergence, preserve both sides with direct reasoning. Do not resolve disagreement unless evidence decisively closes it. Each side must reference its source. Even when evidence appears one-sided, the minority position must be presented in DIVERGENCES. Do not "balance" by upgrading weak minority evidence, but also do not suppress it. Asymmetric evidence quality is a valid finding — present it honestly.
These three sections are not always required — include them when the evidence and topic warrant it. Record in RESEARCH_LOG which optional sections were included and why.
A. LANDSCAPE — Include when the domain involves a market, technology ecosystem, or competitive field. Synthesize the competitive/ecosystem structure from evidence already collected:
B. IMPLICATIONS — Include when the domain has clear stakeholder impact (policy, market shift, technology change). For each relevant stakeholder group, state the direct consequence and one second-order effect:
C. SCENARIOS — Include when the domain has high uncertainty or multiple plausible futures. Define 2-3 scenarios based on the key variable identified in CORE_TENSION:
What has already been tried and failed? Why did it fail? Under what conditions would it fail again? Cite sources for failure evidence.
Compress the entire domain into one irreducible contradiction. One sentence only. One main-subject-predicate structure. Keep it tight — expansion belongs in other sections. Good: "Overseas warehouses deliver next-day but require heavy capital; direct cross-border shipping is cheap but too slow for live-commerce conversion." Bad: a multi-clause paragraph that explains the tension from three angles. (Over-expanded)
Separate:
List 2-3 questions whose answers would most change what to do next.
State:
Aggregate all sources referenced throughout the document. Each source entry: URL or citation | source type | access time | access status Source types: Authoritative Report | Practitioner | Public Web | Community Access status: ✅ Full text fetched | ⚠️ Snippet only (fetch failed) | ❌ Unreachable (403/404/paywall) This allows readers to assess which claims are based on full-text verification vs. snippets only.
Track the research process for reproducibility:
Load the appropriate template at output time. The template defines the output structure; all analysis logic, hard rules, and scoring criteria remain in this SKILL.md.
Section title localization (hard rule): The template uses English section titles as canonical identifiers. When generating the final output, translate ALL section titles, field labels, and structural keywords into the output language. Do NOT leave English titles in a non-English report.
Use the following translation table. For languages not listed, translate naturally:
| English (canonical) | 中文 | 日本語 | Español | Français | Deutsch |
|---|---|---|---|---|---|
| Research Report | 研究报告 | 調査レポート | Informe de Investigación | Rapport de Recherche | Forschungsbericht |
| Comparative Analysis | 对比分析 | 比較分析 | Análisis Comparativo | Analyse Comparative | Vergleichsanalyse |
| SCOPE | 研究范围 | 調査範囲 | ALCANCE | PORTÉE | UMFANG |
| Domain boundary | 领域边界 | 領域の境界 | Límite del dominio | Limite du domaine | Domänengrenze |
| Out of scope | 不在范围内 | 対象外 | Fuera del alcance | Hors périmètre | Außerhalb des Rahmens |
| CONSENSUS | 共识 | コンセンサス | CONSENSO | CONSENSUS | KONSENS |
| DIVERGENCES | 分歧 | 見解の相違 | DIVERGENCIAS | DIVERGENCES | DIVERGENZEN |
| Divergence N | 分歧 N | 見解の相違 N | Divergencia N | Divergence N | Divergenz N |
| Supporting | 支持方 | 支持側 | A favor | Pour | Dafür |
| Opposing | 反对方 | 反対側 | En contra | Contre | Dagegen |
| Evidence strength | 证据强度 | 証拠の強度 | Solidez de la evidencia | Force des preuves | Beweisqualität |
| KEY NUMBERS | 关键数字 | 主要数値 | CIFRAS CLAVE | CHIFFRES CLÉS | KENNZAHLEN |
| FAILED_PATHS | 失败路径 | 失敗パス | CAMINOS FALLIDOS | VOIES ÉCHOUÉES | GESCHEITERTE WEGE |
| Why it failed | 失败原因 | 失敗の理由 | Por qué falló | Raison de l'échec | Grund des Scheiterns |
| Conditions for recurrence | 重犯条件 | 再発条件 | Condiciones de recurrencia | Conditions de récurrence | Wiederholungsbedingungen |
| CORE_TENSION | 核心矛盾 | コアの緊張 | TENSIÓN CENTRAL | TENSION CENTRALE | KERNSPANNUNG |
| CONSTRAINTS | 约束条件 | 制約 | RESTRICCIONES | CONTRAINTES | EINSCHRÄNKUNGEN |
| Hard constraints | 硬约束 | ハード制約 | Restricciones rígidas | Contraintes dures | Harte Einschränkungen |
| Soft constraints | 软约束 | ソフト制約 | Restricciones blandas | Contraintes souples | Weiche Einschränkungen |
| Self-imposed constraints | 自设约束 | 自己設定制約 | Restricciones autoimpuestas | Contraintes auto-imposées | Selbst gesetzte Einschränkungen |
| OPEN_QUESTIONS | 待解问题 | 未解決の問題 | PREGUNTAS ABIERTAS | QUESTIONS OUVERTES | OFFENE FRAGEN |
| DECISION_READINESS | 决策准备度 | 意思決定準備度 | PREPARACIÓN PARA DECIDIR | MATURITÉ DÉCISIONNELLE | ENTSCHEIDUNGSREIFE |
| Can decide now | 现在可以决定 | 今すぐ決定可能 | Se puede decidir ahora | Peut être décidé maintenant | Jetzt entscheidbar |
| Cannot decide yet | 现在不能决定 | まだ決定不可 | No se puede decidir aún | Ne peut pas encore être décidé | Noch nicht entscheidbar |
| Single most valuable piece of missing information | 最值得补的一条信息 | 最も重要な未収集情報 | Información faltante más valiosa | Information manquante la plus précieuse | Wertvollste fehlende Information |
| Decision confidence index | 决策信心指数 | 意思決定信頼度指数 | Índice de confianza en la decisión | Indice de confiance décisionnelle | Entscheidungsvertrauensindex |
| Time sensitivity | 时间敏感度 | 時間的緊急性 | Sensibilidad temporal | Sensibilité temporelle | Zeitkritikalität |
| Reversibility | 可逆性 | 可逆性 | Reversibilidad | Réversibilité | Umkehrbarkeit |
| SOURCES | 来源 | 情報源 | FUENTES | SOURCES | QUELLEN |
| Source | 来源 | 情報源 | Fuente | Source | Quelle |
| Type | 类型 | タイプ | Tipo | Type | Typ |
| Retrieved | 获取时间 | 取得日時 | Recuperado | Récupéré | Abgerufen |
| Access Status | 访问状态 | アクセス状態 | Estado de acceso | Statut d'accès | Zugriffsstatus |
| Full text | 全文获取 | 全文取得 | Texto completo | Texte complet | Volltext |
| Snippet only | 仅摘要 | スニペットのみ | Solo fragmento | Fragment seulement | Nur Ausschnitt |
| Unreachable | 不可达 | アクセス不可 | Inaccesible | Inaccessible | Nicht erreichbar |
| RESEARCH_LOG | 研究日志 | 調査ログ | REGISTRO DE INVESTIGACIÓN | JOURNAL DE RECHERCHE | FORSCHUNGSPROTOKOLL |
| Region Focus | 地域聚焦 | 地域フォーカス | Enfoque Regional | Focus Régional | Regionaler Fokus |
| Research Languages | 研究语言 | 調査言語 | Idiomas de Investigación | Langues de Recherche | Forschungssprachen |
| Information Confidence | 信息置信度 | 情報信頼度 | Confianza en la Información | Confiance Informationnelle | Informationsvertrauen |
| Biggest Knowledge Gap | 最大知识缺口 | 最大の知識ギャップ | Mayor Brecha de Conocimiento | Plus Grande Lacune | Größte Wissenslücke |
| Actionable Decision Scope | 当前可决策范围 | 意思決定可能範囲 | Alcance de Decisión Accionable | Portée Décisionnelle | Entscheidungsrahmen |
| COMPARISON MATRIX | 对比矩阵 | 比較マトリクス | MATRIZ DE COMPARACIÓN | MATRICE DE COMPARAISON | VERGLEICHSMATRIX |
| Dimension | 维度 | 次元 | Dimensión | Dimension | Dimension |
| Evidence Strength | 证据强度 | 証拠の強度 | Solidez de evidencia | Force des preuves | Beweisqualität |
| STRENGTHS | 优势 | 強み | FORTALEZAS | FORCES | STÄRKEN |
| Strengths | 优势 | 強み | Fortalezas | Forces | Stärken |
| RISKS | 风险 | リスク | RIESGOS | RISQUES | RISIKEN |
| Risks | 风险 | リスク | Riesgos | Risques | Risiken |
| WHEN TO CHOOSE | 适用场景 | 選択シナリオ | CUÁNDO ELEGIR | QUAND CHOISIR | WANN WÄHLEN |
| Choose [X] when | 选择 [X] 的场景 | [X] を選ぶシナリオ | Elige [X] cuando | Choisir [X] quand | [X] wählen wenn |
| Neither fits when | 两者都不适合时 | どちらも適さない場合 | Ninguno sirve cuando | Ni l'un ni l'autre quand | Keiner passt wenn |
| RECOMMENDATION | 建议选择 | 推奨 | RECOMENDACIÓN | RECOMMANDATION | EMPFEHLUNG |
| Recommended | 推荐 | 推奨 | Recomendado | Recommandé | Empfohlen |
| Rationale | 理由 | 根拠 | Justificación | Justification | Begründung |
| Preconditions | 前提条件 | 前提条件 | Condiciones previas | Conditions préalables | Vorbedingungen |
| LANDSCAPE | 竞争格局 | 競争環境 | PANORAMA | PAYSAGE | WETTBEWERBSLANDSCHAFT |
| Key players | 主要玩家 | 主要プレイヤー | Actores clave | Acteurs clés | Hauptakteure |
| Market structure | 市场结构 | 市場構造 | Estructura del mercado | Structure du marché | Marktstruktur |
| Notable recent moves | 近期重要动态 | 最近の重要な動き | Movimientos recientes notables | Mouvements récents notables | Bemerkenswerte Entwicklungen |
| IMPLICATIONS | 影响与意涵 | 含意 | IMPLICACIONES | IMPLICATIONS | IMPLIKATIONEN |
| SCENARIOS | 情景分析 | シナリオ分析 | ESCENARIOS | SCÉNARIOS | SZENARIEN |
| Base case | 基准情景 | ベースケース | Caso base | Scénario de base | Basisszenario |
| Upside scenario | 乐观情景 | アップサイドシナリオ | Escenario optimista | Scénario optimiste | Positivszenario |
| Downside scenario | 悲观情景 | ダウンサイドシナリオ | Escenario pesimista | Scénario pessimiste | Negativszenario |
| Key variable driving divergence | 关键分叉变量 | 分岐を決める主要変数 | Variable clave de divergencia | Variable clé de divergence | Schlüsselvariable |
| Next concrete action | 下一步具体行动 | 次の具体的なアクション | Próxima acción concreta | Prochaine action concrète | Nächste konkrete Maßnahme |
| File | 文件路径 | ファイル | Archivo | Fichier | Datei |
| Generated | 生成时间 | 生成日時 | Generado | Généré | Erstellt |
| Mode | 研究模式 | モード | Modo | Mode | Modus |
For languages not in this table: translate naturally into the target language. The goal is that a native reader of the output language sees all structural labels in their own language. RESEARCH_LOG entries may remain in English (they are technical audit records, not reader-facing content).
After generating the output:
This skill uses the following external services:
| Service | URL | Data sent | Purpose |
|---|---|---|---|
| Web search provider | Depends on configuration (e.g. api.serper.dev, api.tavily.com, api.search.brave.com) | Search query strings | Fetching search results for research |
| Web pages | Any URL returned by search results | HTTP GET request only (no user data sent) | Full-text fetch for evidence verification |
No user data beyond the research query is sent to any external service. The research query itself is sent to the configured search provider as a plain search string.
When you use deep-researcher:
context/[domain].md by default).