workflow
Use Cautionnpx machina-cli add skill tobyhede/turboshovel/workflow --openclawWorkflow Execution
Overview
Workflows are multi-step processes with state tracking. Two-tier orchestration: subagents execute individual steps and report outcomes; main agent dispatches, monitors, and handles failures.
Core principle: Subagents fail fast, main agent troubleshoots.
When to Use
- Multi-step processes needing state persistence across context clears
- Parallel subagent orchestration with status tracking
- PASS/FAIL signaling between agents
- Processes requiring retry/resume capability
Not for: Single-step steps, ad-hoc commands
For Subagents
You're executing a workflow step. Your context shows:
- Step N: What you need to do
- Attempt: Retry count if applicable
Protocol
- Execute the step as described in the prompt
- End your response with a status line:
STATUS: PASSorSTATUS: FAIL - If stuck, blocked, or unclear, report
STATUS: FAIL- main agent will handle
Do NOT:
- Advance the parent workflow - only your orchestrator does that
- Try to fix infrastructure issues - report FAIL and let main handle
- Continue past errors - fail fast so main can troubleshoot
You CAN: Run your own nested workflows with full workflow commands.
For Main Agent
You orchestrate the workflow. Use these commands:
| Command | Purpose |
|---|---|
rundown run <file> | Begin a runbook |
rundown pass | Mark current step as passed |
rundown fail | Mark current step as failed |
rundown goto N | Jump to specific step |
rundown status | Check current state |
rundown complete | Mark workflow finished |
rundown stop | Abort workflow |
rundown stash | Pause enforcement (for ad-hoc work) |
rundown pop | Resume enforcement |
Dispatching Steps
Include StepId in Step tool description - hooks handle the rest automatically:
Step(description="2.1 - Review authentication code", ...)
The StepId format is N.X where N is step number, X is substep number.
Hook automation:
- PostToolUse hook parses StepId from description, calls
rundown run --step 2.1 - SubagentStart hook binds the agent to the queued step
- SubagentStop hook parses STATUS line, calls
rundown next --pass/--fail --agent {id}
Do NOT manually call rundown run --step - hooks handle this.
Parallel Substeps
For parallel execution (e.g., ### 2.{n} substeps):
- Dispatch all agents in one message (multiple Step tool calls)
- Run
rundown statusto check agent completion - When all agents report done, run
rundown next
Dynamic Substep {n} Syntax
### N.{n} marks dynamic substeps - orchestrator decides count at runtime.
Dispatch with sequential StepIds in description:
Step(description="3.1 - Agent 1 review", ...)
Step(description="3.2 - Agent 2 review", ...)
$nin workflow prompts substitutes with substep number (1, 2, etc.)- Hooks handle step queuing and agent binding automatically
Handling Failures
When subagent reports STATUS: FAIL: check output, discuss with user, then retry or jump (--goto N) or abort (stop).
Common Mistakes
| Mistake | Fix |
|---|---|
| Subagent advances parent workflow | Only advance your own nested workflow, not parent's |
| Subagent auto-retries on failure | Report STATUS: FAIL and let main handle |
| Main agent auto-retries without user | Always discuss failures before retry |
| Missing StepId in dispatch | Include N.X format in Step tool description |
| Parallel steps without status check | Run rundown status before advancing |
Manually calling rundown run --step | Remove - hooks handle step queuing automatically |
Source
git clone https://github.com/tobyhede/turboshovel/blob/main/plugin/skills/workflow/SKILL.mdView on GitHub Overview
Workflows are multi-step processes with state tracking and two-tier orchestration: subagents execute individual steps and report outcomes, while the main agent handles dispatch, advancement, and failure troubleshooting. The core principle is subagents fail fast and the main agent troubleshoots. This enables reliable retry and resume across context clears.
How This Skill Works
Subagents run a specific step and end with a STATUS: PASS or STATUS: FAIL line. The main agent uses rundown commands and hooks to dispatch steps, monitor progress, and apply next actions, including retries, jumps, or aborts. The protocol supports parallel substeps and dynamic substep counts, with the orchestrator coordinating overall progress.
When to Use It
- Multi-step processes with state persistence across context clears
- Parallel subagent orchestration with status tracking
- Explicit PASS/FAIL signaling between agents
- Retry or resume capability after failures
- Dynamic or nested substeps with runtime step counts
Quick Start
- Step 1: Define StepIds (N.X) in your Step tool descriptions to enable dispatch
- Step 2: Start the workflow with rundown run <file> and let hooks queue steps
- Step 3: Monitor progress with rundown status and advance with rundown next, or retry/redirect on FAIL
Best Practices
- Include StepId N.X in Step tool descriptions to enable hook-driven dispatch
- Require subagents to end with STATUS: PASS or STATUS: FAIL
- Check overall progress with rundown status before advancing
- Do not advance the parent workflow from subagents; only the orchestrator does
- Let the main agent handle retries, jumps, and aborts after a failure
Example Use Cases
- CI pipeline: parallel test suites run as subagents, main agent aggregates results and advances
- Security review: modular checks executed by subagents with PASS/FAIL signaling
- Data processing: steps persist state across context clears and can resume
- Dynamic substeps: runtime-determined steps using 3.{n} format handled by the orchestrator
- Nested workflows: subworkflows orchestrated under the main workflow coordinator