fix(workflow): consistent phase transition routing through discuss-phase (#530)

Three routing fixes:
- transition.md checks for CONTEXT.md before routing — discuss-phase when
  missing, plan-phase when present (matches progress.md behavior)
- execute-phase.md offer_next delegates to transition.md instead of emitting
  duplicate "Next Up" blocks
- discuss-phase.md adds explicit handling for "Other" free-text responses

Closes #530

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Lex Christopherson
2026-02-15 10:00:40 -06:00
parent c8827fede1
commit 91e4ef77f4
3 changed files with 67 additions and 24 deletions

View File

@@ -358,10 +358,18 @@ This returns all phases with goals, disk status, and completion info.
Read ROADMAP.md to get the next phase's name and goal.
**Check if next phase has CONTEXT.md:**
```bash
ls .planning/phases/*[X+1]*/*-CONTEXT.md 2>/dev/null
```
**If next phase exists:**
<if mode="yolo">
**If CONTEXT.md exists:**
```
Phase [X] marked complete.
@@ -372,10 +380,24 @@ Next: Phase [X+1] — [Name]
Exit skill and invoke SlashCommand("/gsd:plan-phase [X+1]")
**If CONTEXT.md does NOT exist:**
```
Phase [X] marked complete.
Next: Phase [X+1] — [Name]
⚡ Auto-continuing: Discuss Phase [X+1] first
```
Exit skill and invoke SlashCommand("/gsd:discuss-phase [X+1]")
</if>
<if mode="interactive" OR="custom with gates.confirm_transition true">
**If CONTEXT.md does NOT exist:**
```
## ✓ Phase [X] Complete
@@ -385,6 +407,31 @@ Exit skill and invoke SlashCommand("/gsd:plan-phase [X+1]")
**Phase [X+1]: [Name]** — [Goal from ROADMAP.md]
`/gsd:discuss-phase [X+1]` — gather context and clarify approach
<sub>`/clear` first → fresh context window</sub>
---
**Also available:**
- `/gsd:plan-phase [X+1]` — skip discussion, plan directly
- `/gsd:research-phase [X+1]` — investigate unknowns
---
```
**If CONTEXT.md exists:**
```
## ✓ Phase [X] Complete
---
## ▶ Next Up
**Phase [X+1]: [Name]** — [Goal from ROADMAP.md]
<sub>✓ Context gathered, ready to plan</sub>
`/gsd:plan-phase [X+1]`
<sub>`/clear` first → fresh context window</sub>
@@ -392,9 +439,8 @@ Exit skill and invoke SlashCommand("/gsd:plan-phase [X+1]")
---
**Also available:**
- `/gsd:discuss-phase [X+1]` — gather context first
- `/gsd:discuss-phase [X+1]` — revisit context
- `/gsd:research-phase [X+1]` — investigate unknowns
- Review roadmap
---
```