name: research description: Use when researching topics, investigating questions, planning features, or when a task requires gathering and synthesizing information from multiple sources.
Research
When to Use
- User asks to research or investigate a topic
- Task requires understanding something before acting
- Planning a feature or making an architectural decision
- Answering questions that need current/sourced information
Process
1. Clarify the Question
Before searching, restate what you're actually trying to find out. Break broad questions into specific sub-questions.
2. Search Breadth-First
- Use web_search for each sub-question to survey the landscape
- Use grep / glob to check if relevant information exists locally
- Scan titles and descriptions — don't deep-dive yet
3. Deep-Dive on Best Sources
- Use web_fetch to read the 2-3 most promising results
- Use read_file for local documentation
- Extract key facts, not entire pages
4. Synthesize
- Cross-reference findings from multiple sources
- Note agreements and contradictions
- Identify gaps — what couldn't you find?
5. Present Findings
Structure your response as:
- Answer: Direct answer to the question (1-2 sentences)
- Key Findings: Bullet points of what you learned
- Sources: Links or file paths you consulted
- Gaps/Caveats: What you couldn't verify or what might be outdated
Anti-Patterns
- Don't summarize a single source — always cross-reference
- Don't present speculation as fact — flag uncertainty
- Don't skip local sources — check the codebase and memory first
- Don't dump raw search results — synthesize into insight