Skip to main content
Generaldavepoon

gsd:verify-work

Validate built features through conversational UAT

Stars
2,987
Source
davepoon/buildwithclaude
Updated
2026-05-26
Slug
davepoon--buildwithclaude--verify-work
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/davepoon/buildwithclaude/HEAD/plugins/gsd/skills/verify-work/SKILL.md -o .claude/skills/verify-work.md

Drops the SKILL.md into .claude/skills/verify-work.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

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

@${CLAUDE_PLUGIN_ROOT}/workflows/verify-work.md @${CLAUDE_PLUGIN_ROOT}/templates/UAT.md 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.

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). 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 Passed or ## ⚠ Gaps Found — Routing to Plan with details)
  • Emit a ## ▶ Next Up heading with the next likely command (/gsd:complete-milestone if all phases verified, /gsd:plan-phase --gaps if gaps found, /gsd:next if unsure)
  • Use `/clear` then: before the command
  • Include a parenthetical: (/clear is safe — /gsd:resume-work restores position from HANDOFF.json if 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.