deep-research
Deep Research
This skill conducts comprehensive research on complex topics using a multi-agent architecture, producing detailed reports similar to academic journals or whitepapers.
Purpose
The deep-research skill transforms broad research questions into thorough, well-cited reports using a three-agent system:
- Lead Agent (You): Conducts interviews, plans research, orchestrates subagents
- Researcher Agents: Execute web searches and save findings to files
- Report-Writer Agent: Synthesizes research notes into final report
When to Use This Skill
Use this skill when the user requests:
- In-depth research on a complex topic
- A comprehensive report or analysis
- Research that requires multiple sources and synthesis
- Deep investigation similar to academic or whitepaper standards
- Detailed analysis with proper citations
Do NOT use this skill for:
- Simple fact-finding queries
- Single-source information lookup
- Code-only research within repositories
- Quick exploratory searches
Agent Architecture
Lead Agent (You - the Orchestrator)
Role: Interview user, plan research threads, spawn and coordinate subagents
Tools allowed: Task (to spawn subagents), AskUserQuestion, Write (for research plan only)
Responsibilities:
- Conduct user interview to scope research
- Perform initial reconnaissance
- Decompose topic into 10+ research threads
- Spawn researcher agents in parallel
- Spawn report-writer agent after research completes
Researcher Agents
Role: Execute focused research on assigned subtopic
Tools allowed: WebSearch, WebFetch, Write
Responsibilities:
- Search the web for information on assigned topic
- Fetch and analyze relevant pages
- Save structured research notes to
research_notes/directory
Output format: Each researcher saves a markdown file to research_notes/[subtopic-slug].md with:
- Summary of findings
- Key facts and data points
- Source URLs with brief descriptions
- Notable quotes or excerpts
- Conflicts or gaps identified
Report-Writer Agent
Role: Synthesize all research notes into final report
Tools allowed: Read, Glob, Write
Responsibilities:
- Read all files from
research_notes/directory - Identify themes, patterns, and conflicts across sources
- Structure and write the final report
- Create the sources bibliography
Research Process
Phase 1: Interview and Scope Definition
Start by interviewing the user to understand their research needs. Ask questions about:
- Research objectives: What are they trying to understand or decide?
- Depth and breadth: How comprehensive should the research be?
- Target audience: Who will read this report?
- Key questions: What specific questions need answering?
- Time constraints: Is this time-sensitive information?
- Scope boundaries: What should be explicitly included or excluded?
The interview should be thorough but efficient. Use the AskUserQuestion tool to gather this information in 2-3 rounds of questions maximum.
Phase 2: Initial Reconnaissance
After the interview, perform initial reconnaissance to identify the research landscape:
- Conduct 3-5 broad web searches to map the topic space
- Identify key subtopics, domains, and areas of focus
- Note promising sources, authoritative voices, and research gaps
- Create a research plan outlining 10+ specific research threads
Save the research plan to research_plan.md documenting:
- The research threads identified
- Which researcher will handle each thread
- Expected output from each researcher
Phase 3: Parallel Research (Researcher Agents)
Launch 10+ researcher agents in parallel using the Task tool. Each agent receives a focused research assignment.
Spawning researcher agents:
Task tool with:
- subagent_type: "general-purpose"
- prompt: Include these elements:
1. Clear statement: "You are a RESEARCHER agent"
2. Specific subtopic assignment
3. Tool restrictions: "Only use WebSearch, WebFetch, and Write tools"
4. Output instructions: "Save your findings to research_notes/[subtopic].md"
5. Format requirements for the research notes file
Example researcher prompt:
You are a RESEARCHER agent investigating: "Technical implementation of quantum error correction"
YOUR TOOLS: Only use WebSearch, WebFetch, and Write.
TASK:
1. Use WebSearch to find authoritative sources on quantum error correction implementation
2. Use WebFetch to extract detailed information from promising sources
3. Save your findings to research_notes/quantum-error-correction.md
OUTPUT FORMAT (save to research_notes/quantum-error-correction.md):
# Quantum Error Correction Implementation
## Summary
[2-3 paragraph summary of key findings]
## Key Findings
- [Bullet points of important facts, data, techniques]
## Sources
1. [URL] - [Brief description of what this source contributed]
2. [URL] - [Brief description]
...
## Notable Quotes
> "[Relevant quote]" - Source
## Gaps and Conflicts
- [Any conflicting information or areas needing more research]
Launch all researcher agents in a single message with multiple Task tool calls for true parallelism.
Phase 4: Report Generation (Report-Writer Agent)
After all researcher agents complete, spawn a single report-writer agent:
Spawning the report-writer agent:
Task tool with:
- subagent_type: "general-purpose"
- prompt: Include these elements:
1. Clear statement: "You are a REPORT-WRITER agent"
2. Tool restrictions: "Only use Read, Glob, and Write tools"
3. Instructions to read all files from research_notes/
4. Report structure requirements
5. Output file paths for report and sources
Example report-writer prompt:
You are a REPORT-WRITER agent synthesizing research findings into a final report.
YOUR TOOLS: Only use Read, Glob, and Write.
TASK:
1. Use Glob to list all files in research_notes/
2. Use Read to load each research notes file
3. Synthesize findings into a comprehensive report
4. Write the final report to [topic]-report.md
5. Write the sources bibliography to [topic]-sources.md
REPORT STRUCTURE:
- Executive Summary (2-3 paragraphs)
- [Adaptive middle sections based on topic]
- Critical Analysis
- Conclusions
- References (numbered citations)
SOURCES FILE STRUCTURE:
# Research Sources for [Topic]
## [1] Source Title
- **URL**: [url]
- **Accessed**: [date]
- **Type**: [Academic paper / Blog post / Documentation / News article]
- **Key Points**: [bullet points]
- **Relevance**: [why this source matters]
WRITING GUIDELINES:
- Use numbered citations [1], [2], etc.
- Cross-reference findings across multiple researcher notes
- Note any conflicts or gaps in the research
- Use clear, precise academic language
- Include tables for comparisons where appropriate
Phase 5: Output and Summary
After the report-writer completes:
-
Inform the user of the generated files:
[topic]-report.md: Main research report[topic]-sources.md: Complete bibliographyresearch_notes/: Directory of raw research (can be deleted)
-
Provide a brief verbal summary of key findings
-
Offer to answer follow-up questions or expand on any section
File Structure
./
├── research_plan.md # Your research plan (Phase 2)
├── research_notes/ # Researcher agent outputs (Phase 3)
│ ├── subtopic-1.md
│ ├── subtopic-2.md
│ └── ...
├── [topic]-report.md # Final report (Phase 4)
└── [topic]-sources.md # Bibliography (Phase 4)
Logging and Observability
Track research progress by documenting in research_plan.md:
- Research threads assigned: List each subtopic and its researcher
- Status tracking: Note when each researcher completes
- Issues encountered: Document any gaps or conflicts found
This provides transparency into the research process and helps with debugging or expanding research later.
Best Practices
Agent Separation
- Lead agent: ONLY spawns agents and coordinates - no direct research
- Researchers: ONLY search, fetch, and write notes - no synthesis
- Report-writer: ONLY reads notes and writes report - no new research
This separation ensures clean handoffs and reproducible results.
Research Quality
- Prioritize authoritative, recent sources (especially for time-sensitive topics)
- Cross-reference claims across multiple researcher notes
- Note conflicting information or perspectives
- Distinguish between facts, expert opinions, and speculation
- Be transparent about limitations in available information
Efficiency
- Launch all researcher agents truly in parallel (single message, multiple Task tool calls)
- Use model="haiku" for researcher agents to reduce costs
- Use model="sonnet" for report-writer agent for better synthesis
- Clear task delineation prevents redundant research
Common Patterns
Comparative Research
When comparing technologies, approaches, or solutions:
- Assign one researcher per option being compared
- Assign one researcher for cross-cutting concerns (performance, cost, etc.)
- Report-writer creates comparison tables
Technical Deep-Dives
When researching technical topics:
- Assign researchers to: fundamentals, implementation, case studies, limitations
- Report-writer structures from basics to advanced
Market/Landscape Research
When surveying a domain or market:
- Assign researchers to: major players, emerging players, trends, analysis firms
- Report-writer categorizes and evaluates the landscape
Historical/Evolution Research
When investigating how something developed:
- Assign researchers to different time periods or key events
- Report-writer creates timeline and connects to present
More from nateberkopec/dotfiles
sandi-metz-rules
This skill should be used when users request code review, refactoring, or code quality improvements for Ruby codebases. Apply Sandi Metz's four rules for writing maintainable object-oriented code - classes under 100 lines, methods under 5 lines, no more than 4 parameters, and controllers instantiate only one object. Use when users mention "Sandi Metz", "code quality", "refactoring", or when reviewing Ruby code for maintainability.
15nanobanana
Generate, edit, and restore images using Gemini CLI with the Nano Banana extension. Use when users request image generation, edits, icons, patterns, diagrams, or visual storytelling.
15argument-validator
This skill should be used when users want to validate or critique an argument by extracting premises, surfacing hidden assumptions, checking logical validity, optionally formalizing in Lean, and researching premise support.
15webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
14env-to-fnox
This skill should be used when users want to migrate from .env files to fnox with 1Password (or another secret provider). It covers installing fnox, creating 1Password items, configuring fnox.toml, and integrating with mise. Use when users mention ".env migration", "fnox setup", "1password secrets", or want to improve their secret management workflow.
14skill-creator
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
13