Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Transition the current weft workflow step. Use only when user types /wf-step.
.claude/skills/ccplugins-wf-step/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | -40% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -26% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -5% | 0% |
Transition the current step to a new status.
$ARGUMENTS
Parse the arguments flexibly. The user may say:
/wf-step complete "planning done" — standard form/wf-step done or /wf-step with no args — treat as complete/wf-step skip not needed — skip with reason/wf-step failed, try again — treat as retry if step is failed, or fail if running/wf-step complete 3 or /wf-step complete next 3 — bulk complete N stepsMap natural language to actions: | User says | Action | |-----------|--------| | done, finished, complete, next | complete | | skip, not needed, pass | skip | | failed, broken, error | fail | | retry, again, redo | retry | | again, loop, iterate, continue loop, not done yet, issues remain | loop-continue | | done looping, exit loop, loop done, clean, all clear | loop-done |
Loop disambiguation: If the current step has a loop_back_to field, prefer loop actions over regular ones. "again" on a loop step means loop-continue, not retry. "done" on a loop step means loop-done, not complete. If the user explicitly says "complete" or "skip", use those literally even on loop steps.
bashpython3 "${CLAUDE_PLUGIN_ROOT}/core/cli.py" step <action> <reason>
If the user specifies a count (e.g., "complete 3"), loop:
bashfor i in 1 2 3; do python3 "${CLAUDE_PLUGIN_ROOT}/core/cli.py" step complete "bulk advance" done
Stop looping if any step fails or the workflow completes.
block policy, explain options: /wf-step retry or /wf-abort./wf-step retry to reset or /wf-abort."| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 11,339 | 7,346 | -35% | 1 | 1 | 0% | 895 | 963 | +8% | 0 | 0 | — |
case-02 | fail→fail | 20,165 | 8,645 | -57% | 1 | 1 | 0% | 1,564 | 988 | -37% | 0 | 0 | — |
case-03 | pass→fail | 14,691 | 17,891 | +22% | 1 | 1 | 0% | 2,356 | 978 | -58% | 0 | 0 | — |
case-04 | pass→pass | 19,448 | 4,153 | -79% | 1 | 1 | 0% | 2,132 | 1,199 | -44% | 0 | 0 | — |
case-05 | pass→pass | 9,927 | 5,394 | -46% | 1 | 1 | 0% | 1,753 | 1,233 | -30% | 0 | 0 | — |
case-06 | fail→fail | 6,485 | 8,705 | +34% | 1 | 1 | 0% | 573 | 924 | +61% | 0 | 0 | — |
case-07 | fail→pass | 18,827 | 6,554 | -65% | 1 | 1 | 0% | 2,528 | 1,529 | -40% | 0 | 0 | — |
case-08 | fail→fail | 3,788 | 10,722 | +183% | 1 | 1 | 0% | 409 | 960 | +135% | 0 | 0 | — |
case-09 | fail→fail | 4,742 | 8,562 | +81% | 1 | 1 | 0% | 378 | 1,196 | +216% | 0 | 0 | — |
case-10 | fail→pass | 21,502 | 4,573 | -79% | 1 | 1 | 0% | 1,276 | 948 | -26% | 0 | 0 | — |
case-11 | fail→pass | 9,577 | 4,040 | -58% | 1 | 1 | 0% | 977 | 1,138 | +16% | 0 | 0 | — |
case-12 | fail→pass | 6,511 | 3,808 | -42% | 1 | 1 | 0% | 702 | 1,172 | +67% | 0 | 0 | — |
case-13 | fail→pass | 10,357 | 6,706 | -35% | 1 | 1 | 0% | 1,559 | 1,487 | -5% | 0 | 0 | — |
case-14 | fail→pass | 6,036 | 5,536 | -8% | 1 | 1 | 0% | 762 | 1,395 | +83% | 0 | 0 | — |
case-15 | fail→fail | 124,239 | 13,985 | -89% | 1 | 1 | 0% | 504 | 1,004 | +99% | 0 | 0 | — |
case-16 | fail→fail | 6,121 | 65,456 | +969% | 1 | 1 | 0% | 728 | 947 | +30% | 0 | 0 | — |
case-17 | fail→fail | 16,219 | 3,619 | -78% | 1 | 1 | 0% | 1,595 | 1,098 | -31% | 0 | 0 | — |
case-18 | fail→pass | 8,223 | 4,022 | -51% | 1 | 1 | 0% | 1,354 | 969 | -28% | 0 | 0 | — |
case-19 | fail→pass | 36,920 | 11,975 | -68% | 1 | 1 | 0% | 1,712 | 1,635 | -4% | 0 | 0 | — |
case-20 | pass→pass | 10,736 | 4,869 | -55% | 1 | 1 | 0% | 1,649 | 1,353 | -18% | 0 | 0 | — |
case-21 | fail→pass | 36,666 | 3,193 | -91% | 1 | 1 | 0% | 1,912 | 1,053 | -45% | 0 | 0 | — |
case-22 | pass→fail | 12,537 | 4,508 | -64% | 1 | 1 | 0% | 1,920 | 1,141 | -41% | 0 | 0 | — |
case-23 | pass→fail | 9,830 | 4,429 | -55% | 1 | 1 | 0% | 1,254 | 1,277 | +2% | 0 | 0 | — |
case-24 | pass→pass | 20,839 | 4,983 | -76% | 1 | 1 | 0% | 2,480 | 1,360 | -45% | 0 | 0 | — |
case-25 | fail→pass | 10,927 | 3,843 | -65% | 1 | 1 | 0% | 1,617 | 1,194 | -26% | 0 | 0 | — |
case-26 | fail→fail | 11,163 | 8,527 | -24% | 1 | 1 | 0% | 692 | 960 | +39% | 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. 26 cases were attempted, and 19 counted toward the lift figure. The other 7 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 19 comparable cases. 4 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.