Research Skill
Conduct research on a topic and produce a structured document at the project root.
When to use
Trigger phrases: "research", "look into", "investigate", "find out about", "what is the latest", "compare X and Y".
Workflow
Step 1: Clarify the research question
Before searching, confirm:
- What specific question needs to be answered?
- What would a useful output look like? (comparison table, pros/cons, code examples, etc.)
- Is there a decision to be made at the end, or is this purely exploratory?
Step 2: Determine the output path
Research files live under research/ at the project root — not inside .memory/.
Choose the file location based on scope:
| Scope | Path |
|---|---|
| Project-level topic | research/<topic>.md |
| Specific to a feature (project mode) | research/<feature>/<topic>.md |
| Specific to a task (workspace mode) | research/<task>/<topic>.md |
Step 3: Conduct research
Use web search, official documentation, and codebase exploration as appropriate. For comparative research (e.g., library A vs B), investigate both sides before concluding.
Step 4: Write the research document
# {{Topic}}
**Question**: {{The specific question being answered}}
**Date**: {{YYYY-MM-DD}}
## Findings
{{Key findings, organized logically}}
## Options Considered
### Option A: {{Name}}
**Pros**: ...
**Cons**: ...
### Option B: {{Name}}
**Pros**: ...
**Cons**: ...
## Conclusion / Recommendation
{{Clear conclusion. If a decision follows from this, state it.}}
## References
- {{Link or source}}
Omit the "Options Considered" section for purely exploratory research with no comparison.
Step 5: Offer to update memory
After completing research, offer to:
- Append the conclusion to
decisions.mdif a clear decision follows - Update
spec.mdif the research clarifies scope - Update
status.mdorplan.mdif it unblocks a next step