Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install jnmetacode-agency-orchestrator-integrations-deerflowgit clone https://github.com/jnMetaCode/agency-orchestrator.gitcp agency-orchestrator/SKILL.MD ~/.claude/skills/jnmetacode-agency-orchestrator-integrations-deerflow/SKILL.md---
name: ao-workflow-runner
description: 多角色 YAML 工作流执行引擎——解析 workflow YAML,加载 agency-agents-zh 角色,按 DAG 顺序执行
---
## Multi-Role Workflow Runner
When the user asks to run a workflow (YAML file) or a multi-role collaboration task, follow these steps:
### 1. Parse Workflow
Read the specified YAML file. Extract name, inputs, steps, depends_on, conditions, and loops.
### 2. Collect Inputs
- `required: true` inputs must be provided by the user
- Optional inputs with `default` use the default value
- Optional inputs without default are set to empty string
### 3. Build Execution Order
Topological sort by `depends_on`. Steps without dependencies belong to the same level and can run in parallel.
### 4. Execute Steps
For each step:
1. Read `agency-agents-zh/{role}.md` (search order: YAML's agents_dir → ./agency-agents-zh/ → ../agency-agents-zh/ → node_modules/agency-agents-zh/)
2. Extract all markdown content after the frontmatter (`---`) as the role personality
3. Replace `{{variables}}` in the task with context values (from inputs or previous step outputs)
4. **Evaluate conditions**: if `condition` is set, evaluate it. Skip the step if the condition is not met. Operators: `contains`, `equals`, `not_contains`, `not_equals`
5. **Fully embody the role** — use that role's expertise, frameworks, and communication style. Output should be substantive.
6. Store the step's output text into the context variable (if step has an `output` field)
7. **Check loops**: if `loop` is set and exit_condition is not met, jump back to `loop.back_to` step (max: `loop.max_iterations` rounds)
Label each step: `### Step N/Total: step_id (Role Name)`
### 5. Save Results
Save all outputs to files:
```
ao-output/{workflow-name}-{date}/
├── steps/
│ ├── 1-{step_id}.md
│ └── ...
├── summary.md # Final step's full output
└── metadata.json # Step states, timing, token counts
```
### 6. Suggest Iteration
After completion, always tell the user:
> To improve a specific step, ask me to re-run from that step. I'll reuse all upstream outputs.
> For CLI: `ao run <workflow> --resume last --from <step-id>`
### Important Rules
- Each step must genuinely embody the assigned role — no generic responses
- Never skip or merge steps; execute strictly in topological order
- If a role file is missing, tell the user to install agency-agents-zh
- If a condition is not met, mark the step as "skipped" and continue
- For `depends_on_mode: "any_completed"`, proceed when ANY upstream step completes (not all)