SDD Research Skill
Investigate codebase patterns and external solutions to inform specification and planning.
When to Use
- •Technical approach is unclear
- •Need to understand existing patterns
- •Evaluating solution options
- •Before
/specifyor/plancommands - •When
sdd-explorerfindings need deeper analysis
Research Protocol
Phase 1: Codebase Analysis
- •Existing patterns: How similar problems are solved
- •Reusable components: What can be leveraged
- •Conventions: Naming, structure, architecture patterns
- •Dependencies: What libraries/frameworks are used
Phase 2: External Solutions
- •Best practices: Industry standards for this problem
- •Library options: Available tools and their tradeoffs
- •Architecture patterns: Applicable design patterns
- •Reference implementations: Similar solutions elsewhere
Phase 3: Synthesis
- •Compare options: Pros/cons matrix
- •Recommend approach: Based on findings
- •Flag risks: Technical concerns and unknowns
- •Document assumptions: What needs validation
Research Output Format
markdown
# Research: [Topic] ## Summary [1-2 sentence overview of findings] ## Codebase Analysis ### Existing Patterns | Pattern | Location | Relevance | |---------|----------|-----------| | [pattern] | [file/dir] | [how it applies] | ### Reusable Components - [component]: [how to leverage] ### Conventions - [convention type]: [standard used] ## External Solutions ### Option 1: [Name] - **Pros**: [advantages] - **Cons**: [disadvantages] - **Effort**: [estimate] ### Option 2: [Name] - **Pros**: [advantages] - **Cons**: [disadvantages] - **Effort**: [estimate] ## Comparison Matrix | Criteria | Option 1 | Option 2 | |----------|----------|----------| | [criteria] | [score] | [score] | ## Recommendation [Recommended approach with rationale] ## Risks & Unknowns - [risk]: [mitigation] ## Next Steps 1. [action item]
Reference Patterns
See references/patterns.md for common architectural patterns and when to use them.
Integration
- •Findings feed into
/specifycommand - •Informs
sdd-plannersubagent decisions - •Can be invoked by
sdd-explorerfor deeper analysis - •Use the ask question tool when research reveals multiple valid approaches