<objective> Validate built features through conversational testing with persistent state.
Purpose: Confirm what Claude built actually works from user's perspective. One test at a time, plain text responses, no interrogation. When issues are found, automatically diagnose, plan fixes, and prepare for execution.
Output: {phase_num}-UAT.md tracking all test results. If issues found: diagnosed gaps, verified fix plans ready for /gsd:execute-phase </objective>
<execution_context> @${CLAUDE_PLUGIN_ROOT}/workflows/verify-work.md @${CLAUDE_PLUGIN_ROOT}/templates/UAT.md </execution_context>
<context> Phase: $ARGUMENTS (optional)
- If provided: Test specific phase (e.g., "4")
- If not provided: Check for active sessions or prompt for phase
Context files are resolved inside the workflow (init verify-work) and delegated via <files_to_read> blocks. </context>
<process> Execute the verify-work workflow from @${CLAUDE_PLUGIN_ROOT}/workflows/verify-work.md end-to-end. Preserve all workflow gates (session management, test presentation, diagnosis, fix planning, routing). </process>
<output_format> When this workflow concludes (verification passed or routed to gap closure), emit a Next Up continuation block following the pattern in references/continuation-format.md:
- Show verification status (e.g.,
## ✓ Verification Passedor## ⚠ Gaps Found — Routing to Planwith details) - Emit a
## ▶ Next Upheading with the next likely command (/gsd:complete-milestoneif all phases verified,/gsd:plan-phase --gapsif gaps found,/gsd:nextif unsure) - Use `
/clearthen:` before the command - Include a parenthetical: (
/clearis safe —/gsd:resume-workrestores position fromHANDOFF.jsonif you change your mind) - Add an "Also available:" section with 1-3 alternatives where relevant
Verification accumulates lots of test/UAT prose that won't help downstream; phase-end is a clean boundary for /clear. </output_format>