Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Check the status of an Output SDK workflow execution. Use when monitoring a running workflow, checking if a workflow completed, or determining workflow state (RUNNING, COMPLETED, FAILED, TERMINATED).
.claude/skills/growthxai-output-workflow-status/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 116% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 164% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -10% | 0% |
This skill checks the current execution status of a workflow. Use it to monitor running workflows, verify completion, or determine if a workflow failed before attempting to get its result.
npx output workflow result after confirming COMPLETED statusnpx output workflow debug for FAILED workflowsnpx output workflow runs list for multiple runsbashnpx output workflow status <workflowId>
Replace <workflowId> with the ID from npx output workflow start or npx output workflow runs list.
| Status | Meaning | Next Action | |--------|---------|-------------| | RUNNING | Workflow is currently executing | Wait and check again | | COMPLETED | Workflow finished successfully | Get result with npx output workflow result | | FAILED | Workflow encountered an error | Debug with npx output workflow debug | | TERMINATED | Workflow was manually stopped | Review if expected, restart if needed | | TIMED_OUT | Workflow exceeded time limit | Check for long operations, adjust timeout |
Scenario: Monitor a running workflow
bash# Start a workflow npx output workflow start data-sync --input '{"source": "external"}' # Output: Workflow ID: sync-abc123 # Check status npx output workflow status sync-abc123 # Output: Status: RUNNING # Wait and check again sleep 30 npx output workflow status sync-abc123 # Output: Status: COMPLETED
Scenario: Poll for completion in a script
bashWORKFLOW_ID="abc123xyz" while true; do STATUS=$(npx output workflow status $WORKFLOW_ID) echo "Current status: $STATUS" if [[ "$STATUS" == *"COMPLETED"* ]]; then echo "Workflow completed!" npx output workflow result $WORKFLOW_ID break elif [[ "$STATUS" == *"FAILED"* ]]; then echo "Workflow failed!" npx output workflow debug $WORKFLOW_ID --json break fi sleep 10 done
Scenario: Check before getting result
bash# Verify status first npx output workflow status my-workflow-123 # If COMPLETED, get result npx output workflow result my-workflow-123 # If FAILED, debug instead npx output workflow debug my-workflow-123 --json
Scenario: Batch status check
bash# Check multiple workflows for id in abc123 def456 ghi789; do echo "Workflow $id: $(npx output workflow status $id)" done
Workflows typically follow these paths:
RUNNING -> COMPLETED (success)
RUNNING -> FAILED (error occurred)
RUNNING -> TERMINATED (manually stopped)
RUNNING -> TIMED_OUT (exceeded limit)The status command returns information including:
npx output workflow runs list to find the correct IDnpx output workflow debug <id>npx output workflow stop <id>npx output workflow debug for contextnpx output workflow startnpx output workflow result <id> - Get execution result (after COMPLETED)npx output workflow debug <id> - Debug execution (after FAILED)npx output workflow stop <id> - Stop a running workflownpx 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 | 3,409 | 1,134 | -67% | 1 | 1 | 0% | 530 | 1,145 | +116% | 0 | 0 | — |
case-02 | fail→pass | 3,014 | 1,208 | -60% | 1 | 1 | 0% | 443 | 1,169 | +164% | 0 | 0 | — |
case-03 | fail→pass | 5,236 | 1,230 | -77% | 1 | 1 | 0% | 904 | 1,163 | +29% | 0 | 0 | — |
case-04 | fail→pass | 7,605 | 2,442 | -68% | 1 | 1 | 0% | 1,254 | 1,375 | +10% | 0 | 0 | — |
case-05 | fail→pass | 9,012 | 2,565 | -72% | 1 | 1 | 0% | 1,549 | 1,394 | -10% | 0 | 0 | — |
case-06 | fail→pass | 7,606 | 2,166 | -72% | 1 | 1 | 0% | 1,336 | 1,332 | -0% | 0 | 0 | — |
case-07 | fail→pass | 5,217 | 1,497 | -71% | 1 | 1 | 0% | 852 | 1,204 | +41% | 0 | 0 | — |
case-08 | fail→pass | 13,854 | 3,656 | -74% | 1 | 1 | 0% | 2,364 | 1,686 | -29% | 0 | 0 | — |
case-09 | fail→pass | 7,485 | 2,304 | -69% | 1 | 1 | 0% | 1,416 | 1,363 | -4% | 0 | 0 | — |
case-10 | fail→pass | 7,118 | 1,724 | -76% | 1 | 1 | 0% | 1,068 | 1,270 | +19% | 0 | 0 | — |
case-11 | fail→pass | 8,129 | 3,230 | -60% | 1 | 1 | 0% | 1,396 | 1,544 | +11% | 0 | 0 | — |
case-12 | pass→pass | 11,518 | 3,171 | -72% | 1 | 1 | 0% | 1,714 | 1,416 | -17% | 0 | 0 | — |
case-13 | pass→pass | 10,444 | 2,991 | -71% | 1 | 1 | 0% | 1,516 | 1,434 | -5% | 0 | 0 | — |
case-14 | fail→pass | 11,156 | 4,744 | -57% | 1 | 1 | 0% | 1,609 | 1,803 | +12% | 0 | 0 | — |
case-15 | pass→pass | 12,572 | 2,285 | -82% | 1 | 1 | 0% | 2,048 | 1,348 | -34% | 0 | 0 | — |
case-16 | pass→pass | 11,102 | 2,382 | -79% | 1 | 1 | 0% | 1,841 | 1,405 | -24% | 0 | 0 | — |
case-17 | fail→pass | 5,452 | 1,667 | -69% | 1 | 1 | 0% | 872 | 1,232 | +41% | 0 | 0 | — |
case-18 | fail→pass | 15,562 | 2,089 | -87% | 1 | 1 | 0% | 895 | 1,319 | +47% | 0 | 0 | — |
case-19 | fail→pass | 12,800 | 4,461 | -65% | 1 | 1 | 0% | 2,166 | 1,777 | -18% | 0 | 0 | — |
case-20 | fail→pass | 7,166 | 3,279 | -54% | 1 | 1 | 0% | 1,120 | 1,540 | +38% | 0 | 0 | — |
case-21 | fail→pass | 8,549 | 2,637 | -69% | 1 | 1 | 0% | 1,510 | 1,419 | -6% | 0 | 0 | — |
case-22 | fail→pass | 9,157 | 2,985 | -67% | 1 | 1 | 0% | 1,413 | 1,508 | +7% | 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 21 counted toward the lift figure. The other 1 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 +82 percentage points is the difference between those two pass rates over the 21 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.