Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Stop a running Output SDK workflow execution. Use when cancelling a workflow, stopping a long-running process, terminating a stuck workflow, or when you need to abort a workflow in progress.
.claude/skills/growthxai-output-workflow-stop/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -15% | 0% |
This skill stops a running workflow execution. The workflow will be marked as TERMINATED and will not complete its remaining steps. Use this carefully as it cannot be undone.
npx output workflow debug instead)bashnpx output workflow stop <workflowId>
Before stopping, consider:
Scenario: Stop a stuck workflow
bash# Check status - workflow has been running too long npx output workflow status abc123xyz # Status: RUNNING (for 2 hours) # Decide to stop it npx output workflow stop abc123xyz # Workflow abc123xyz has been stopped # Verify it's terminated npx output workflow status abc123xyz # Status: TERMINATED
Scenario: Cancel a workflow started with wrong input
bash# Realized input was wrong immediately after starting npx output workflow start expensive-job --input '{"wrong": "input"}' # Workflow ID: job-abc123 # Stop before it processes too much npx output workflow stop job-abc123 # Start again with correct input npx output workflow start expensive-job --input '{"correct": "input"}'
Scenario: Stop multiple workflows
bash# Get list of running workflows npx output workflow runs list --json | jq '.[] | select(.status == "RUNNING") | .workflowId' # Stop each one (carefully review first!) for id in abc123 def456; do echo "Stopping $id" npx output workflow stop $id done
bashnpx output workflow status <workflowId> # Status: TERMINATED
bashnpx output workflow debug <workflowId> --json
This shows:
If the workflow made partial changes:
bash# Start a fresh execution npx output workflow start <workflowName> --input '<input>'
npx output workflow runs list to find valid IDsdocker ps | grep outputnpx output workflow debug to understand statenpx output workflow status <id> - Check current statusnpx output workflow debug <id> - Review execution detailsnpx output workflow start <name> - Start a new executionnpx output workflow runs list - View execution history| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 6,102 | 2,233 | -63% | 1 | 1 | 0% | 1,006 | 1,345 | +34% | 0 | 0 | — |
case-02 | fail→pass | 7,448 | 2,932 | -61% | 1 | 1 | 0% | 1,194 | 1,447 | +21% | 0 | 0 | — |
case-03 | fail→pass | 12,488 | 2,616 | -79% | 1 | 1 | 0% | 2,020 | 1,465 | -27% | 0 | 0 | — |
case-04 | fail→pass | 8,145 | 2,198 | -73% | 1 | 1 | 0% | 1,457 | 1,417 | -3% | 0 | 0 | — |
case-05 | fail→pass | 10,481 | 2,062 | -80% | 1 | 1 | 0% | 1,583 | 1,346 | -15% | 0 | 0 | — |
case-06 | pass→pass | 7,292 | 3,578 | -51% | 1 | 1 | 0% | 1,091 | 1,588 | +46% | 0 | 0 | — |
case-07 | fail→pass | 7,848 | 2,093 | -73% | 1 | 1 | 0% | 1,442 | 1,372 | -5% | 0 | 0 | — |
case-08 | fail→pass | 14,662 | 4,027 | -73% | 1 | 1 | 0% | 2,030 | 1,655 | -18% | 0 | 0 | — |
case-09 | fail→pass | 9,303 | 1,804 | -81% | 1 | 1 | 0% | 1,583 | 1,304 | -18% | 0 | 0 | — |
case-10 | pass→pass | 6,789 | 3,895 | -43% | 1 | 1 | 0% | 1,129 | 1,700 | +51% | 0 | 0 | — |
case-11 | pass→pass | 7,294 | 4,003 | -45% | 1 | 1 | 0% | 1,098 | 1,669 | +52% | 0 | 0 | — |
case-12 | pass→pass | 12,274 | 1,618 | -87% | 1 | 1 | 0% | 1,963 | 1,247 | -36% | 0 | 0 | — |
case-13 | fail→pass | 13,010 | 3,649 | -72% | 1 | 1 | 0% | 2,170 | 1,628 | -25% | 0 | 0 | — |
case-14 | fail→pass | 6,012 | 1,751 | -71% | 1 | 1 | 0% | 1,062 | 1,268 | +19% | 0 | 0 | — |
case-15 | fail→pass | 11,527 | 1,703 | -85% | 1 | 1 | 0% | 2,149 | 1,297 | -40% | 0 | 0 | — |
case-16 | fail→pass | 10,199 | 3,221 | -68% | 1 | 1 | 0% | 1,737 | 1,413 | -19% | 0 | 0 | — |
case-17 | fail→pass | 13,734 | 4,308 | -69% | 1 | 1 | 0% | 1,990 | 1,774 | -11% | 0 | 0 | — |
case-18 | pass→pass | 14,413 | 4,824 | -67% | 1 | 1 | 0% | 2,082 | 1,685 | -19% | 0 | 0 | — |
case-19 | pass→pass | 10,608 | 5,693 | -46% | 1 | 1 | 0% | 1,403 | 1,920 | +37% | 0 | 0 | — |
case-20 | pass→pass | 8,744 | 4,061 | -54% | 1 | 1 | 0% | 1,376 | 1,680 | +22% | 0 | 0 | — |
case-21 | pass→pass | 10,887 | 2,997 | -72% | 1 | 1 | 0% | 1,823 | 1,515 | -17% | 0 | 0 | — |
case-22 | pass→pass | 10,848 | 2,990 | -72% | 1 | 1 | 0% | 1,496 | 1,489 | -0% | 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. The headline lift of +59 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.