Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Plan an MVP-mode phase — captures an "As a / I want to / So that" user story, runs SPIDR splitting, then delegates to plan-phase
.claude/skills/davepoon-gsd-mvp-phase/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | -59% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -65% | 0% |
| case-18 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -18% | 0% |
<objective> Guide the user through MVP-mode planning for a phase. Prompts for an "As a / I want to / So that" user story, runs SPIDR splitting check on the story, writes the result to ROADMAP.md, and delegates to /gsd:plan-phase (which auto-detects MVP via the roadmap mode field).
Orchestrator role: Parse phase argument, validate phase, gather user story, run SPIDR check, persist mode + story to ROADMAP.md, then route to plan-phase. </objective>
<execution_context> @${CLAUDE_PLUGIN_ROOT}/workflows/mvp-phase.md @${CLAUDE_PLUGIN_ROOT}/references/user-story-template.md @${CLAUDE_PLUGIN_ROOT}/references/spidr-splitting.md @${CLAUDE_PLUGIN_ROOT}/references/planner-mvp-mode.md </execution_context>
<runtime_note> Copilot (VS Code): Use vscode_askquestions wherever this workflow calls AskUserQuestion. They are equivalent — vscode_askquestions is the VS Code Copilot implementation of the same interactive question API.
TEXT_MODE fallback: Set TEXT_MODE=true if --text is present in $ARGUMENTS OR text_mode from init JSON is true. When TEXT_MODE is active, replace every AskUserQuestion call with a plain-text numbered list and ask the user to type their choice number. </runtime_note>
<context> Phase number: $ARGUMENTS (required — integer or decimal like 2.1)
Flags:
--force — Allow operating on in_progress / completed phases--text — Use plain-text numbered lists instead of TUI menus</context>
<process> Execute the mvp-phase workflow from @${CLAUDE_PLUGIN_ROOT}/workflows/mvp-phase.md end-to-end. Preserve all workflow gates (phase validation, user-story prompt, SPIDR check, ROADMAP.md persistence, delegation to plan-phase). </process>
<output_format> When MVP planning concludes (user story written, ROADMAP.md updated, plan-phase delegated), emit a Next Up continuation block following the pattern in references/continuation-format.md:
## ✓ Phase N MVP-Planned — vertical slice captured)## ▶ Next Up heading with /gsd:execute-phase N (TDD execution) /clear then: before the commandMVP planning is a deliberate slice-of-the-cake exercise; clearing context before execution keeps TDD focused on the captured story rather than the planning conversation. </output_format>
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | 3,936 | 4,324 | +10% | 1 | 1 | 0% | 229 | 953 | +316% | 0 | 0 | — |
case-01 | fail→fail | 9,914 | 3,777 | -62% | 1 | 1 | 0% | 1,962 | 883 | -55% | 0 | 0 | — |
case-02 | fail→fail | 11,605 | 4,724 | -59% | 1 | 1 | 0% | 2,152 | 917 | -57% | 0 | 0 | — |
case-04 | fail→fail | 2,005 | 7,125 | +255% | 1 | 1 | 0% | 263 | 1,102 | +319% | 0 | 0 | — |
case-05 | fail→fail | 32,103 | 6,792 | -79% | 1 | 1 | 0% | 5,790 | 1,108 | -81% | 0 | 0 | — |
case-06 | pass→fail | 7,279 | 6,162 | -15% | 1 | 1 | 0% | 1,406 | 1,107 | -21% | 0 | 0 | — |
case-07 | pass→pass | 10,194 | 3,172 | -69% | 1 | 1 | 0% | 1,819 | 1,165 | -36% | 0 | 0 | — |
case-08 | pass→pass | 10,359 | 1,448 | -86% | 1 | 1 | 0% | 1,796 | 907 | -49% | 0 | 0 | — |
case-09 | fail→pass | 12,522 | 1,854 | -85% | 1 | 1 | 0% | 2,213 | 901 | -59% | 0 | 0 | — |
case-10 | fail→pass | 15,558 | 1,806 | -88% | 1 | 1 | 0% | 2,666 | 924 | -65% | 0 | 0 | — |
case-11 | pass→pass | 9,418 | 2,653 | -72% | 1 | 1 | 0% | 1,568 | 1,132 | -28% | 0 | 0 | — |
case-12 | pass→pass | 4,110 | 3,394 | -17% | 1 | 1 | 0% | 702 | 1,177 | +68% | 0 | 0 | — |
case-13 | pass→pass | 3,708 | 3,481 | -6% | 1 | 1 | 0% | 658 | 1,225 | +86% | 0 | 0 | — |
case-14 | pass→pass | 3,808 | 2,657 | -30% | 1 | 1 | 0% | 759 | 1,087 | +43% | 0 | 0 | — |
case-15 | pass→pass | 4,455 | 4,254 | -5% | 1 | 1 | 0% | 773 | 1,350 | +75% | 0 | 0 | — |
case-16 | pass→pass | 2,974 | 3,997 | +34% | 1 | 1 | 0% | 550 | 1,345 | +145% | 0 | 0 | — |
case-17 | pass→pass | 7,110 | 2,685 | -62% | 1 | 1 | 0% | 1,248 | 1,086 | -13% | 0 | 0 | — |
case-18 | fail→pass | 11,603 | 3,912 | -66% | 1 | 1 | 0% | 1,950 | 1,377 | -29% | 0 | 0 | — |
case-19 | fail→pass | 5,381 | 1,644 | -69% | 1 | 1 | 0% | 844 | 940 | +11% | 0 | 0 | — |
case-20 | fail→pass | 7,579 | 2,093 | -72% | 1 | 1 | 0% | 1,257 | 1,031 | -18% | 0 | 0 | — |
case-21 | fail→pass | 9,690 | 4,520 | -53% | 1 | 1 | 0% | 1,561 | 1,413 | -9% | 0 | 0 | — |
case-22 | fail→pass | 7,223 | 1,360 | -81% | 1 | 1 | 0% | 1,363 | 864 | -37% | 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 17 counted toward the lift figure. The other 5 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 +27 percentage points is the difference between those two pass rates over the 17 comparable cases. 3 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.