Files
msd-core/commands/gsd/research-project.md
Lex Christopherson d0488c503f feat: add define-requirements command for scoped v1 requirements
Adds /gsd:define-requirements to transform research findings into
checkable requirements before roadmap creation.

New flow:
  new-project → research-project → define-requirements → create-roadmap

New files:
- commands/gsd/define-requirements.md
- get-shit-done/workflows/define-requirements.md
- get-shit-done/templates/requirements.md

Modified:
- new-project.md: updated next steps
- research-project.md: points to define-requirements
- create-roadmap.md: requires REQUIREMENTS.md, validates coverage
- workflows/create-roadmap.md: maps phases to requirements, updates traceability

Key changes:
- Phases now map to specific requirement IDs
- 100% requirement coverage required before roadmap creation
- REQUIREMENTS.md traceability section tracks phase assignments

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 23:25:41 -06:00

3.8 KiB

name, description, allowed-tools
name description allowed-tools
gsd:research-project Research domain ecosystem before creating roadmap
Read
Write
Bash
Glob
Grep
Task
WebFetch
WebSearch
mcp__context7__*
Comprehensive domain research before roadmap creation.

Answers the questions that inform quality roadmaps:

  • What's the standard stack for this type of product?
  • What features do users expect?
  • How are these systems typically structured?
  • What do projects in this domain commonly get wrong?

Run after /gsd:new-project, before /gsd:define-requirements.

Output: .planning/research/ folder with ecosystem knowledge.

<execution_context> @/.claude/get-shit-done/workflows/research-project.md @/.claude/get-shit-done/templates/research-project/SUMMARY.md @/.claude/get-shit-done/templates/research-project/STACK.md @/.claude/get-shit-done/templates/research-project/FEATURES.md @/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md @/.claude/get-shit-done/templates/research-project/PITFALLS.md </execution_context>

@.planning/PROJECT.md @.planning/config.json (if exists) ```bash # Verify project exists [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; }

Check if roadmap already exists

[ -f .planning/ROADMAP.md ] && echo "WARNING: ROADMAP.md already exists. Research is typically done before roadmap creation."

Check if research already exists

[ -d .planning/research ] && echo "RESEARCH_EXISTS" || echo "NO_RESEARCH"

</step>

<step name="check_existing">
**If RESEARCH_EXISTS:**

Use AskUserQuestion:
- header: "Research exists"
- question: "Research folder already exists. What would you like to do?"
- options:
  - "View existing" — Show current research summary
  - "Replace" — Run fresh research (will overwrite)
  - "Cancel" — Keep existing research

If "View existing": Read and display `.planning/research/SUMMARY.md`, then exit
If "Cancel": Exit
If "Replace": Continue with workflow
</step>

<step name="execute_research">
Follow the research-project.md workflow:
- Analyze PROJECT.md to determine domain
- Identify research questions based on domain
- Spawn parallel research agents
- Aggregate results into `.planning/research/`
- Create SUMMARY.md with roadmap implications
</step>

<step name="done">

Research complete:

  • Summary: .planning/research/SUMMARY.md
  • Stack: .planning/research/STACK.md
  • Features: .planning/research/FEATURES.md
  • Architecture: .planning/research/ARCHITECTURE.md
  • Pitfalls: .planning/research/PITFALLS.md

▶ Next Up

Define requirements — scope your v1 from research findings

/gsd:define-requirements

/clear first → fresh context window

Flow: research-project → define-requirements → create-roadmap


</step>

</process>

<when_to_use>
**Use research-project for:**
- Greenfield projects in established domains (community, e-commerce, SaaS)
- When "what features should exist" is partially unknown
- Complex integrations requiring ecosystem knowledge
- Domains where best practices matter (auth, payments, real-time)
- Any project where you'd Google "how to build a [X]" before starting

**Skip research-project for:**
- Well-defined specs ("build exactly this API")
- Simple tools/utilities with clear scope
- Adding features to existing codebases (use research-phase instead)
- Domains you've built in many times before
</when_to_use>

<success_criteria>
- [ ] PROJECT.md validated
- [ ] Domain identified from project description
- [ ] Research questions determined and approved
- [ ] Parallel research agents spawned
- [ ] All research documents created in .planning/research/
- [ ] SUMMARY.md includes roadmap implications
- [ ] Research committed to git
- [ ] User knows next step (define-requirements)
</success_criteria>