refactor: remove research-project command

Pre-roadmap research was over-engineered theater:
- 3 parallel subagents producing fragmented output
- Files with unclear consumption points
- Duplicated what research-phase does better (just-in-time)

Deleted:
- commands/gsd/research-project.md
- get-shit-done/workflows/research-project.md
- get-shit-done/templates/project-research.md
- get-shit-done/references/research-subagent-prompts.md

Phase-level research (/gsd:research-phase) remains for niche domains.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lex Christopherson
2025-12-17 10:01:02 -06:00
parent 65825928cc
commit c2359cdaf3
9 changed files with 9 additions and 1293 deletions

View File

@@ -9,11 +9,9 @@ allowed-tools:
---
<objective>
Create project roadmap, optionally incorporating research findings from /gsd:research-project.
Create project roadmap with phase breakdown.
Roadmaps define the phase breakdown - what work happens in what order. This command can be used:
1. After /gsd:new-project (without research)
2. After /gsd:research-project (with domain research incorporated)
Roadmaps define what work happens in what order. Run after /gsd:new-project.
</objective>
<execution_context>
@@ -57,46 +55,12 @@ If "Cancel": Exit
If "Replace": Continue with workflow
</step>
<step name="check_research">
Check for project research:
```bash
ls .planning/research/*.md 2>/dev/null
```
**If research found:**
Load and summarize each research file:
- ecosystem.md → Key libraries/frameworks recommended
- architecture.md → Architectural patterns to follow
- pitfalls.md → Top 2-3 critical pitfalls to avoid
- standards.md → Standards and conventions to follow
Present summary:
```
Found project research:
Ecosystem: [key libraries/frameworks]
Architecture: [key patterns]
Pitfalls: [top 2-3 to avoid]
Standards: [key conventions]
This will inform phase structure.
```
**If no research found:**
```
No project research found.
Creating roadmap based on PROJECT.md alone.
(Optional: Run /gsd:research-project first for niche/complex domains)
```
</step>
<step name="create_roadmap">
Follow the create-roadmap.md workflow starting from detect_domain step.
The workflow handles:
- Domain expertise detection
- Phase identification (informed by research if present)
- Phase identification
- Research flags for each phase
- Confirmation gates (respecting config mode)
- ROADMAP.md creation
@@ -145,7 +109,6 @@ Roadmap created:
<success_criteria>
- [ ] PROJECT.md validated
- [ ] Research incorporated if present
- [ ] ROADMAP.md created with phases
- [ ] STATE.md initialized
- [ ] Phase directories created

View File

@@ -21,10 +21,9 @@ Output ONLY the reference content below. Do NOT add:
## Quick Start
1. `/gsd:new-project` - Initialize project with brief
2. `/gsd:research-project` - (Optional) Research domain ecosystem
3. `/gsd:create-roadmap` - Create roadmap and phases
4. `/gsd:plan-phase <number>` - Create detailed plan for first phase
5. `/gsd:execute-plan <path>` - Execute the plan
2. `/gsd:create-roadmap` - Create roadmap and phases
3. `/gsd:plan-phase <number>` - Create detailed plan for first phase
4. `/gsd:execute-plan <path>` - Execute the plan
## Core Workflow
@@ -44,23 +43,12 @@ Initialize new project with brief and configuration.
Usage: `/gsd:new-project`
**`/gsd:research-project`**
Research domain ecosystem before creating roadmap.
- Spawns batched subagents to research domain patterns
- Creates `.planning/research/` with ecosystem findings
- Optional step for niche/complex domains
- Run after new-project, before create-roadmap
Usage: `/gsd:research-project`
**`/gsd:create-roadmap`**
Create roadmap and state tracking for initialized project.
- Creates `.planning/ROADMAP.md` (phase breakdown)
- Creates `.planning/STATE.md` (project memory)
- Creates `.planning/phases/` directories
- Incorporates research findings if present
Usage: `/gsd:create-roadmap`
@@ -267,16 +255,6 @@ Change anytime by editing `.planning/config.json`
/gsd:execute-plan .planning/phases/01-foundation/01-01-PLAN.md
```
**Building something in a niche domain (3D, games, audio, shaders):**
```
/gsd:new-project
/gsd:research-project # Research domain ecosystem before roadmap
/gsd:create-roadmap # Roadmap incorporates research findings
/gsd:plan-phase 1
/gsd:execute-plan .planning/phases/01-foundation/01-01-PLAN.md
```
**Resuming work after a break:**
```

View File

@@ -145,14 +145,8 @@ Project initialized:
## ▶ Next Up
**[Project Name]** — research domain or create roadmap
**[Project Name]** — create roadmap
**Research first (recommended for niche/complex domains):**
```
/gsd:research-project
```
**Create roadmap directly:**
```
/gsd:create-roadmap
```

View File

@@ -1,195 +0,0 @@
---
description: Research domain ecosystem before creating roadmap
allowed-tools:
- Task
- Read
- Write
- Bash
- Glob
- Grep
- AskUserQuestion
---
<objective>
Research implementation context for Claude Code before roadmap creation.
This is NOT research for human decision-making. This is context injection so Claude Code can implement correctly with current APIs, patterns, and best practices.
Spawns 2-3 subagents in parallel to research PROJECT.md-specific needs:
- **Stack** - What libraries/tools to use for THIS project's features
- **Implementation** - Current API patterns, code examples, correct syntax
- **Risks** - What Claude might get wrong, deprecated patterns to avoid
Each subagent writes directly to `.planning/research/` preserving main context.
</objective>
<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>
<context>
@.planning/PROJECT.md
</context>
<process>
<step name="validate">
Check prerequisites:
```bash
# 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.
</step>
<step name="parse_project">
Read PROJECT.md and extract research targets:
**From Scope (Building):**
- List each feature/capability that needs implementation
- These become specific research queries
**From Constraints:**
- Tech stack requirements (language, framework, platform)
- Performance requirements
- Compatibility requirements
**From Open Questions:**
- Questions that research should answer
- These are explicit research targets
**From Decisions Made:**
- Choices to validate ("any gotchas with X?")
Create a research manifest:
```
Features to implement:
- [feature 1]
- [feature 2]
- [feature 3]
Stack constraints:
- [constraint 1]
- [constraint 2]
Open questions to answer:
- [question 1]
- [question 2]
Decisions to validate:
- [decision 1]
```
If PROJECT.md is too vague for specific research targets, use AskUserQuestion:
- header: "Research scope"
- question: "What specific implementation questions should we research?"
- options based on detected domain
</step>
<step name="research">
Follow research-project.md workflow with PROJECT.md-driven research:
1. Create `.planning/research/` directory
2. Spawn subagents in parallel (all at once if ≤3):
- **stack.md** - Libraries/tools for each feature in Scope
- **implementation.md** - Current API patterns and code examples
- **risks.md** - What Claude might get wrong, deprecated patterns
3. Wait for completion
4. Verify all outputs exist and are high-quality
</step>
<step name="verify_quality">
After subagents complete, verify quality:
```bash
# Check files exist
for f in stack implementation risks; do
[ -s ".planning/research/${f}.md" ] && echo "✓ ${f}.md" || echo "✗ ${f}.md MISSING"
done
```
**Quality check (read each file):**
- Contains ONLY high-confidence information?
- Includes actual code examples with current syntax?
- Addresses specific features from PROJECT.md?
- No low-confidence padding or "might be useful" items?
If a file contains low-quality content, note it for summary.
</step>
<step name="summarize">
After verification:
```
Research complete:
- .planning/research/stack.md - [libraries/tools identified]
- .planning/research/implementation.md - [patterns documented]
- .planning/research/risks.md - [pitfalls to avoid]
Key implementation context:
- [Primary stack choice with rationale]
- [Most important API pattern to use]
- [Critical mistake Claude should avoid]
Open questions remaining:
- [Any questions research couldn't answer]
---
## ▶ Next Up
**Create Roadmap** — define phases based on research findings
```
/gsd:create-roadmap
```
<sub>`/clear` first → fresh context window</sub>
---
**Also available:**
- Review research files before continuing
---
```
</step>
</process>
<output>
- `.planning/research/stack.md` - Libraries and tools for each feature
- `.planning/research/implementation.md` - Current API patterns and code examples
- `.planning/research/risks.md` - Deprecated patterns and common mistakes
</output>
<success_criteria>
- [ ] PROJECT.md parsed for specific research targets
- [ ] Research addresses actual features from Scope
- [ ] Open Questions from PROJECT.md answered (or noted as unanswerable)
- [ ] All outputs are HIGH-CONFIDENCE only (no padding)
- [ ] Code examples use current API syntax
- [ ] User knows next steps (create-roadmap)
</success_criteria>