Use after explore to gather validated external knowledge. Operates with epistemic humility - assumes nothing, validates everything. Outputs research.md.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
Gather validated external knowledge to inform the design. This skill takes the codebase analysis from explore and researches best practices, patterns, and current documentation for the technologies involved.
Input: .workflow/NNN-feature-slug/codebase.md
Output: .workflow/NNN-feature-slug/research.md
Announce at start: "I'm using the research skill to gather validated best practices and current documentation."
Assume you know nothing. All knowledge must be validated.
Exception: Truly immutable standards that never change (e.g., Java's com.sun.net.httpserver package API, HTTP status codes, SQL syntax) may be referenced without re-fetching.
ONE question at a time. Always.
When you need user input (e.g., to resolve conflicting guidance or fill gaps), use the AskUserQuestion tool pattern:
Format:
[Brief context for the question]
**A) [Option Name]** (Recommended)
[1-2 sentence description of what this means]
**B) [Option Name]**
[1-2 sentence description]
**C) [Option Name]**
[1-2 sentence description]
**D) Other**
[Tell me what you're thinking]
Wait for response before asking next question.
explore skill completes/researchdesign-writer skill (research informs architecture decisions)Goal: Understand what we're building and what needs researching.
.workflow/NNN-feature-slug/codebase.md"Based on the codebase analysis, I need to research:
**Technologies:** [List from codebase.md]
**Key areas to research:**
- [Area 1]: [Why we need current info]
- [Area 2]: [Why we need current info]
I'll fetch current documentation and best practices for each. This may take a moment."
Goal: Gather verified information from authoritative sources.
For each technology/pattern:
Fetch official documentation
Validate claims
Document sources
Research areas:
1. Current best practices
- Official documentation
- Framework/library guides
- Style guides and conventions
2. Integration patterns
- How technologies work together
- Common pitfalls documented
- Recommended approaches
3. Security considerations
- OWASP guidelines (if applicable)
- Framework security docs
- Known vulnerabilities
4. Performance guidance
- Official performance docs
- Benchmarking recommendations
- Optimization patterns
For each finding, verify:
Goal: Organize findings into actionable guidance.
Do NOT:
Do:
"I've completed the research. Key findings:
**Validated best practices:**
- [Practice 1] - Source: [link]
- [Practice 2] - Source: [link]
**Areas with uncertainty:**
- [Area]: [Why we need more info or user input]
Ready to document these findings?"
Goal: Create research.md with full source attribution.
Write .workflow/NNN-feature-slug/research.md:
# Research: [Feature Name]
**Date:** YYYY-MM-DD
**Status:** Research complete, ready for design
**Codebase Analysis:** [Link to codebase.md]
## Research Summary
**Technologies researched:**
- [Tech 1] - [version if applicable]
- [Tech 2] - [version if applicable]
**Key findings:**
- [Finding 1]
- [Finding 2]
---
## Best Practices
### [Technology/Pattern 1]
**Source:** [Official documentation URL]
**Retrieved:** YYYY-MM-DD
**Current recommendations:**
- [Recommendation 1]
- [Recommendation 2]
**Deprecated patterns to avoid:**
- [Pattern]: [Why deprecated]
### [Technology/Pattern 2]
**Source:** [URL]
**Retrieved:** YYYY-MM-DD
[Same structure]
---
## Integration Patterns
### [Integration Area]
**Source:** [URL]
**Retrieved:** YYYY-MM-DD
**Recommended approach:**
[Description with source backing]
**Common pitfalls:**
- [Pitfall 1]: [How to avoid] - Source: [URL]
---
## Security Considerations
**Sources:**
- [Security doc URL]
- [OWASP reference if applicable]
**Requirements:**
- [Security requirement 1]
- [Security requirement 2]
---
## Gaps and Uncertainties
**Areas requiring user input:**
- [Area]: [What we couldn't determine from sources]
**Conflicting guidance:**
- [Topic]: [Source A says X, Source B says Y]
---
## Sources
| Source | URL | Retrieved | Notes |
|--------|-----|-----------|-------|
| [Name] | [URL] | YYYY-MM-DD | [Relevance] |
| [Name] | [URL] | YYYY-MM-DD | [Relevance] |
After writing research.md:
I've completed the research and saved it to `.workflow/NNN-feature-slug/research.md`.
**Key findings:**
- [Most important finding 1]
- [Most important finding 2]
**Gaps to address:** [Any areas needing user input, or "None"]
What's next?
**A) Run `/design-writer`** (Recommended)
I'll architect the solution based on these findings
**B) Review the research first**
Let's look at what I found before moving on
**C) Research more areas**
There's something else I should look into
**D) Other**
Something else in mind
If there are gaps requiring user input, ask about them first (one at a time):
The research found conflicting guidance on [topic]:
**A) [Approach from Source A]** (Recommended)
[Why this is recommended based on our context]
**B) [Approach from Source B]**
[Trade-offs of this approach]
**C) [Approach from Source C]**
[Trade-offs of this approach]
**D) Other**
Different approach in mind
Which approach fits your needs?
IMPORTANT: When user selects option A, invoke the design-writer skill using the Skill tool. Do NOT proceed to implementation or trigger built-in plan mode.
Never:
Always: