Advance Weft Workflow Step
Transition the current step to a new status.
Arguments
$ARGUMENTS
Parsing
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 steps
Map 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.
Single step transition
python3 "${CLAUDE_PLUGIN_ROOT}/core/cli.py" step <action> <reason>
Bulk transitions
If the user specifies a count (e.g., "complete 3"), loop:
for 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.
After transition
- Display the updated workflow checklist.
- If the workflow just completed, congratulate and summarize what was accomplished.
- If a step failed with
block policy, explain options: /wf-step retry or /wf-abort.
- If the next step has guards, explain what commands are blocked.
- If the next step has a description in the template, mention what it expects.
After loop-continue
- Show "Loop iteration N/M" with the current count and max.
- List which steps were reset back to pending.
- If the exit condition is defined, remind the user what needs to be true to exit.
After loop-done
- Show "Exited loop after N iterations."
- Show the next step info as normal.
Loop max exceeded
- If loop-continue triggers max_iterations, the step fails per its on_fail policy.
- Explain: "Loop hit max iterations (N). Workflow blocked — use
/wf-step retry to reset or /wf-abort."
1---2name: wf-step3description: Transition the current weft workflow step. Use only when user types /wf-step.4---56# Advance Weft Workflow Step78Transition the current step to a new status.910## Arguments11$ARGUMENTS1213## Parsing1415Parse the arguments flexibly. The user may say:16- `/wf-step complete "planning done"` — standard form17- `/wf-step done` or `/wf-step` with no args — treat as `complete`18- `/wf-step skip not needed` — skip with reason19- `/wf-step failed, try again` — treat as `retry` if step is failed, or `fail` if running20- `/wf-step complete 3` or `/wf-step complete next 3` — bulk complete N steps2122Map natural language to actions:23| User says | Action |24|-----------|--------|25| done, finished, complete, next | `complete` |26| skip, not needed, pass | `skip` |27| failed, broken, error | `fail` |28| retry, again, redo | `retry` |29| again, loop, iterate, continue loop, not done yet, issues remain | `loop-continue` |30| done looping, exit loop, loop done, clean, all clear | `loop-done` |3132**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.3334## Single step transition3536```bash37python3 "${CLAUDE_PLUGIN_ROOT}/core/cli.py" step <action> <reason>38```3940## Bulk transitions4142If the user specifies a count (e.g., "complete 3"), loop:43```bash44for i in 1 2 3; do45 python3 "${CLAUDE_PLUGIN_ROOT}/core/cli.py" step complete "bulk advance"46done47```4849Stop looping if any step fails or the workflow completes.5051## After transition52531. Display the updated workflow checklist.542. If the workflow just completed, congratulate and summarize what was accomplished.553. If a step failed with `block` policy, explain options: `/wf-step retry` or `/wf-abort`.564. If the next step has guards, explain what commands are blocked.575. If the next step has a description in the template, mention what it expects.5859### After loop-continue60- Show "Loop iteration N/M" with the current count and max.61- List which steps were reset back to pending.62- If the exit condition is defined, remind the user what needs to be true to exit.6364### After loop-done65- Show "Exited loop after N iterations."66- Show the next step info as normal.6768### Loop max exceeded69- If loop-continue triggers max_iterations, the step fails per its on_fail policy.70- Explain: "Loop hit max iterations (N). Workflow blocked — use `/wf-step retry` to reset or `/wf-abort`."