fix(workflows): standardize agent spawn types across all workflows

Replace general-purpose workaround pattern with named subagent types:
- plan-phase: researcher and planner now spawn as gsd-phase-researcher/gsd-planner
- new-project: 4 researcher spawns now use gsd-project-researcher
- research-phase: researcher spawns now use gsd-phase-researcher
- quick: planner revision now uses gsd-planner
- diagnose-issues: debug agents now use gsd-debugger (matches template spec)

Removes 'First, read agent .md file' prompt prefix — named agent types
auto-load their .md file as system prompt, making the workaround redundant.

Preserves intentional general-purpose orchestrator spawns in discuss-phase
and plan-phase (auto-advance) where the agent runs an entire workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Tibsfox
2026-02-28 00:44:00 -08:00
committed by Lex Christopherson
parent cbe372a434
commit ec5617c7aa
5 changed files with 21 additions and 29 deletions

View File

@@ -135,8 +135,8 @@ Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
```
Task(
prompt="First, read ~/.claude/agents/gsd-phase-researcher.md for your role and instructions.\n\n" + filled_prompt,
subagent_type="general-purpose",
prompt=filled_prompt,
subagent_type="gsd-phase-researcher",
model="{researcher_model}",
description="Research Phase {phase}"
)
@@ -171,8 +171,8 @@ Continue research for Phase {phase_number}: {phase_name}
```
Task(
prompt="First, read ~/.claude/agents/gsd-phase-researcher.md for your role and instructions.\n\n" + continuation_prompt,
subagent_type="general-purpose",
prompt=continuation_prompt,
subagent_type="gsd-phase-researcher",
model="{researcher_model}",
description="Continue research Phase {phase}"
)

View File

@@ -80,7 +80,7 @@ For each gap, fill the debug-subagent-prompt template and spawn:
```
Task(
prompt=filled_debug_subagent_prompt + "\n\n<files_to_read>\n- {phase_dir}/{phase_num}-UAT.md\n- .planning/STATE.md\n</files_to_read>",
subagent_type="general-purpose",
subagent_type="gsd-debugger",
description="Debug: {truth_short}"
)
```

View File

@@ -544,9 +544,7 @@ Display spawning indicator:
Spawn 4 parallel gsd-project-researcher agents with path references:
```
Task(prompt="First, read ~/.claude/agents/gsd-project-researcher.md for your role and instructions.
<research_type>
Task(prompt="<research_type>
Project Research — Stack dimension for [domain].
</research_type>
@@ -582,11 +580,9 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
Write to: .planning/research/STACK.md
Use template: ~/.claude/get-shit-done/templates/research-project/STACK.md
</output>
", subagent_type="general-purpose", model="{researcher_model}", description="Stack research")
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Stack research")
Task(prompt="First, read ~/.claude/agents/gsd-project-researcher.md for your role and instructions.
<research_type>
Task(prompt="<research_type>
Project Research — Features dimension for [domain].
</research_type>
@@ -622,11 +618,9 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
Write to: .planning/research/FEATURES.md
Use template: ~/.claude/get-shit-done/templates/research-project/FEATURES.md
</output>
", subagent_type="general-purpose", model="{researcher_model}", description="Features research")
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Features research")
Task(prompt="First, read ~/.claude/agents/gsd-project-researcher.md for your role and instructions.
<research_type>
Task(prompt="<research_type>
Project Research — Architecture dimension for [domain].
</research_type>
@@ -662,11 +656,9 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
Write to: .planning/research/ARCHITECTURE.md
Use template: ~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
</output>
", subagent_type="general-purpose", model="{researcher_model}", description="Architecture research")
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Architecture research")
Task(prompt="First, read ~/.claude/agents/gsd-project-researcher.md for your role and instructions.
<research_type>
Task(prompt="<research_type>
Project Research — Pitfalls dimension for [domain].
</research_type>
@@ -702,7 +694,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
Write to: .planning/research/PITFALLS.md
Use template: ~/.claude/get-shit-done/templates/research-project/PITFALLS.md
</output>
", subagent_type="general-purpose", model="{researcher_model}", description="Pitfalls research")
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Pitfalls research")
```
After all 4 agents complete, spawn synthesizer to create SUMMARY.md:

View File

@@ -207,8 +207,8 @@ Write to: {phase_dir}/{phase_num}-RESEARCH.md
```
Task(
prompt="First, read ~/.claude/agents/gsd-phase-researcher.md for your role and instructions.\n\n" + research_prompt,
subagent_type="general-purpose",
prompt=research_prompt,
subagent_type="gsd-phase-researcher",
model="{researcher_model}",
description="Research Phase {phase}"
)
@@ -320,8 +320,8 @@ Output consumed by /gsd:execute-phase. Plans need:
```
Task(
prompt="First, read ~/.claude/agents/gsd-planner.md for your role and instructions.\n\n" + filled_prompt,
subagent_type="general-purpose",
prompt=filled_prompt,
subagent_type="gsd-planner",
model="{planner_model}",
description="Plan Phase {phase}"
)
@@ -417,8 +417,8 @@ Return what changed.
```
Task(
prompt="First, read ~/.claude/agents/gsd-planner.md for your role and instructions.\n\n" + revision_prompt,
subagent_type="general-purpose",
prompt=revision_prompt,
subagent_type="gsd-planner",
model="{planner_model}",
description="Revise Phase {phase} plans"
)

View File

@@ -222,8 +222,8 @@ Return what changed.
```
Task(
prompt="First, read ~/.claude/agents/gsd-planner.md for your role and instructions.\n\n" + revision_prompt,
subagent_type="general-purpose",
prompt=revision_prompt,
subagent_type="gsd-planner",
model="{planner_model}",
description="Revise quick plan: ${DESCRIPTION}"
)