| name | workflow-engine |
| version | 1.0.0 |
| description | Use when the user asks to run a reusable YAML workflow, says "run the [workflow-name] workflow", "analisa ini dari 3 sudut", "debug this flaky test", "self-improve", "incident analysis", or "stress test business plan". Loads workflow definitions from ~/.openclaw/workflows and executes them safely with subagents. |
Workflow Engine
Run reusable OpenClaw workflow definitions stored in ~/.openclaw/workflows/*.yaml.
Triggers
Use this skill when the user says any of:
run the [workflow-name] workflow
analisa ini dari 3 sudut
debug this flaky test
self-improve
incident analysis
stress test business plan
Files
- Workflow definitions:
~/.openclaw/workflows/*.yaml
- Safe helper CLI:
/root/.openclaw/workspace-radit/scripts/workflow_runner.py
Safety rule
Do not rely on the runner to call tools or spawn agents. The runner only lists, validates, renders, and prints execution plans/prompts. Script steps are unsafe by default and only run from the CLI with explicit --allow-scripts; do not use that unless the user explicitly asked for local script execution and the command is safe.
Workflow execution procedure
- Identify the workflow name.
- If no exact workflow exists, list available workflows with:
python3 scripts/workflow_runner.py list
- If the workflow is missing, offer to create a new YAML workflow.
- Read the workflow YAML from
~/.openclaw/workflows/<name>.yaml.
- Validate it:
python3 scripts/workflow_runner.py validate <name>
- Collect required inputs from the YAML
inputs mapping. If the user already supplied enough context, proceed without asking.
- Render or run the plan for visibility:
- Render prompts:
python3 scripts/workflow_runner.py render <name> --input key=value
- Safe run plan:
python3 scripts/workflow_runner.py run <name> --input key=value
- Execute steps manually as OpenClaw subagents:
- Steps with no
depends_on can run in parallel.
- Respect
depends_on and only start dependent steps after required results are back.
- Use
sessions_spawn for subagent steps when available.
- Use max 3 concurrent subagents. If a batch has more than 3 independent steps, run it in waves.
- Put the rendered step prompt in the subagent task.
- Collect subagent outputs and synthesize the final answer for the user using the workflow
output field and any final/synthesis step.
- If the workflow contains script steps, present the command and ask before execution. Prefer a plan over execution.
Dependency handling
- Missing
depends_on means independent and eligible for the current parallel batch.
depends_on: [a, b] means wait for results from a and b, then expand any ${a} / ${b} placeholders with their outputs.
- For the included
business-stress-test workflow, run investor, customer, and competitor in parallel, then run synthesize after those three results are available.
Included workflows
flaky-test: debug flaky tests and produce root-cause/fix/verification plan.
self-improve: review an agent/process/skill/artifact and produce prioritized improvements.
incident-analysis: timeline, impact, root-cause hypotheses, mitigation, and prevention.
business-stress-test: investor/customer/competitor parallel analysis followed by synthesis.