Files
msd-core/commands/gsd/research-project.md
Lex Christopherson c7a88a6ab0 feat(02-01): research-project command, workflow, and template
- Created /gsd:research-project slash command for pre-roadmap domain research
- Built batched subagent workflow (3-4 max parallel, 2 batches)
- Defined project-research template for ecosystem/architecture/pitfalls/standards

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 21:29:40 -06:00

3.7 KiB

description, allowed-tools
description allowed-tools
Research domain ecosystem before creating roadmap
Task
Read
Write
Bash
Glob
Grep
AskUserQuestion
Research domain ecosystem via batched subagents before roadmap creation.

Spawns 3-4 subagents in parallel to research:

  • Ecosystem (libraries, frameworks, tools)
  • Architecture (patterns, project structure)
  • Pitfalls (common mistakes, what NOT to do)
  • Standards (best practices, conventions)

Each subagent writes directly to .planning/research/ preserving main context.

<execution_context> @/.claude/get-shit-done/workflows/research-project.md @/.claude/get-shit-done/templates/project-research.md @~/.claude/get-shit-done/references/research-subagent-prompts.md </execution_context>

**Load project vision:** @.planning/PROJECT.md

Check for existing research: !ls .planning/research/ 2>/dev/null || echo "NO_RESEARCH_DIR"

Check prerequisites:
# Verify .planning/ exists
[ -d .planning ] || { echo "No .planning/ directory. Run /gsd:new-project first."; exit 1; }

# Verify PROJECT.md exists
[ -f .planning/PROJECT.md ] || { echo "No PROJECT.md. Run /gsd:new-project first."; exit 1; }

# Check for existing research
[ -d .planning/research ] && echo "RESEARCH_EXISTS" || echo "NO_RESEARCH"

If RESEARCH_EXISTS:

Research already exists at .planning/research/

What would you like to do?
1. View existing research
2. Re-run research (overwrites existing)
3. Skip to create-roadmap

Wait for user decision.

Parse PROJECT.md to identify the domain and research scope.

Look for:

  • Technologies mentioned (Three.js, WebGL, audio, etc.)
  • Problem domain (3D, games, real-time, etc.)
  • Technical constraints that suggest specific ecosystems

If domain unclear, use AskUserQuestion:

  • header: "Domain"
  • question: "What domain should we research?"
  • options:
    • "3D/Graphics" - Three.js, WebGL, shaders
    • "Games/Interactive" - Physics, collision, procedural
    • "Audio/Music" - Web Audio, synthesis, DSP
    • (other relevant options based on PROJECT.md)
Follow research-project.md workflow:
  1. Create .planning/research/ directory
  2. Spawn first batch of subagents (ecosystem + architecture)
  3. Wait for completion
  4. Spawn second batch (pitfalls + standards)
  5. Wait for completion
  6. Verify all outputs exist
After all subagents complete:
Research complete:
- .planning/research/ecosystem.md
- .planning/research/architecture.md
- .planning/research/pitfalls.md
- .planning/research/standards.md

Key findings:
- [Top ecosystem recommendation]
- [Key architecture pattern]
- [Critical pitfall to avoid]

What's next?
1. Create roadmap (/gsd:create-roadmap) - Incorporates research
2. Review research files
3. Done for now

If user selects "Create roadmap" → invoke /gsd:create-roadmap

- `.planning/research/ecosystem.md` - `.planning/research/architecture.md` - `.planning/research/pitfalls.md` - `.planning/research/standards.md`

<success_criteria>

  • PROJECT.md exists (prerequisite checked)
  • Domain detected or user clarified
  • Subagents spawned in batches of 3-4 max
  • All subagents wrote files directly to .planning/research/
  • All 4 research files exist
  • User knows next steps (create-roadmap) </success_criteria>