Explore an unfamiliar problem space through multi-phase parallel research with synthesis. Use before writing a PRD when the domain, technology, or trade-offs are not well understood. Produces a structured research document.
Explore an unfamiliar problem space through parallel research agents, gap analysis, and synthesis. Produces a structured research document that feeds into the planning pipeline (grill-me → write-a-prd → prd-to-plan).
Use this skill when:
Skip this skill when:
Based on the topic, determine 3-4 research angles. These are NOT fixed roles — they adapt to the problem.
Examples:
"Should we add real-time sync to Vestige?" → existing solutions, conflict resolution strategies, transport protocols, storage implications
"Evaluate GraphQL vs REST for our new API" → ecosystem maturity, code generation tooling, caching strategies, team familiarity
"Migrate from SQLite to PostgreSQL" → migration tooling, query compatibility, deployment complexity, performance characteristics for our access patterns
Present the proposed axes to the user. Let them adjust, add, or remove before proceeding.
Launch one subagent per axis in parallel in a single message. Each agent receives:
Agent prompt template:
Research the following topic from the perspective of your assigned angle.
## Topic
<topic description>
## Your Research Angle
<specific angle for this agent>
## Codebase Context
<relevant context about the project, tech stack, constraints>
## Output Format
Return your findings in this structure:
### Key Facts
What you found, with specifics. Cite sources where possible.
### Options Identified
Viable approaches within your angle. For each option: brief description, pros, cons.
### Risks
Downsides, gotchas, known problems.
### Open Questions
Things you couldn't fully answer or that need deeper investigation.
### Cross-References
Flag connections to other research angles:
- "This finding likely affects [other angle] because..."
- "The [other angle] researcher should also consider..."
Be thorough but concise. Focus on findings that would inform a decision, not exhaustive background.
The cross-references instruction is key — it primes each researcher to flag connections to other axes even though they can't communicate directly. The coordinator uses these in the gap analysis.
After all Phase 1 agents complete, read all results and identify:
Present the gap analysis to the user. Ask: should we do a follow-up phase, or is this sufficient?
If the user wants deeper investigation:
After Phase 2 completes, present new findings to the user. Do NOT offer a Phase 3 — two rounds is the limit. If significant unknowns remain, note them in the synthesis as open risks.
Write a research document covering:
# Research: <Topic>
**Date**: <YYYY-MM-DD>
**Research axes**: <list of angles investigated>
**Phases**: <1 or 2>
## Landscape Summary
What we now understand about the problem space. Establish the context
and constraints that shape the available options.
## Options
### Option A: <Name>
<Description>
**Pros:**
- ...
**Cons:**
- ...
**Fit for our case:** <brief assessment of how well this fits the specific project>
### Option B: <Name>
...
## Recommendation
The strongest path forward, with reasoning. Reference specific findings
that support this recommendation. If no single option is clearly best,
say so and explain what would tip the decision.
## Risks and Unknowns
What we still don't know, and whether it matters for the decision.
Distinguish between:
- **Risks we can mitigate** — known problems with known solutions
- **Unknowns that may not matter** — gaps in our knowledge that are unlikely to affect the outcome
- **Unknowns that could change the decision** — things that, if answered differently, would alter the recommendation
## Sources and References
Links, documentation, libraries, tools, and other resources discovered
during research. Group by relevance.
@../../../../conventions/work-items.md
Detect the available system and confirm with the user.
Research: <Topic> and the synthesis document as the body./plans/<topic-slug>-research.mdAfter saving, inform the user:
Research complete: <path or work item reference>
Next step: /decaf-planning:grill-me or /decaf-planning:write-a-prd
/decaf-planning:research Should we add real-time sync to Vestige?
/decaf-planning:research Evaluate options for replacing our REST API with GraphQL
/decaf-planning:research Migration path from SQLite to PostgreSQL for our access patterns