task icon Task

Deep Research Investigation

2

Clarify the research topic with the user. Ask:

  1. What specific topic do you want to research?
  2. What's driving this research? (decision, learning, preparation)
  3. Preferred depth: Quick Overview (1-2 rounds), Moderate (3-4 rounds), or Comprehensive (5+ rounds)?

If user already specified the topic clearly, skip to decomposition.

3

INITIAL LANDSCAPE SCAN

Decompose the topic into 4-6 research branches using the guide. Common branch types:

  • Fundamentals: Core concepts, definitions, how it works
  • Players: Key companies, people, organizations involved
  • Applications: Use cases, implementations, real-world examples
  • Timeline: History, current state, future projections
  • Controversies: Debates, risks, criticisms, open questions
  • Economics: Market size, costs, business models

For each branch, formulate a specific search query.

4

PARALLEL SEARCH EXECUTION (Round 1)

Execute 4-6 web searches in parallel using @tool/websearch for each branch.
For each search:

  • Use specific, well-formed queries (not vague terms)
  • Extract 3-5 key facts with source URLs
  • Note confidence level (High: multiple sources agree, Medium: single reliable source, Low: limited/conflicting info)
5

CREATE RESEARCH STATE

Write the JSON state to uiResearch Map with this structure:

{
  "topic": "Topic Name",
  "depth": "Quick|Moderate|Comprehensive",
  "round": 1,
  "explored": [
    {
      "branch": "Fundamentals",
      "summary": "One-line key finding",
      "sources": ["url1", "url2"],
      "confidence": "high|medium|low"
    }
  ],
  "available": [
    {"branch": "Timeline", "preview": "What we'd learn if explored"}
  ],
  "suggested_deep_dives": [
    "Specific question raised by findings?"
  ],
  "history": [
    {"round": 1, "branches": ["Fundamentals", "Players"], "timestamp": "ISO date"}
  ]
}
6

CREATE RESEARCH MAP DISPLAY

Write the human-readable markdown to uiResearch Map Display:

## Research Map: [Topic]

**Depth:** [Quick/Moderate/Comprehensive] | **Round:** 1 | **Sources:** [count]

### Explored
- [x] [Branch] — [One-line summary of key finding]

### Available to Explore
- [ ] [Branch] — [What we'd learn, suggested searches]

### Suggested Deep Dives
1. "[Specific question]" (based on [finding that raised this question])
2. "[Specific question]" (connects [branch A] + [branch B])

### Key Findings So Far
[2-3 paragraph synthesis of most important discoveries]

### Sources
- [Source title](URL) — used for [which claims]

---
**What should I explore next?** Pick branches above, suggest your own direction, or say "finalize" for the full report.

Present this map to the user and wait for their direction.

7

USER-DIRECTED EXPLORATION LOOP

Based on user selection:

If user picks branches: Use task tool to spawn taskResearch Branch Exploration in parallel for each branch. Provide: branch_name, parent_context, search_queries (2-4), depth_target. Subagents write to uiBranch Findings. Wait for completion.

If user asks a question: Treat as new branch, spawn single subagent.

If user says "continue": Select top 2-3 suggested deep dives, spawn subagents.

If user says "finalize": Proceed to final report generation.

8

AGGREGATE FINDINGS

After subagents complete:

  1. Read all files from uiBranch Findings
  2. Increment the round counter in uiResearch Map
  3. Add newly explored branches to the "explored" array
  4. Update "available" with remaining unexplored branches
  5. Generate new "suggested_deep_dives" based on findings
  6. Add this round to the "history" array
  7. Update uiResearch Map Display with new state
  8. Delete the processed files from uiBranch Findings

Present updated map and repeat the exploration loop until user indicates satisfaction.

10

GENERATE FINAL REPORT

When user is satisfied, synthesize all findings using the structure from the synthesis guide.
Save to uiResearch Reports with filename like {topic}-research-{date}.md

Include:

  • Executive Summary (3-5 sentences)
  • Key Findings by theme (not by search order)
  • Timeline & Context (if explored)
  • Key Players (if explored)
  • Open Questions (honest about gaps)
  • Confidence Assessment (claim-level and section-level)
  • Sources (organized by topic, with descriptions)
  • Reading time estimate (~250 words per minute)

Present the report location to user and offer to explore any remaining questions.

11

CLEANUP

Delete session files:

                    You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).

Add all steps to your todo list now and begin executing.

## Steps

1. [Read Deep Research Strategy Guide]: Read the documentation in: `./skills/sauna/[skill_id]/references/research.deep.guide.md` (Load topic decomposition strategy)

2. Clarify the research topic with the user. Ask:
1. What specific topic do you want to research?
2. What's driving this research? (decision, learning, preparation)
3. Preferred depth: Quick Overview (1-2 rounds), Moderate (3-4 rounds), or Comprehensive (5+ rounds)?

If user already specified the topic clearly, skip to decomposition.


3. INITIAL LANDSCAPE SCAN

Decompose the topic into 4-6 research branches using the guide. Common branch types:
- Fundamentals: Core concepts, definitions, how it works
- Players: Key companies, people, organizations involved
- Applications: Use cases, implementations, real-world examples
- Timeline: History, current state, future projections
- Controversies: Debates, risks, criticisms, open questions
- Economics: Market size, costs, business models

For each branch, formulate a specific search query.


4. PARALLEL SEARCH EXECUTION (Round 1)

Execute 4-6 web searches in parallel using @tool/websearch for each branch.
For each search:
- Use specific, well-formed queries (not vague terms)
- Extract 3-5 key facts with source URLs
- Note confidence level (High: multiple sources agree, Medium: single reliable source, Low: limited/conflicting info)


5. CREATE RESEARCH STATE

Write the JSON state to `./documents/tmp/research-map.json` with this structure:
```json
{
  "topic": "Topic Name",
  "depth": "Quick|Moderate|Comprehensive",
  "round": 1,
  "explored": [
    {
      "branch": "Fundamentals",
      "summary": "One-line key finding",
      "sources": ["url1", "url2"],
      "confidence": "high|medium|low"
    }
  ],
  "available": [
    {"branch": "Timeline", "preview": "What we'd learn if explored"}
  ],
  "suggested_deep_dives": [
    "Specific question raised by findings?"
  ],
  "history": [
    {"round": 1, "branches": ["Fundamentals", "Players"], "timestamp": "ISO date"}
  ]
}
```


6. CREATE RESEARCH MAP DISPLAY

Write the human-readable markdown to `./documents/tmp/research-map.md`:

```markdown
## Research Map: [Topic]

**Depth:** [Quick/Moderate/Comprehensive] | **Round:** 1 | **Sources:** [count]

### Explored
- [x] [Branch] — [One-line summary of key finding]

### Available to Explore
- [ ] [Branch] — [What we'd learn, suggested searches]

### Suggested Deep Dives
1. "[Specific question]" (based on [finding that raised this question])
2. "[Specific question]" (connects [branch A] + [branch B])

### Key Findings So Far
[2-3 paragraph synthesis of most important discoveries]

### Sources
- [Source title](URL) — used for [which claims]

---
**What should I explore next?** Pick branches above, suggest your own direction, or say "finalize" for the full report.
```

Present this map to the user and wait for their direction.


7. USER-DIRECTED EXPLORATION LOOP

Based on user selection:

**If user picks branches:** Use task tool to spawn `./skills/sauna/[skill_id]/references/recipes/research.deep.branch.md` in parallel for each branch. Provide: branch_name, parent_context, search_queries (2-4), depth_target. Subagents write to `./documents/tmp/branch-findings/*.json`. Wait for completion.

**If user asks a question:** Treat as new branch, spawn single subagent.

**If user says "continue":** Select top 2-3 suggested deep dives, spawn subagents.

**If user says "finalize":** Proceed to final report generation.


8. AGGREGATE FINDINGS

After subagents complete:
1. Read all files from `./documents/tmp/branch-findings/*.json`
2. Increment the round counter in `./documents/tmp/research-map.json`
3. Add newly explored branches to the "explored" array
4. Update "available" with remaining unexplored branches
5. Generate new "suggested_deep_dives" based on findings
6. Add this round to the "history" array
7. Update `./documents/tmp/research-map.md` with new state
8. Delete the processed files from `./documents/tmp/branch-findings/*.json`

Present updated map and repeat the exploration loop until user indicates satisfaction.


9. [Read Research Synthesis Guide]: Read the documentation in: `./skills/sauna/[skill_id]/references/research.deep.synthesis.md` (Load synthesis and report structure guidance)

10. GENERATE FINAL REPORT

When user is satisfied, synthesize all findings using the structure from the synthesis guide.
Save to `./documents/research-reports/*.md` with filename like {topic}-research-{date}.md

Include:
- Executive Summary (3-5 sentences)
- Key Findings by theme (not by search order)
- Timeline & Context (if explored)
- Key Players (if explored)
- Open Questions (honest about gaps)
- Confidence Assessment (claim-level and section-level)
- Sources (organized by topic, with descriptions)
- Reading time estimate (~250 words per minute)

Present the report location to user and offer to explore any remaining questions.


11. CLEANUP

Delete session files:
- `./documents/tmp/research-map.json`
- `./documents/tmp/research-map.md`
- Any remaining files in `./documents/tmp/branch-findings/*.json`