diff --git a/GSD-STYLE.md b/GSD-STYLE.md
index fba6e4ff1..e508f3eae 100644
--- a/GSD-STYLE.md
+++ b/GSD-STYLE.md
@@ -313,10 +313,14 @@ Use subagents for autonomous work. Reserve main context for user interaction.
## UX Patterns
+**Visual patterns:** `get-shit-done/references/ui-brand.md`
+
+Orchestrators @-reference ui-brand.md for stage banners, checkpoint boxes, status symbols, and completion displays.
+
### "Next Up" Format
```markdown
----
+───────────────────────────────────────────────────────────────
## ▶ Next Up
@@ -326,13 +330,13 @@ Use subagents for autonomous work. Reserve main context for user interaction.
`/clear` first → fresh context window
----
+───────────────────────────────────────────────────────────────
**Also available:**
- Alternative option
- Another option
----
+───────────────────────────────────────────────────────────────
```
### Decision Gates
diff --git a/commands/gsd/execute-phase.md b/commands/gsd/execute-phase.md
index 6ceda3254..65d3b91c0 100644
--- a/commands/gsd/execute-phase.md
+++ b/commands/gsd/execute-phase.md
@@ -24,6 +24,7 @@ Context budget: ~15% orchestrator, 100% fresh per subagent.
@~/.claude/get-shit-done/references/principles.md
+@~/.claude/get-shit-done/references/ui-brand.md
@~/.claude/get-shit-done/workflows/execute-phase.md
@@ -108,11 +109,16 @@ After verification completes, route based on status:
**Route A: Phase verified, more phases remain**
```
-## ✓ Phase {Z}: {Name} Complete
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► PHASE {Z} COMPLETE ✓
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-All {Y} plans finished. Phase goal verified.
+**Phase {Z}: {Name}**
----
+{Y} plans executed
+Goal verified ✓
+
+───────────────────────────────────────────────────────────────
## ▶ Next Up
@@ -122,14 +128,13 @@ All {Y} plans finished. Phase goal verified.
`/clear` first → fresh context window
----
+───────────────────────────────────────────────────────────────
**Also available:**
- `/gsd:verify-work {Z}` — manual acceptance testing before continuing
- `/gsd:discuss-phase {Z+1}` — gather context first
-- `/gsd:research-phase {Z+1}` — investigate unknowns
----
+───────────────────────────────────────────────────────────────
```
---
@@ -137,13 +142,16 @@ All {Y} plans finished. Phase goal verified.
**Route B: Phase verified, milestone complete**
```
-🎉 ALL PHASES COMPLETE!
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► MILESTONE COMPLETE 🎉
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-## ✓ Phase {Z}: {Name} Complete
+**v1.0**
-All {N} phases finished. Phase goals verified.
+{N} phases completed
+All phase goals verified ✓
----
+───────────────────────────────────────────────────────────────
## ▶ Next Up
@@ -153,14 +161,13 @@ All {N} phases finished. Phase goals verified.
`/clear` first → fresh context window
----
+───────────────────────────────────────────────────────────────
**Also available:**
- `/gsd:verify-work` — manual acceptance testing
- `/gsd:complete-milestone` — skip audit, archive directly
-- `/gsd:add-phase ` — add another phase first
----
+───────────────────────────────────────────────────────────────
```
---
@@ -168,16 +175,20 @@ All {N} phases finished. Phase goals verified.
**Route C: Gaps found — need additional planning**
```
-## ⚠ Phase {Z}: {Name} — Gaps Found
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► PHASE {Z} GAPS FOUND ⚠
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-**Score:** {N}/{M} must-haves verified
-**Report:** .planning/phases/{phase_dir}/{phase}-VERIFICATION.md
+**Phase {Z}: {Name}**
+
+Score: {N}/{M} must-haves verified
+Report: `.planning/phases/{phase_dir}/{phase}-VERIFICATION.md`
### What's Missing
{Extract gap summaries from VERIFICATION.md}
----
+───────────────────────────────────────────────────────────────
## ▶ Next Up
@@ -187,13 +198,13 @@ All {N} phases finished. Phase goals verified.
`/clear` first → fresh context window
----
+───────────────────────────────────────────────────────────────
**Also available:**
- `cat .planning/phases/{phase_dir}/{phase}-VERIFICATION.md` — see full report
- `/gsd:verify-work {Z}` — manual testing before planning
----
+───────────────────────────────────────────────────────────────
```
After user runs `/gsd:plan-phase {Z} --gaps`:
diff --git a/commands/gsd/execute-plan.md b/commands/gsd/execute-plan.md
index 91c2cf450..f1bb882cc 100644
--- a/commands/gsd/execute-plan.md
+++ b/commands/gsd/execute-plan.md
@@ -12,6 +12,10 @@ allowed-tools:
- AskUserQuestion
---
+
+@~/.claude/get-shit-done/references/ui-brand.md
+
+
Execute a single PLAN.md file by spawning the `gsd-executor` subagent.
diff --git a/commands/gsd/new-project.md b/commands/gsd/new-project.md
index 1e214267e..600f18a1b 100644
--- a/commands/gsd/new-project.md
+++ b/commands/gsd/new-project.md
@@ -31,6 +31,7 @@ This is the most leveraged moment in any project. Deep questioning here means be
@~/.claude/get-shit-done/references/questioning.md
+@~/.claude/get-shit-done/references/ui-brand.md
@~/.claude/get-shit-done/templates/project.md
@~/.claude/get-shit-done/templates/requirements.md
@@ -93,6 +94,14 @@ Exit command.
## Phase 3: Deep Questioning
+**Display stage banner:**
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► QUESTIONING
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
**Open the conversation:**
Ask inline (freeform, NOT AskUserQuestion):
@@ -291,7 +300,14 @@ Use AskUserQuestion:
**If "Research first":**
-Display: `Researching [domain] ecosystem...`
+Display stage banner:
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► RESEARCHING
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+Researching [domain] ecosystem...
+```
Create research directory:
```bash
@@ -304,6 +320,15 @@ 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)
+Display spawning indicator:
+```
+◆ Spawning 4 researchers in parallel...
+ → Stack research
+ → Features research
+ → Architecture research
+ → Pitfalls research
+```
+
Spawn 4 parallel gsd-project-researcher agents with rich context:
```
@@ -343,6 +368,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
", subagent_type="gsd-project-researcher", description="Stack research")
@@ -382,6 +408,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
", subagent_type="gsd-project-researcher", description="Features research")
@@ -421,6 +448,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
", subagent_type="gsd-project-researcher", description="Architecture research")
@@ -460,6 +488,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
", subagent_type="gsd-project-researcher", description="Pitfalls research")
```
@@ -488,12 +517,32 @@ Commit after writing.
", subagent_type="gsd-research-synthesizer", description="Synthesize research")
```
-Display key findings summary to user from synthesizer output.
+Display research complete banner and key findings:
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► RESEARCH COMPLETE ✓
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+## Key Findings
+
+**Stack:** [from SUMMARY.md]
+**Table Stakes:** [from SUMMARY.md]
+**Watch Out For:** [from SUMMARY.md]
+
+Files: `.planning/research/`
+```
**If "Skip research":** Continue to Phase 7.
## Phase 7: Define Requirements
+Display stage banner:
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► DEFINING REQUIREMENTS
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
**Load context:**
Read PROJECT.md and extract:
@@ -630,7 +679,14 @@ EOF
## Phase 8: Create Roadmap
-Display: `Creating roadmap...`
+Display stage banner:
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► CREATING ROADMAP
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+◆ Spawning roadmapper...
+```
Spawn gsd-roadmapper agent with context:
@@ -768,16 +824,23 @@ EOF
Present completion with next steps:
```
-Project initialized:
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► PROJECT INITIALIZED ✓
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-- Project: .planning/PROJECT.md
-- Config: .planning/config.json (mode: [chosen mode])
-- Research: .planning/research/ (if created)
-- Requirements: .planning/REQUIREMENTS.md ([X] v1 requirements)
-- Roadmap: .planning/ROADMAP.md ([N] phases)
-- State: .planning/STATE.md
+**[Project Name]**
----
+| Artifact | Location |
+|----------------|-----------------------------|
+| Project | `.planning/PROJECT.md` |
+| Config | `.planning/config.json` |
+| Research | `.planning/research/` |
+| Requirements | `.planning/REQUIREMENTS.md` |
+| Roadmap | `.planning/ROADMAP.md` |
+
+**[N] phases** | **[X] requirements** | Ready to build ✓
+
+───────────────────────────────────────────────────────────────
## ▶ Next Up
@@ -787,7 +850,7 @@ Project initialized:
`/clear` first → fresh context window
----
+───────────────────────────────────────────────────────────────
```
diff --git a/commands/gsd/plan-phase.md b/commands/gsd/plan-phase.md
index d61a0c048..540d308b2 100644
--- a/commands/gsd/plan-phase.md
+++ b/commands/gsd/plan-phase.md
@@ -14,6 +14,10 @@ allowed-tools:
- mcp__context7__*
---
+
+@~/.claude/get-shit-done/references/ui-brand.md
+
+
Create executable phase prompts (PLAN.md files) for a roadmap phase with integrated research and verification.
@@ -103,8 +107,17 @@ ls "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null
- Skip to step 6
**If RESEARCH.md missing OR `--research` flag set:**
-- Display: `Phase {X}: {Name} — researching domain...`
-- Proceed to spawn researcher
+
+Display stage banner:
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► RESEARCHING PHASE {X}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+◆ Spawning researcher...
+```
+
+Proceed to spawn researcher
### Spawn gsd-phase-researcher
@@ -198,7 +211,14 @@ UAT="${PHASE_DIR}/${PHASE}-UAT.md"
## 8. Spawn gsd-planner Agent
-Display: `Phase {X}: {Name} — launching planner...`
+Display stage banner:
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► PLANNING PHASE {X}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+◆ Spawning planner...
+```
Fill prompt and spawn:
@@ -278,7 +298,14 @@ Parse planner output:
## 10. Spawn gsd-plan-checker Agent
-Display: `Launching plan checker...`
+Display:
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► VERIFYING PLANS
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+◆ Spawning plan checker...
+```
Fill checker prompt and spawn:
@@ -379,30 +406,38 @@ Wait for user response.
## 13. Present Final Status
-```markdown
-Phase {X} planned: {N} plan(s) in {M} wave(s)
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► PHASE {X} PLANNED ✓
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
-## Research
-{Completed | Used existing | Skipped (--skip-research) | N/A (--gaps)}
+**Phase {X}: {Name}** — {N} plan(s) in {M} wave(s)
-## Wave Structure
-Wave 1 (parallel): {plan-01}, {plan-02}
-Wave 2: {plan-03}
+| Wave | Plans | What it builds |
+|------|-------|----------------|
+| 1 | 01, 02 | [objectives] |
+| 2 | 03 | [objective] |
-## Verification
-{Passed | Passed with user override | Skipped (--skip-verify)}
+Research: {Completed | Used existing | Skipped}
+Verification: {Passed | Passed with override | Skipped}
----
+───────────────────────────────────────────────────────────────
-## Next Up
+## ▶ Next Up
-**Phase {X}: [Phase Name]** - {N} plan(s)
+**Execute Phase {X}** — run all {N} plans
`/gsd:execute-phase {X}`
-`/clear` first - fresh context window
+`/clear` first → fresh context window
----
+───────────────────────────────────────────────────────────────
+
+**Also available:**
+- `cat .planning/phases/{phase-dir}/*-PLAN.md` — review plans
+- `/gsd:plan-phase {X} --research` — re-research first
+
+───────────────────────────────────────────────────────────────
```
diff --git a/get-shit-done/references/ui-brand.md b/get-shit-done/references/ui-brand.md
new file mode 100644
index 000000000..8d45554ac
--- /dev/null
+++ b/get-shit-done/references/ui-brand.md
@@ -0,0 +1,160 @@
+
+
+Visual patterns for user-facing GSD output. Orchestrators @-reference this file.
+
+## Stage Banners
+
+Use for major workflow transitions.
+
+```
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ GSD ► {STAGE NAME}
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+```
+
+**Stage names (uppercase):**
+- `QUESTIONING`
+- `RESEARCHING`
+- `DEFINING REQUIREMENTS`
+- `CREATING ROADMAP`
+- `PLANNING PHASE {N}`
+- `EXECUTING WAVE {N}`
+- `VERIFYING`
+- `PHASE {N} COMPLETE ✓`
+- `MILESTONE COMPLETE 🎉`
+
+---
+
+## Checkpoint Boxes
+
+User action required. 62-character width.
+
+```
+╔══════════════════════════════════════════════════════════════╗
+║ CHECKPOINT: {Type} ║
+╚══════════════════════════════════════════════════════════════╝
+
+{Content}
+
+──────────────────────────────────────────────────────────────
+→ {ACTION PROMPT}
+──────────────────────────────────────────────────────────────
+```
+
+**Types:**
+- `CHECKPOINT: Verification Required` → `→ Type "approved" or describe issues`
+- `CHECKPOINT: Decision Required` → `→ Select: option-a / option-b`
+- `CHECKPOINT: Action Required` → `→ Type "done" when complete`
+
+---
+
+## Status Symbols
+
+```
+✓ Complete / Passed / Verified
+✗ Failed / Missing / Blocked
+◆ In Progress
+○ Pending
+⚡ Auto-approved
+⚠ Warning
+🎉 Milestone complete (only in banner)
+```
+
+---
+
+## Progress Display
+
+**Phase/milestone level:**
+```
+Progress: ████████░░ 80%
+```
+
+**Task level:**
+```
+Tasks: 2/4 complete
+```
+
+**Plan level:**
+```
+Plans: 3/5 complete
+```
+
+---
+
+## Spawning Indicators
+
+```
+◆ Spawning researcher...
+
+◆ Spawning 4 researchers in parallel...
+ → Stack research
+ → Features research
+ → Architecture research
+ → Pitfalls research
+
+✓ Researcher complete: STACK.md written
+```
+
+---
+
+## Next Up Block
+
+Always at end of major completions.
+
+```
+───────────────────────────────────────────────────────────────
+
+## ▶ Next Up
+
+**{Identifier}: {Name}** — {one-line description}
+
+`{copy-paste command}`
+
+`/clear` first → fresh context window
+
+───────────────────────────────────────────────────────────────
+
+**Also available:**
+- `/gsd:alternative-1` — description
+- `/gsd:alternative-2` — description
+
+───────────────────────────────────────────────────────────────
+```
+
+---
+
+## Error Box
+
+```
+╔══════════════════════════════════════════════════════════════╗
+║ ERROR ║
+╚══════════════════════════════════════════════════════════════╝
+
+{Error description}
+
+**To fix:** {Resolution steps}
+```
+
+---
+
+## Tables
+
+```
+| Phase | Status | Plans | Progress |
+|-------|--------|-------|----------|
+| 1 | ✓ | 3/3 | 100% |
+| 2 | ◆ | 1/4 | 25% |
+| 3 | ○ | 0/2 | 0% |
+```
+
+---
+
+## Anti-Patterns
+
+- Varying box/banner widths
+- Mixing banner styles (`===`, `---`, `***`)
+- Skipping `GSD ►` prefix in banners
+- Random emoji (`🚀`, `✨`, `💫`)
+- Missing Next Up block after completions
+
+