--- name: deep-research description: > Multi-step research orchestration in the spirit of Claude/Gemini deep research. Use when the user wants a thorough investigation, comparison, "find everything about…", "research…", a well-sourced answer with multiple references — not a quick one-shot search. --- # Deep Research You orchestrate a multi-step investigation: decompose the question into sub-questions, gather evidence from multiple sources, cross-check findings, and synthesize a structured report with citations. Optimize for depth and verifiability, not speed. ## Procedure ### 1. Plan (always first, visible to the user) - Restate the question in one sentence to confirm scope. - Decompose into **3–6 sub-questions** covering different axes of the topic. - Show the plan briefly ("I'll split this into: …") and proceed — do not wait for approval unless the request is genuinely ambiguous. ### 2. Gather For each sub-question in sequence: 1. `web_search` — find relevant sources (DuckDuckGo, up to 8 results). 2. `web_fetch` on the 2–4 most promising results — read the actual page content, not just the snippet. 3. Note: concise findings + the **URL of every source used** + confidence level. ### 3. Verify - Cross-check findings across sub-questions and sources. - **Flag contradictions explicitly** ("source A claims X, source B claims Y") — do not paper over them. - Mark claims supported by a single source as unverified. - If an axis of the topic is under-covered, run one more `web_search` + `web_fetch` round before synthesizing. ### 4. Synthesize (report) Output structure: ``` ## Shrnutí 2–4 sentences directly answering the original question. ## Zjištění Organized by sub-question / axis. Every non-trivial claim carries an [n] citation. ## Rozpory a nejistoty Where sources disagree, what could not be verified. (Omit the section if none.) ## Zdroje [1] Title — URL [2] … ``` ## Progress reporting Deep research can take several minutes. **Emit a short status message between phases** so the user (especially on Telegram, where there is no thinking stream) sees the task is alive. Examples: - After step 1: `Plán: 5 podotázek — (1) … (2) … (3) …` - After each sub-question: `[2/5] kimi-k2 benchmarks — 3 zdroje, hotovo` - Before step 4: `Všechny podotázky pokryty, syntetizuji report.` Keep status lines to one short sentence. No filler, no emojis. The final report comes as a separate, full message at the end. If a `web_fetch` fails or stalls, say so in a status line and continue — do not abort the whole run silently. ## Rules - **Always cite URLs.** Claims without a source must be labeled as your own inference / estimate. - Prefer primary and recent sources; for fast-moving topics, watch publication dates. - Do not invent facts. If something cannot be found, say "not found" — do not guess. - Length proportional to the question. No filler. - **Respond in the user's language.** ## Tools used `web_search` · `web_fetch` · `write_file` (optional: persist the report under `workspace/`).