Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Validate built features through conversational UAT
.claude/skills/davepoon-gsd-verify-work/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-15 | ✗→✓ | ▲ Improved | -26% | 0% |
| case-06 | ✓→✗ | ▼ Worse | 10% | 0% |
<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)
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:
## ✓ Verification Passed or ## ⚠ Gaps Found — Routing to Plan with details)## ▶ 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) /clear then: before the commandVerification accumulates lots of test/UAT prose that won't help downstream; phase-end is a clean boundary for /clear. </output_format>
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | pass→fail | 4,689 | 5,044 | +8% | 1 | 1 | 0% | 691 | 762 | +10% | 0 | 0 | — |
case-17 | fail→fail | 7,624 | 4,555 | -40% | 1 | 1 | 0% | 1,280 | 757 | -41% | 0 | 0 | — |
case-01 | fail→fail | 8,073 | 4,466 | -45% | 1 | 1 | 0% | 1,324 | 768 | -42% | 0 | 0 | — |
case-02 | fail→fail | 5,698 | 3,012 | -47% | 1 | 1 | 0% | 956 | 709 | -26% | 0 | 0 | — |
case-03 | fail→fail | 5,620 | 4,429 | -21% | 1 | 1 | 0% | 922 | 763 | -17% | 0 | 0 | — |
case-04 | fail→fail | 6,199 | 4,648 | -25% | 1 | 1 | 0% | 1,174 | 791 | -33% | 0 | 0 | — |
case-05 | fail→fail | 8,563 | 5,058 | -41% | 1 | 1 | 0% | 1,600 | 752 | -53% | 0 | 0 | — |
case-07 | fail→fail | 5,821 | 2,815 | -52% | 1 | 1 | 0% | 899 | 1,055 | +17% | 0 | 0 | — |
case-08 | fail→pass | 5,545 | 3,089 | -44% | 1 | 1 | 0% | 883 | 1,139 | +29% | 0 | 0 | — |
case-09 | fail→pass | 3,462 | 2,293 | -34% | 1 | 1 | 0% | 570 | 946 | +66% | 0 | 0 | — |
case-10 | fail→pass | 9,759 | 4,550 | -53% | 1 | 1 | 0% | 1,568 | 1,410 | -10% | 0 | 0 | — |
case-11 | fail→fail | 9,029 | 4,780 | -47% | 1 | 1 | 0% | 1,543 | 776 | -50% | 0 | 0 | — |
case-12 | pass→fail | 12,476 | 5,632 | -55% | 1 | 1 | 0% | 2,159 | 861 | -60% | 0 | 0 | — |
case-13 | pass→fail | 7,259 | 4,212 | -42% | 1 | 1 | 0% | 1,288 | 681 | -47% | 0 | 0 | — |
case-14 | fail→fail | 7,499 | 3,993 | -47% | 1 | 1 | 0% | 1,281 | 1,259 | -2% | 0 | 0 | — |
case-15 | fail→pass | 7,193 | 2,704 | -62% | 1 | 1 | 0% | 1,229 | 907 | -26% | 0 | 0 | — |
case-16 | pass→fail | 4,165 | 4,191 | +1% | 1 | 1 | 0% | 630 | 743 | +18% | 0 | 0 | — |
case-18 | fail→fail | 9,748 | 5,014 | -49% | 1 | 1 | 0% | 1,926 | 851 | -56% | 0 | 0 | — |
case-19 | pass→fail | 3,864 | 3,087 | -20% | 1 | 1 | 0% | 639 | 995 | +56% | 0 | 0 | — |
case-20 | pass→pass | 9,944 | 8,286 | -17% | 1 | 1 | 0% | 2,256 | 2,287 | +1% | 0 | 0 | — |
case-21 | pass→fail | 6,433 | 6,104 | -5% | 1 | 1 | 0% | 1,243 | 912 | -27% | 0 | 0 | — |
case-22 | pass→pass | 14,051 | 14,133 | +1% | 1 | 1 | 0% | 2,843 | 2,720 | -4% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 9 counted toward the lift figure. The other 13 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -9 percentage points is the difference between those two pass rates over the 9 comparable cases. 7 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.