Research
Overview
Structured research process that works for coding tasks (evaluating libraries, understanding APIs) and non-coding work (market research, content creation, learning new domains). Produces organized, actionable artifacts.
Process
1. Scope
Define what we're researching and why:
- What question(s) need answering?
- What decisions will this inform?
- What's out of scope?
- What format should the output take?
Confirm scope with user before proceeding.
2. Prior Work
Before gathering new information, check for existing knowledge:
- Search any available knowledge base for prior research, decisions, or patterns on this topic
- Review project docs, CLAUDE.md, and existing codebase patterns
- Summarize what's already known and identify gaps that still need research
- Note any prior work that's outdated or low confidence and may need updating
If nothing relevant exists, proceed to Gather.
3. Gather
Collect information from available sources:
- Existing knowledge: Prior decisions, patterns, and research (from step 2)
- Code: Read relevant files, grep for patterns, check dependencies
- Web: WebSearch for docs, articles, comparisons. WebFetch for specific pages
- Docs: Framework docs via context7 MCP if available
Use parallel subagents for independent research threads.
4. Organize
Structure findings:
- Group by theme, not by source
- Flag contradictions between sources and existing knowledge
- Note confidence level (verified, likely, uncertain)
- Separate facts from opinions
5. Synthesize
Draw conclusions:
- Answer the original questions directly
- Provide recommendation with reasoning
- List trade-offs explicitly
- Note what remains unknown
6. Artifact
Deliver in the agreed format:
- Decision: Recommendation + alternatives + trade-offs table
- Comparison: Feature matrix with weighted criteria
- Summary: Key findings + action items
- Brief: Background + analysis + recommendation (for sharing with others)
7. Persist
After the user accepts findings, save them for future retrieval:
- If a knowledge base is available, deposit the findings with appropriate metadata (type, tags, confidence, related notes)
- If research supersedes prior work, mark the old artifact as outdated
- Skip for trivial lookups or if the user declines
Quick Reference
| Research Type |
Key Sources |
Typical Output |
| Library eval |
npm/pypi, GitHub stars/issues, docs |
Comparison matrix |
| Bug investigation |
Code, logs, issue trackers |
Root cause + fix options |
| Architecture |
Existing decisions, code, web patterns |
Decision document |
| Content/topic |
Web search, articles, papers |
Structured summary |
| API integration |
API docs, examples, SDKs |
Integration guide |
Common Mistakes
- Starting to gather before defining scope (wastes time on irrelevant info)
- Skipping prior work check (re-researching what's already known)
- Presenting raw findings without synthesis (user wants answers, not data dumps)
- Not confirming scope with user (researching the wrong thing)
- Single-source conclusions (verify across multiple sources)
- Forgetting to persist findings (research evaporates after the session)
1---2name: research3description: Use when the user asks to research a topic, investigate options, compare technologies, analyze a problem space, or gather information before making a decision — for both coding and non-coding work4---56# Research78## Overview910Structured research process that works for coding tasks (evaluating libraries, understanding APIs) and non-coding work (market research, content creation, learning new domains). Produces organized, actionable artifacts.1112## Process1314### 1. Scope15Define what we're researching and why:16- What question(s) need answering?17- What decisions will this inform?18- What's out of scope?19- What format should the output take?2021Confirm scope with user before proceeding.2223### 2. Prior Work24Before gathering new information, check for existing knowledge:25- Search any available knowledge base for prior research, decisions, or patterns on this topic26- Review project docs, CLAUDE.md, and existing codebase patterns27- Summarize what's already known and identify gaps that still need research28- Note any prior work that's outdated or low confidence and may need updating2930If nothing relevant exists, proceed to Gather.3132### 3. Gather33Collect information from available sources:34- **Existing knowledge**: Prior decisions, patterns, and research (from step 2)35- **Code**: Read relevant files, grep for patterns, check dependencies36- **Web**: WebSearch for docs, articles, comparisons. WebFetch for specific pages37- **Docs**: Framework docs via context7 MCP if available3839Use parallel subagents for independent research threads.4041### 4. Organize42Structure findings:43- Group by theme, not by source44- Flag contradictions between sources and existing knowledge45- Note confidence level (verified, likely, uncertain)46- Separate facts from opinions4748### 5. Synthesize49Draw conclusions:50- Answer the original questions directly51- Provide recommendation with reasoning52- List trade-offs explicitly53- Note what remains unknown5455### 6. Artifact56Deliver in the agreed format:57- **Decision**: Recommendation + alternatives + trade-offs table58- **Comparison**: Feature matrix with weighted criteria59- **Summary**: Key findings + action items60- **Brief**: Background + analysis + recommendation (for sharing with others)6162### 7. Persist63After the user accepts findings, save them for future retrieval:64- If a knowledge base is available, deposit the findings with appropriate metadata (type, tags, confidence, related notes)65- If research supersedes prior work, mark the old artifact as outdated66- Skip for trivial lookups or if the user declines6768## Quick Reference6970| Research Type | Key Sources | Typical Output |71|--------------|-------------|----------------|72| Library eval | npm/pypi, GitHub stars/issues, docs | Comparison matrix |73| Bug investigation | Code, logs, issue trackers | Root cause + fix options |74| Architecture | Existing decisions, code, web patterns | Decision document |75| Content/topic | Web search, articles, papers | Structured summary |76| API integration | API docs, examples, SDKs | Integration guide |7778## Common Mistakes79- Starting to gather before defining scope (wastes time on irrelevant info)80- Skipping prior work check (re-researching what's already known)81- Presenting raw findings without synthesis (user wants answers, not data dumps)82- Not confirming scope with user (researching the wrong thing)83- Single-source conclusions (verify across multiple sources)84- Forgetting to persist findings (research evaporates after the session)