Research Deep Skill
Deep subject matter investigation combining external research with codebase exploration. Use this to thoroughly understand a domain, feature, or concept before planning implementation.
When to Use
- •Before
/specwhen you need domain understanding first - •When exploring unfamiliar territory (new API, new domain concept, unfamiliar pattern)
- •When the user asks "help me understand X" or "research X for me"
- •When you need to answer "what is the right way to do this?" before "how do we build it?"
Philosophy: Scientist/Detective Mode
Think like a scientist investigating a phenomenon or a detective gathering evidence:
- •Observe - What exists? What patterns are there?
- •Question - What don't we understand? What assumptions need validation?
- •Investigate - Search broadly, then deeply
- •Synthesize - Connect the dots, form a coherent understanding
- •Present - Share findings clearly, acknowledge uncertainties
Research Process
Phase 1: Scope Definition
Before researching, clarify:
- •What specific question(s) need answering?
- •What would "understanding this" look like?
- •What decisions will this research inform?
Phase 2: External Research
Use web research to understand:
- •Domain concepts - What is this thing? How does it work in general?
- •Best practices - What do experts recommend?
- •Common patterns - How do others solve this?
- •Pitfalls - What goes wrong? What to avoid?
- •Terminology - What are the key terms and their meanings?
Search strategies:
- •Start with "[topic] explained" or "[topic] overview"
- •Then "[topic] best practices 2025"
- •Then "[topic] vs [alternative]" for comparisons
- •Then "[topic] pitfalls" or "[topic] common mistakes"
- •Check official documentation when applicable
Phase 3: Codebase Exploration
Use Explore agent to understand:
- •Existing patterns - How does this codebase handle similar things?
- •Related features - What's already built that touches this domain?
- •Conventions - What patterns should new code follow?
- •Integration points - Where would new functionality connect?
Key questions:
- •"Is there existing code that does something similar?"
- •"What patterns does this codebase use for [X]?"
- •"Where are the integration points for [domain]?"
Phase 4: Synthesis
Connect external knowledge with codebase reality:
- •How do best practices apply to THIS codebase?
- •What existing patterns align with recommended approaches?
- •What gaps exist between ideal and current state?
- •What constraints does the existing architecture impose?
Phase 5: Findings Presentation
Structure your findings report:
markdown
## Research Findings: [Topic] ### Executive Summary [2-3 sentences: What did we learn? What's the key insight?] ### Domain Understanding #### What Is [Topic]? [Clear explanation of the concept/domain] #### Key Concepts - **[Concept 1]**: [Explanation] - **[Concept 2]**: [Explanation] #### How It Works [Explanation of mechanics, flow, or process] ### Best Practices & Patterns #### Industry Recommendations - [Practice 1] - [Why it matters] - [Practice 2] - [Why it matters] #### Common Pitfalls - [Pitfall 1] - [How to avoid] - [Pitfall 2] - [How to avoid] ### Codebase Context #### Existing Related Features - [Feature] in [location] - [How it relates] #### Applicable Patterns - [Pattern] used in [location] - [How it could apply] #### Integration Points - [Where new code would connect] ### Synthesis #### Recommended Approach [Based on research + codebase context, what approach makes sense?] #### Key Decisions to Make - [Decision 1]: [Options and tradeoffs] - [Decision 2]: [Options and tradeoffs] #### Uncertainties & Open Questions - [What we still don't know] - [What needs validation] ### Sources - [Source 1](URL) - [What it covered] - [Source 2](URL) - [What it covered] - [Codebase: path/to/file] - [What it showed]
Output Guidelines
- •Be thorough but focused - Cover what matters, skip tangents
- •Cite sources - Every claim should trace back to a source
- •Distinguish certainty levels - "Best practice is X" vs "It seems like X"
- •Connect to codebase - External knowledge alone isn't enough
- •Identify unknowns - What we don't know is as important as what we do
- •Enable decisions - Findings should help the user decide next steps
What This Is NOT
- •Not implementation planning - Use
/specfor that - •Not a quick answer - Use regular conversation for simple questions
- •Not pure web search - Use
/researchfor that - •Not pure codebase exploration - Use Explore agent for that
This is the bridge between "I don't understand this domain" and "I'm ready to plan the implementation."
Example Usage
User: "Research deep on event-driven architecture - I need to understand how message queues and event sourcing work before we build this"
Output: Comprehensive findings on:
- •What event-driven architecture is and how it differs from request-response
- •How major platforms (AWS SQS/SNS, RabbitMQ, Kafka) handle this
- •Best practices for event schema design, ordering, idempotency
- •How our existing codebase handles async operations
- •Where new event system would integrate
- •Key decisions: queue vs pub/sub, ordering guarantees, retry strategy