feat: unify project initialization into single /gsd:new-project flow

Consolidates 4 separate commands into one unified flow:
- /gsd:new-project now handles: questioning → research → requirements → roadmap
- Creates gsd-roadmapper agent for heavy lifting (goal-backward, coverage validation)
- Adds atomic commits after each stage for crash recovery
- Deprecates standalone research-project, define-requirements, create-roadmap
  (kept for mid-project use)

Fixes from audit:
- Add requirements quality criteria (specific, user-centric, atomic, independent)
- Add milestone context to research prompts (greenfield vs subsequent)
- Add quality gates per research dimension
- Add template references for consistent output format

Removes deprecated gsd-researcher.md (replaced by project/phase researchers)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lex Christopherson
2026-01-16 11:15:58 -06:00
parent ff009cddab
commit 18351fe3e4
7 changed files with 1274 additions and 1021 deletions

View File

@@ -7,14 +7,31 @@ allowed-tools:
- Bash
- AskUserQuestion
- Glob
- Task
---
<!--
DEPRECATED: This command is now integrated into /gsd:new-project
The unified /gsd:new-project flow includes roadmap creation as Phase 8,
using the gsd-roadmapper agent for heavy lifting.
This standalone command is kept for users who want to:
- Recreate roadmap after significant scope changes
- Create roadmap for a project initialized before this integration
- Replace an existing roadmap
For new projects, use /gsd:new-project instead.
Deprecated: 2026-01-16
-->
<objective>
Create project roadmap with phase breakdown.
Roadmaps define what work happens in what order. Phases map to requirements.
Run after `/gsd:define-requirements`.
**Note:** For new projects, `/gsd:new-project` includes roadmap creation. Use this command to recreate roadmap later.
</objective>
<execution_context>

View File

@@ -9,6 +9,20 @@ allowed-tools:
- AskUserQuestion
---
<!--
DEPRECATED: This command is now integrated into /gsd:new-project
The unified /gsd:new-project flow includes requirements definition as Phase 7.
This standalone command is kept for users who want to:
- Redefine requirements mid-project
- Add new requirements after initial project setup
- Adjust v1/v2 scope boundaries
For new projects, use /gsd:new-project instead.
Deprecated: 2026-01-16
-->
<objective>
Define concrete, checkable requirements for v1.
@@ -16,9 +30,9 @@ Two modes:
1. **With research** — Transform FEATURES.md into scoped requirements
2. **Without research** — Gather requirements through questioning
Run before `/gsd:create-roadmap`.
Output: `.planning/REQUIREMENTS.md`
**Note:** For new projects, `/gsd:new-project` includes requirements definition. Use this command to redefine requirements later.
</objective>
<execution_context>

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: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
1. `/gsd:new-project` - Initialize project (includes research, requirements, roadmap)
2. `/gsd:plan-phase 1` - Create detailed plan for first phase
3. `/gsd:execute-phase 1` - Execute the phase
## Staying Updated
@@ -43,30 +42,30 @@ npx get-shit-done-cc@latest
## Core Workflow
```
Initialization → Planning → Execution → Milestone Completion
/gsd:new-project → /gsd:plan-phase → /gsd:execute-phase → repeat
```
### Project Initialization
**`/gsd:new-project`**
Initialize new project with brief and configuration.
Initialize new project through unified flow.
- Creates `.planning/PROJECT.md` (vision and requirements)
- Creates `.planning/config.json` (workflow mode)
- Asks for workflow mode (interactive/yolo) upfront
- Commits initialization files to git
One command takes you from idea to ready-for-planning:
- Deep questioning to understand what you're building
- Optional domain research (spawns 4 parallel researcher agents)
- Requirements definition with v1/v2/out-of-scope scoping
- Roadmap creation with phase breakdown and success criteria
Creates all `.planning/` artifacts:
- `PROJECT.md` — vision and requirements
- `config.json` — workflow mode (interactive/yolo)
- `research/` — domain research (if selected)
- `REQUIREMENTS.md` — scoped requirements with REQ-IDs
- `ROADMAP.md` — phases mapped to requirements
- `STATE.md` — project memory
Usage: `/gsd:new-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
Usage: `/gsd:create-roadmap`
**`/gsd:map-codebase`**
Map an existing codebase for brownfield projects.
@@ -77,6 +76,14 @@ Map an existing codebase for brownfield projects.
Usage: `/gsd:map-codebase`
### Standalone Commands (deprecated, kept for mid-project use)
These commands are now integrated into `/gsd:new-project` but remain available for mid-project adjustments:
**`/gsd:research-project`** — Re-research a domain (integrated into new-project Phase 6)
**`/gsd:define-requirements`** — Redefine requirements (integrated into new-project Phase 7)
**`/gsd:create-roadmap`** — Recreate roadmap (integrated into new-project Phase 8)
### Phase Planning
**`/gsd:discuss-phase <number>`**
@@ -348,10 +355,11 @@ Change anytime by editing `.planning/config.json`
**Starting a new project:**
```
/gsd:new-project
/gsd:create-roadmap
/gsd:plan-phase 1
/gsd:execute-plan .planning/phases/01-foundation/01-01-PLAN.md
/gsd:new-project # Unified flow: questioning → research → requirements → roadmap
/clear
/gsd:plan-phase 1 # Create plans for first phase
/clear
/gsd:execute-phase 1 # Execute all plans in phase
```
**Resuming work after a break:**
@@ -372,7 +380,7 @@ Change anytime by editing `.planning/config.json`
```
/gsd:complete-milestone 1.0.0
/gsd:new-project # Start next milestone
/gsd:new-milestone # Start next milestone
```
**Capturing ideas during work:**

View File

@@ -5,31 +5,40 @@ allowed-tools:
- Read
- Bash
- Write
- Task
- AskUserQuestion
---
<objective>
Initialize a new project through comprehensive context gathering.
Initialize a new project through unified flow: questioning → research (optional) → requirements → roadmap.
This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes. The quality of PROJECT.md determines the quality of everything downstream.
This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes. One command takes you from idea to ready-for-planning.
Creates `.planning/` with PROJECT.md and config.json.
**Creates:**
- `.planning/PROJECT.md` — project context
- `.planning/config.json` — workflow preferences
- `.planning/research/` — domain research (optional)
- `.planning/REQUIREMENTS.md` — scoped requirements
- `.planning/ROADMAP.md` — phase structure
- `.planning/STATE.md` — project memory
- `.planning/phases/` — phase directories
**After this command:** Run `/gsd:plan-phase 1` to start execution.
</objective>
<execution_context>
@~/.claude/get-shit-done/references/principles.md
@~/.claude/get-shit-done/references/questioning.md
@~/.claude/get-shit-done/templates/project.md
@~/.claude/get-shit-done/templates/config.json
@~/.claude/get-shit-done/templates/requirements.md
</execution_context>
<process>
<step name="setup">
## Phase 1: Setup
**MANDATORY FIRST STEP — Execute these checks before ANY user interaction:**
@@ -40,7 +49,6 @@ Creates `.planning/` with PROJECT.md and config.json.
2. **Initialize git repo in THIS directory** (required even if inside a parent repo):
```bash
# Check if THIS directory is already a git repo root (handles .git file for worktrees too)
if [ -d .git ] || [ -f .git ]; then
echo "Git repo exists in current directory"
else
@@ -51,7 +59,6 @@ Creates `.planning/` with PROJECT.md and config.json.
3. **Detect existing code (brownfield detection):**
```bash
# Check for existing code files
CODE_FILES=$(find . -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.go" -o -name "*.rs" -o -name "*.swift" -o -name "*.java" 2>/dev/null | grep -v node_modules | grep -v .git | head -20)
HAS_PACKAGE=$([ -f package.json ] || [ -f requirements.txt ] || [ -f Cargo.toml ] || [ -f go.mod ] || [ -f Package.swift ] && echo "yes")
HAS_CODEBASE_MAP=$([ -d .planning/codebase ] && echo "yes")
@@ -59,9 +66,7 @@ Creates `.planning/` with PROJECT.md and config.json.
**You MUST run all bash commands above using the Bash tool before proceeding.**
</step>
<step name="brownfield_offer">
## Phase 2: Brownfield Offer
**If existing code detected and .planning/codebase/ doesn't exist:**
@@ -82,13 +87,11 @@ Run `/gsd:map-codebase` first, then return to `/gsd:new-project`
```
Exit command.
**If "Skip mapping":** Continue to question step.
**If "Skip mapping":** Continue to Phase 3.
**If no existing code detected OR codebase already mapped:** Continue to question step.
**If no existing code detected OR codebase already mapped:** Continue to Phase 3.
</step>
<step name="question">
## Phase 3: Deep Questioning
**Open the conversation:**
@@ -134,9 +137,7 @@ If "Keep exploring" — ask what they want to add, or identify gaps and probe na
Loop until "Create PROJECT.md" selected.
</step>
<step name="project">
## Phase 4: Write PROJECT.md
Synthesize all context into `.planning/PROJECT.md` using the template from `templates/project.md`.
@@ -213,14 +214,23 @@ Initialize with any decisions made during questioning:
Do not compress. Capture everything gathered.
</step>
**Commit PROJECT.md:**
<step name="workflow_preferences">
```bash
mkdir -p .planning
git add .planning/PROJECT.md
git commit -m "$(cat <<'EOF'
docs: initialize project
[One-liner from PROJECT.md What This Is section]
EOF
)"
```
## Phase 5: Workflow Preferences
Ask all workflow preferences in a single AskUserQuestion call (3 questions):
Use AskUserQuestion with questions array:
```
questions: [
{
@@ -254,85 +264,507 @@ questions: [
]
```
**Notes:**
- Depth controls compression tolerance, not artificial inflation
- Parallelization spawns multiple agents for independent plans
- All settings can be changed later in config.json
Create `.planning/config.json` with chosen mode, depth, and parallelization.
</step>
<step name="config">
Create `.planning/config.json` with chosen mode, depth, and parallelization using `templates/config.json` structure.
</step>
<step name="commit">
**Commit config.json:**
```bash
git add .planning/PROJECT.md .planning/config.json
git add .planning/config.json
git commit -m "$(cat <<'EOF'
docs: initialize [project-name]
chore: add project config
[One-liner from PROJECT.md]
Creates PROJECT.md with requirements and constraints.
Mode: [chosen mode]
Depth: [chosen depth]
Parallelization: [enabled/disabled]
EOF
)"
```
</step>
## Phase 6: Research Decision
<step name="done">
Use AskUserQuestion:
- header: "Research"
- question: "Research the domain ecosystem before defining requirements?"
- options:
- "Research first (Recommended)" — Discover standard stacks, expected features, architecture patterns
- "Skip research" — I know this domain well, go straight to requirements
Present completion with next steps (see ~/.claude/get-shit-done/references/continuation-format.md):
**If "Research first":**
Display: `Researching [domain] ecosystem...`
Create research directory:
```bash
mkdir -p .planning/research
```
**Determine milestone context:**
Check if this is greenfield or subsequent milestone:
- If no "Validated" requirements in PROJECT.md → Greenfield (building from scratch)
- If "Validated" requirements exist → Subsequent milestone (adding to existing app)
Spawn 4 parallel gsd-project-researcher agents with rich context:
```
Task(prompt="
<research_type>
Project Research — Stack dimension for [domain].
</research_type>
<milestone_context>
[greenfield OR subsequent]
Greenfield: Research the standard stack for building [domain] from scratch.
Subsequent: Research what's needed to add [target features] to an existing [domain] app. Don't re-research the existing system.
</milestone_context>
<question>
What's the standard 2025 stack for [domain]?
</question>
<project_context>
[PROJECT.md summary - core value, constraints, what they're building]
</project_context>
<downstream_consumer>
Your STACK.md feeds into roadmap creation. Be prescriptive:
- Specific libraries with versions
- Clear rationale for each choice
- What NOT to use and why
</downstream_consumer>
<quality_gate>
- [ ] Versions are current (verify with Context7/official docs, not training data)
- [ ] Rationale explains WHY, not just WHAT
- [ ] Confidence levels assigned to each recommendation
</quality_gate>
<output>
Write to: .planning/research/STACK.md
Use template: ~/.claude/get-shit-done/templates/research-project/STACK.md
</output>
", subagent_type="gsd-project-researcher", description="Stack research")
Task(prompt="
<research_type>
Project Research — Features dimension for [domain].
</research_type>
<milestone_context>
[greenfield OR subsequent]
Greenfield: What features do [domain] products have? What's table stakes vs differentiating?
Subsequent: How do [target features] typically work? What's expected behavior?
</milestone_context>
<question>
What features do [domain] products have? What's table stakes vs differentiating?
</question>
<project_context>
[PROJECT.md summary]
</project_context>
<downstream_consumer>
Your FEATURES.md feeds into requirements definition. Categorize clearly:
- Table stakes (must have or users leave)
- Differentiators (competitive advantage)
- Anti-features (things to deliberately NOT build)
</downstream_consumer>
<quality_gate>
- [ ] Categories are clear (table stakes vs differentiators vs anti-features)
- [ ] Complexity noted for each feature
- [ ] Dependencies between features identified
</quality_gate>
<output>
Write to: .planning/research/FEATURES.md
Use template: ~/.claude/get-shit-done/templates/research-project/FEATURES.md
</output>
", subagent_type="gsd-project-researcher", description="Features research")
Task(prompt="
<research_type>
Project Research — Architecture dimension for [domain].
</research_type>
<milestone_context>
[greenfield OR subsequent]
Greenfield: How are [domain] systems typically structured? What are major components?
Subsequent: How do [target features] integrate with existing [domain] architecture?
</milestone_context>
<question>
How are [domain] systems typically structured? What are major components?
</question>
<project_context>
[PROJECT.md summary]
</project_context>
<downstream_consumer>
Your ARCHITECTURE.md informs phase structure in roadmap. Include:
- Component boundaries (what talks to what)
- Data flow (how information moves)
- Suggested build order (dependencies between components)
</downstream_consumer>
<quality_gate>
- [ ] Components clearly defined with boundaries
- [ ] Data flow direction explicit
- [ ] Build order implications noted
</quality_gate>
<output>
Write to: .planning/research/ARCHITECTURE.md
Use template: ~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
</output>
", subagent_type="gsd-project-researcher", description="Architecture research")
Task(prompt="
<research_type>
Project Research — Pitfalls dimension for [domain].
</research_type>
<milestone_context>
[greenfield OR subsequent]
Greenfield: What do [domain] projects commonly get wrong? Critical mistakes?
Subsequent: What are common mistakes when adding [target features] to [domain]?
</milestone_context>
<question>
What do [domain] projects commonly get wrong? Critical mistakes?
</question>
<project_context>
[PROJECT.md summary]
</project_context>
<downstream_consumer>
Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
- Warning signs (how to detect early)
- Prevention strategy (how to avoid)
- Which phase should address it
</downstream_consumer>
<quality_gate>
- [ ] Pitfalls are specific to this domain (not generic advice)
- [ ] Prevention strategies are actionable
- [ ] Phase mapping included where relevant
</quality_gate>
<output>
Write to: .planning/research/PITFALLS.md
Use template: ~/.claude/get-shit-done/templates/research-project/PITFALLS.md
</output>
", subagent_type="gsd-project-researcher", description="Pitfalls research")
```
After all agents complete, synthesize `.planning/research/SUMMARY.md`:
- Executive summary from all 4 files
- Key findings (one-liner each)
- Implications for roadmap (suggested phase structure)
- Confidence assessment
**Commit research:**
```bash
git add .planning/research/
git commit -m "$(cat <<'EOF'
docs: research [domain] ecosystem
Key findings:
- Stack: [one-liner]
- Architecture: [one-liner]
- Critical pitfall: [one-liner]
EOF
)"
```
Display key findings summary to user.
**If "Skip research":** Continue to Phase 7.
## Phase 7: Define Requirements
**Load context:**
Read PROJECT.md and extract:
- Core value (the ONE thing that must work)
- Stated constraints (budget, timeline, tech limitations)
- Any explicit scope boundaries
**If research exists:** Read research/FEATURES.md and extract feature categories.
**Present features by category:**
```
Here are the features for [domain]:
## Authentication
**Table stakes:**
- Sign up with email/password
- Email verification
- Password reset
- Session management
**Differentiators:**
- Magic link login
- OAuth (Google, GitHub)
- 2FA
**Research notes:** [any relevant notes]
---
## [Next Category]
...
```
**If no research:** Gather requirements through conversation instead.
Ask: "What are the main things users need to be able to do?"
For each capability mentioned:
- Ask clarifying questions to make it specific
- Probe for related capabilities
- Group into categories
**Scope each category:**
For each category, use AskUserQuestion:
- header: "[Category name]"
- question: "Which [category] features are in v1?"
- multiSelect: true
- options:
- "[Feature 1]" — [brief description]
- "[Feature 2]" — [brief description]
- "[Feature 3]" — [brief description]
- "None for v1" — Defer entire category
Track responses:
- Selected features → v1 requirements
- Unselected table stakes → v2 (users expect these)
- Unselected differentiators → out of scope
**Identify gaps:**
Use AskUserQuestion:
- header: "Additions"
- question: "Any requirements research missed? (Features specific to your vision)"
- options:
- "No, research covered it" — Proceed
- "Yes, let me add some" — Capture additions
**Validate core value:**
Cross-check requirements against Core Value from PROJECT.md. If gaps detected, surface them.
**Generate REQUIREMENTS.md:**
Create `.planning/REQUIREMENTS.md` with:
- v1 Requirements grouped by category (checkboxes, REQ-IDs)
- v2 Requirements (deferred)
- Out of Scope (explicit exclusions with reasoning)
- Traceability section (empty, filled by roadmap)
**REQ-ID format:** `[CATEGORY]-[NUMBER]` (AUTH-01, CONTENT-02)
**Requirement quality criteria:**
Good requirements are:
- **Specific and testable:** "User can reset password via email link" (not "Handle password reset")
- **User-centric:** "User can X" (not "System does Y")
- **Atomic:** One capability per requirement (not "User can login and manage profile")
- **Independent:** Minimal dependencies on other requirements
Reject vague requirements. Push for specificity:
- "Handle authentication" → "User can log in with email/password and stay logged in across sessions"
- "Support sharing" → "User can share post via link that opens in recipient's browser"
**Present full requirements list:**
Show every requirement (not counts) for user confirmation:
```
## v1 Requirements
### Authentication
- [ ] **AUTH-01**: User can create account with email/password
- [ ] **AUTH-02**: User can log in and stay logged in across sessions
- [ ] **AUTH-03**: User can log out from any page
### Content
- [ ] **CONT-01**: User can create posts with text
- [ ] **CONT-02**: User can edit their own posts
[... full list ...]
---
Does this capture what you're building? (yes / adjust)
```
If "adjust": Return to scoping.
**Commit requirements:**
```bash
git add .planning/REQUIREMENTS.md
git commit -m "$(cat <<'EOF'
docs: define v1 requirements
[X] requirements across [N] categories
[Y] requirements deferred to v2
EOF
)"
```
## Phase 8: Create Roadmap
Display: `Creating roadmap...`
Spawn gsd-roadmapper agent with context:
```
Task(prompt="
<planning_context>
**Project:**
@.planning/PROJECT.md
**Requirements:**
@.planning/REQUIREMENTS.md
**Research (if exists):**
@.planning/research/SUMMARY.md
**Config:**
@.planning/config.json
</planning_context>
<instructions>
Create roadmap:
1. Derive phases from requirements (don't impose structure)
2. Map every v1 requirement to exactly one phase
3. Derive 2-5 success criteria per phase (observable user behaviors)
4. Validate 100% coverage
5. Write files immediately (ROADMAP.md, STATE.md, phase directories, update REQUIREMENTS.md traceability)
6. Return ROADMAP CREATED with summary
Write files first, then return. This ensures artifacts persist even if context is lost.
</instructions>
", subagent_type="gsd-roadmapper", description="Create roadmap")
```
**Handle roadmapper return:**
**If `## ROADMAP CREATED`:**
- Present summary to user
- Files already exist on disk
- Ask if user wants to review or adjust
**If user wants adjustments:**
- Feed notes back to roadmapper
- Re-spawn with revision context
- Roadmapper updates files in place
- Loop until user is satisfied
**If `## ROADMAP BLOCKED`:**
- Present blocker information
- Work with user to resolve
- Re-spawn when resolved
**Commit roadmap:**
```bash
git add .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md .planning/phases/
git commit -m "$(cat <<'EOF'
docs: create roadmap ([N] phases)
Phases:
1. [phase-name]: [requirements covered]
2. [phase-name]: [requirements covered]
...
All v1 requirements mapped to phases.
EOF
)"
```
## Phase 10: Done
Present completion with next steps:
```
Project initialized:
- Project: .planning/PROJECT.md
- Config: .planning/config.json (mode: [chosen mode])
[If .planning/codebase/ exists:] - Codebase: .planning/codebase/ (7 documents)
- Research: .planning/research/ (if created)
- Requirements: .planning/REQUIREMENTS.md ([X] v1 requirements)
- Roadmap: .planning/ROADMAP.md ([N] phases)
- State: .planning/STATE.md
---
## ▶ Next Up
Choose your path:
**Phase 1: [Phase Name]** — [Goal from ROADMAP.md]
**Option A: Research first** (recommended)
Research ecosystem → define requirements → create roadmap. Discovers standard stacks, expected features, architecture patterns.
`/gsd:research-project`
**Option B: Define requirements directly** (familiar domains)
Skip research, define requirements from what you know, then create roadmap.
`/gsd:define-requirements`
`/gsd:plan-phase 1`
<sub>`/clear` first → fresh context window</sub>
---
```
</step>
</process>
<output>
- `.planning/PROJECT.md`
- `.planning/config.json`
- `.planning/research/` (if research selected)
- `STACK.md`
- `FEATURES.md`
- `ARCHITECTURE.md`
- `PITFALLS.md`
- `SUMMARY.md`
- `.planning/REQUIREMENTS.md`
- `.planning/ROADMAP.md`
- `.planning/STATE.md`
- `.planning/phases/XX-name/` directories
</output>
<success_criteria>
- [ ] Deep questioning completed (not rushed, threads followed)
- [ ] PROJECT.md captures full context with evolutionary structure
- [ ] Requirements initialized as hypotheses (greenfield) or with inferred Validated (brownfield)
- [ ] Key Decisions table initialized
- [ ] config.json has workflow mode, depth, and parallelization
- [ ] All committed to git
- [ ] .planning/ directory created
- [ ] Git repo initialized
- [ ] Brownfield detection completed
- [ ] Deep questioning completed (threads followed, not rushed)
- [ ] PROJECT.md captures full context → **committed**
- [ ] config.json has workflow mode, depth, parallelization → **committed**
- [ ] Research completed (if selected) — 4 parallel agents spawned → **committed**
- [ ] Requirements gathered (from research or conversation)
- [ ] User scoped each category (v1/v2/out of scope)
- [ ] REQUIREMENTS.md created with REQ-IDs → **committed**
- [ ] gsd-roadmapper spawned with context
- [ ] Roadmap files written immediately (not draft)
- [ ] User feedback incorporated (if any)
- [ ] ROADMAP.md created with phases, requirement mappings, success criteria
- [ ] STATE.md initialized
- [ ] REQUIREMENTS.md traceability updated
- [ ] Phase directories created → **committed**
- [ ] User knows next step is `/gsd:plan-phase 1`
**Atomic commits:** Each phase commits its artifacts immediately. If context is lost, artifacts persist.
</success_criteria>

View File

@@ -9,12 +9,28 @@ allowed-tools:
- AskUserQuestion
---
<!--
DEPRECATED: This command is now integrated into /gsd:new-project
The unified /gsd:new-project flow includes optional research as Phase 6.
This standalone command is kept for users who want to:
- Re-research a domain mid-project
- Research without running full new-project flow
- Add research after skipping it initially
For new projects, use /gsd:new-project instead.
Deprecated: 2026-01-16
-->
<objective>
Research domain ecosystem. Spawns 4 parallel gsd-project-researcher agents for comprehensive coverage.
**Orchestrator role:** Analyze project, generate research questions, spawn 4 parallel agents, synthesize SUMMARY.md.
**Why subagents:** Research burns context fast. Fresh 200k context per domain. Main context stays lean.
**Note:** For new projects, `/gsd:new-project` includes research as an optional step. Use this command to re-research or add research later.
</objective>
<context>