research-requirements
Skill1 starsChanged 5 months agoMITView on GitHub
Research requirements, technology choices, and constraints for a feature or project and write findings under flow/research/. Explicit workflow command; run only when invoked via /research-requirements or explicitly asked.
We split this skill into the rules it gives an agent
22 rules. About 0 are common, 20 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈20
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
When this command is invoked:
- Distinctive: line 24
If a tracker URL or project description was provided, proceed immediately
- Distinctive: line 25
Read/fetch input FULLY before spawning sub-tasks
- Distinctive: line 42
If a tracker URL or work-item id was provided:
- Distinctive: line 45
If plain text: use as-is
- Distinctive: line 46
CRITICAL: Read/fetch input FULLY before spawning sub-tasks
- Distinctive: line 61
Create a research plan using TodoWrite to track exploration tasks.
- Distinctive: line 65
Use these agent types concurrently to research different aspects:
- Distinctive: line 73
Run multiple agents in parallel for different research areas.
- Very specific: line 83
Note on flow agents: Always include these agents.
- Distinctive: line 87
CRITICAL: Wait for ALL sub-agents to complete before proceeding
- Distinctive: line 117
Write the research document with this structure:
- Distinctive: line 183
After writing the document:
- Distinctive: line 208
Wait for user confirmation: before any next steps
- Distinctive: line 214
Always read/fetch input FULLY before spawning sub-agents
- Distinctive: line 215
Always wait for ALL sub-agents to complete before synthesizing
- Distinctive: line 216
Always gather real metadata (don't use placeholders)
- Distinctive: line 217
Always present findings and wait for user confirmation
- Distinctive: line 224
DO NOT skip user confirmation: - always present findings for review
- Distinctive: line 225
DO NOT pollute main context: - use sub-agents for heavy research
- Distinctive: line 226
DO NOT proceed to planning automatically: - wait for user approval
- Very specific: line 228
DO NOT skip flow agents: - always include them, they handle empty results gracefully
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Research Requirements
You are tasked with researching requirements for new projects or features. This is the first step in the Research → Plan → Implement workflow, used when starting work that doesn't require understanding an existing codebase.
This command researches and documents:
- Project requirements and constraints
- Technology choices and trade-offs
- Architecture considerations
- External dependencies and existing solutions
Initial Setup
When this command is invoked:
- Check if parameters were provided:
- If a tracker URL or project description was provided, proceed immediately
- Read/fetch input FULLY before spawning sub-tasks
- If no parameters provided, respond with:
I'm ready to research requirements for a new project or feature. Please provide:
- A project description, OR
- An issue / work-item URL with requirements (any supported tracker)
I'll research technology options, constraints, and existing solutions to inform planning.Then wait for user input.
Steps to follow after receiving input:
Step 1: Parse Input Source
- If a tracker URL or work-item id was provided:
- Fetch the work-item content:
tracker view <id> --json title,body,state,comments - Transition state:
tracker set-state <id> research-in-progress
- Fetch the work-item content:
- If plain text: use as-is
- CRITICAL: Read/fetch input FULLY before spawning sub-tasks
Extract:
- Core requirements
- Constraints mentioned
- Technology preferences (if any)
- Success criteria
Step 2: Decompose Research Areas
Break requirements into researchable components:
- Identify functional requirements
- Identify non-functional requirements (performance, security, etc.)
- Identify technology domains needing research
Create a research plan using TodoWrite to track exploration tasks.
Step 3: Spawn Parallel Sub-Agents
Use these agent types concurrently to research different aspects:
| Agent | Purpose |
web-search-researcher | Technology options, best practices, similar projects |
flow-locator | Find existing research in flow/ directory |
flow-analyzer | Extract insights from relevant historical docs (if locator finds any) |
Run multiple agents in parallel for different research areas. Example:
# Spawn concurrently:
- web-search-researcher: "Research [technology domain 1] options for [use case]"
- web-search-researcher: "Research [technology domain 2] best practices"
- web-search-researcher: "Find similar open source projects for [description]"
- flow-locator: "Find any existing research or decisions about [relevant topics]"Note on flow agents: Always include these agents. The flow/ directory accumulates historical context over time. For early research cycles, agents may report "no prior research found" - this is expected and still useful information.
Step 4: Wait and Synthesize
- CRITICAL: Wait for ALL sub-agents to complete before proceeding
- Compile findings across all sources
- Identify technology trade-offs and recommendations
- Note open questions requiring user input
- Identify any conflicting recommendations
Step 5: Gather Metadata
Collect metadata for the output document:
- Get current date:
date -Iseconds - Get git commit hash:
git rev-parse HEAD - Get current branch:
git branch --show-current - Get repository name:
basename $(git rev-parse --show-toplevel) - Extract tracker work-item id (if applicable)
Generate filename using this convention:
flow/research/YYYY-MM-DD-gh-[issue-number]-[description].mdYYYY-MM-DD- today's dategh-[issue-number]- tracker work-item id (omit if no work item; the literal "gh-" prefix is a stable filename convention)[description]- brief kebab-case description
Examples:
- With issue:
flow/research/2026-01-12-gh-1-research-requirements-command.md - Without issue:
flow/research/2026-01-12-dotfile-manager-requirements.md
Step 6: Generate Research Document
Write the research document with this structure:
---
date: [ISO timestamp with timezone]
researcher: claude
git_commit: [current hash]
branch: [current branch]
repository: [repo name]
github_issue: [issue number or null]
topic: "[Project/Feature Name] Requirements Research"
tags: [research, requirements, relevant-tech-tags]
status: complete
---
# Requirements Research: [Project/Feature Name]
## Original Request
[User's input or tracker work-item content]
## Summary
[High-level findings and recommendations - 2-3 paragraphs]
## Functional Requirements
- Requirement 1
- Requirement 2
- ...
## Non-Functional Requirements
- Constraint 1 (e.g., performance, security, scalability)
- Constraint 2
- ...
## Technology Options
### [Domain 1, e.g., "Database"]
| Option | Pros | Cons | Recommendation |
|--------|------|------|----------------|
| Option A | ... | ... | ... |
| Option B | ... | ... | ... |
### [Domain 2, e.g., "Framework"]
| Option | Pros | Cons | Recommendation |
|--------|------|------|----------------|
| Option A | ... | ... | ... |
## Existing Solutions
[Similar projects and approaches from web research]
- [Project/Library Name](url) - Description and relevance
- [Another Resource](url) - Description
## Historical Context (from flow/)
[Relevant past research or decisions, or "No prior research found" for early cycles]
## Open Questions
[Items requiring user clarification before planning]
- Question 1
- Question 2
## Recommended Next Steps
1. Resolve open questions above
2. Run `/create-plan` with this research documentStep 7: Present and Confirm
After writing the document:
- Transition the work-item state (if applicable):
tracker set-state <id> research-complete research-in-progress
- Present summary to user:
I've completed the requirements research and written the findings to:
`flow/research/[filename].md`
Key findings:
- [Most important finding 1]
- [Most important finding 2]
- [Most important finding 3]
Technology recommendations:
- [Domain]: [Recommended option] because [reason]
Open questions requiring your input:
- [Question 1]
- [Question 2]
Please review the research document. Once you've resolved any open questions, you can proceed with `/create-plan` to design the implementation.- Wait for user confirmation before any next steps
- Do NOT automatically proceed to planning
Important Notes
Critical Ordering
- Always read/fetch input FULLY before spawning sub-agents
- Always wait for ALL sub-agents to complete before synthesizing
- Always gather real metadata (don't use placeholders)
- Always present findings and wait for user confirmation
What NOT To Do
- DO NOT write any implementation code - this is research only
- DO NOT create a plan - that's
/create-plan's job - DO NOT make final technology decisions - present options with trade-offs
- DO NOT skip user confirmation - always present findings for review
- DO NOT pollute main context - use sub-agents for heavy research
- DO NOT proceed to planning automatically - wait for user approval
- DO NOT use placeholder values - gather real metadata before writing
- DO NOT skip flow agents - always include them, they handle empty results gracefully
References
- Pattern reference:
.claude/skills/research-codebase/SKILL.md - Output directory:
flow/research/
In this repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- commitSkill
- create-handoffSkill
- create-planSkill
- cross-reviewSkill
- describe-prSkill
- handle-pr-feedbackSkill
- implement-planSkill
- initSkill
- iterate-planSkill
- advanced-evaluationSkill
- research-codebaseSkill
- resume-handoffSkill
- validate-planSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

