From d93bbb5bb2e9e204abb864f0314a09911fa6df8f Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Sun, 22 Mar 2026 10:17:20 -0400 Subject: [PATCH] feat(workflow): surface /gsd:ui-phase recommendation for UI-heavy phases - new-project Step 9: suggest /gsd:ui-phase when Phase 1 has UI hint - progress Route B: show /gsd:ui-phase in options when current phase has UI - progress Route C: show /gsd:ui-phase in options when next phase has UI - Detection uses **UI hint**: yes annotation from roadmapper output Co-Authored-By: Claude Opus 4.6 (1M context) --- get-shit-done/workflows/new-project.md | 31 ++++++++++++ get-shit-done/workflows/progress.md | 66 +++++++++++++++++++++++++- 2 files changed, 96 insertions(+), 1 deletion(-) diff --git a/get-shit-done/workflows/new-project.md b/get-shit-done/workflows/new-project.md index 3ff69bb69..10dda7452 100644 --- a/get-shit-done/workflows/new-project.md +++ b/get-shit-done/workflows/new-project.md @@ -1131,6 +1131,37 @@ Exit skill and invoke SlashCommand("/gsd:discuss-phase 1 --auto") **If interactive mode:** +Check if Phase 1 has UI indicators (look for `**UI hint**: yes` in Phase 1 detail section of ROADMAP.md): + +```bash +PHASE1_SECTION=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase 1 2>/dev/null) +PHASE1_HAS_UI=$(echo "$PHASE1_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false") +``` + +**If Phase 1 has UI (`PHASE1_HAS_UI` is `true`):** + +``` +─────────────────────────────────────────────────────────────── + +## ▶ Next Up + +**Phase 1: [Phase Name]** — [Goal from ROADMAP.md] + +/gsd:discuss-phase 1 — gather context and clarify approach + +/clear first → fresh context window + +--- + +**Also available:** +- /gsd:ui-phase 1 — generate UI design contract (recommended for frontend phases) +- /gsd:plan-phase 1 — skip discussion, plan directly + +─────────────────────────────────────────────────────────────── +``` + +**If Phase 1 has no UI:** + ``` ─────────────────────────────────────────────────────────────── diff --git a/get-shit-done/workflows/progress.md b/get-shit-done/workflows/progress.md index 58b7a8ca9..318811457 100644 --- a/get-shit-done/workflows/progress.md +++ b/get-shit-done/workflows/progress.md @@ -228,6 +228,13 @@ Read its `` section. Check if `{phase_num}-CONTEXT.md` exists in phase directory. +Check if current phase has UI indicators: + +```bash +PHASE_SECTION=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "${CURRENT_PHASE}" 2>/dev/null) +PHASE_HAS_UI=$(echo "$PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false") +``` + **If CONTEXT.md exists:** ``` @@ -245,7 +252,30 @@ Check if `{phase_num}-CONTEXT.md` exists in phase directory. --- ``` -**If CONTEXT.md does NOT exist:** +**If CONTEXT.md does NOT exist AND phase has UI (`PHASE_HAS_UI` is `true`):** + +``` +--- + +## ▶ Next Up + +**Phase {N}: {Name}** — {Goal from ROADMAP.md} + +`/gsd:discuss-phase {phase}` — gather context and clarify approach + +`/clear` first → fresh context window + +--- + +**Also available:** +- `/gsd:ui-phase {phase}` — generate UI design contract (recommended for frontend phases) +- `/gsd:plan-phase {phase}` — skip discussion, plan directly +- `/gsd:list-phase-assumptions {phase}` — see Claude's assumptions + +--- +``` + +**If CONTEXT.md does NOT exist AND phase has no UI:** ``` --- @@ -344,6 +374,40 @@ State: "Current phase is {X}. Milestone has {N} phases (highest: {Y})." Read ROADMAP.md to get the next phase's name and goal. +Check if next phase has UI indicators: + +```bash +NEXT_PHASE_SECTION=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "$((Z+1))" 2>/dev/null) +NEXT_HAS_UI=$(echo "$NEXT_PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false") +``` + +**If next phase has UI (`NEXT_HAS_UI` is `true`):** + +``` +--- + +## ✓ Phase {Z} Complete + +## ▶ Next Up + +**Phase {Z+1}: {Name}** — {Goal from ROADMAP.md} + +`/gsd:discuss-phase {Z+1}` — gather context and clarify approach + +`/clear` first → fresh context window + +--- + +**Also available:** +- `/gsd:ui-phase {Z+1}` — generate UI design contract (recommended for frontend phases) +- `/gsd:plan-phase {Z+1}` — skip discussion, plan directly +- `/gsd:verify-work {Z}` — user acceptance test before continuing + +--- +``` + +**If next phase has no UI:** + ``` ---