
Workflow Runner
- 830 installs
- 7.5k repo stars
- Updated July 31, 2026
- jnmetacode/superpowers-zh
workflow-runner is a Claude Code skill that runs agency-orchestrator YAML multi-agent workflows inside Claude Code or Cursor using the current session LLM as the execution engine without extra API keys.
About
workflow-runner is a version 1.0.0 skill for developers who want to execute agency-orchestrator YAML workflows directly inside Claude Code, OpenClaw, or Cursor instead of wiring separate orchestration services. The skill reads a .yaml workflow file, extracts name, agents_dir, and inputs, then sequentially adopts each defined role from a directory such as agency-agents-zh while the current LLM acts as the runtime engine. Developers trigger workflow-runner when they supply a workflows/*.yaml file or ask for multi-role collaboration like product-manager plus architect PRD review. The documented flow has five ordered steps—parse workflow, load roles, gather inputs, execute steps, and summarize outputs—so agents do not skip orchestration stages.
- Executes agency-orchestrator YAML workflows using the current LLM session as the execution engine
- Automatically locates and loads roles from agency-agents-zh directory with 4-path fallback logic
- Parses inputs, steps, dependencies and variable templates while ignoring CLI-only fields
- 5-step execution ritual that collects required inputs then runs each role sequentially
- Hard gate: stops and instructs user to install agency-agents-zh when role directory is missing
Workflow Runner by the numbers
- 830 all-time installs (skills.sh)
- +29 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #326 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jnmetacode/superpowers-zh --skill workflow-runnerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 830 |
|---|---|
| repo stars | ★ 7.5k |
| Last updated | July 31, 2026 |
| Repository | jnmetacode/superpowers-zh ↗ |
How do you run YAML multi-agent workflows in Cursor?
Run multi-agent YAML orchestration directly inside Claude Code or Cursor without needing extra API keys.
Who is it for?
Developers using agency-agents-zh or agency-orchestrator YAML who want in-session multi-role runs without external orchestration APIs.
Skip if: Teams needing distributed workers, persistent agent memory across machines, or non-YAML ad-hoc single-turn prompts.
When should I use this skill?
A user provides a .yaml workflow file, references agency-orchestrator, or requests multi-role collaboration inside the current AI session.
What you get
Completed multi-role workflow run with per-step outputs and a final summary from the parsed YAML definition.
- Per-role step outputs
- Workflow completion summary
By the numbers
- Skill version 1.0.0 with MIT license
- Documents a 5-step ordered execution flow for YAML workflows
Files
工作流执行器:在 AI 工具内运行多角色编排
直接在当前会话中执行 agency-orchestrator 的 YAML 工作流,无需配置 API key。当前 LLM 就是执行引擎——依次扮演每个角色完成任务。
适用场景
- 用户提供了一个
.yaml工作流文件(如运行 workflows/story-creation.yaml) - 用户要求多个角色协作完成任务(如"用产品经理和架构师一起评审这个 PRD")
- 用户安装了
agency-agents-zh并希望直接在 AI 工具内编排多角色
执行流程(5 步)
按以下顺序执行,不要跳步:
第 1 步:解析工作流
用 Read 工具读取用户指定的 YAML 文件,提取以下字段:
name: "工作流名称"
agents_dir: "agency-agents-zh" # 角色定义目录
inputs: # 输入变量
- name: xxx
required: true/false
default: "默认值"
steps: # 执行步骤
- id: step_id
role: "category/agent-name" # 角色路径
task: "任务描述 {{变量}}" # 支持模板变量
output: variable_name # 输出变量名
depends_on: [other_step_id] # 依赖关系忽略 `llm`、`concurrency`、`timeout`、`retry` 配置——Skill 模式使用当前会话的 LLM,这些字段仅用于 CLI 模式。
定位角色目录:用 Bash test -d 按以下顺序检查,用第一个存在的: 1. 当前工作目录下的 {agents_dir}/(如 ./agency-agents-zh/) 2. ../{agents_dir}/(上级目录) 3. 相对于 YAML 文件所在目录的 {agents_dir}/ 4. node_modules/agency-agents-zh/
如果全部找不到,停止执行并提示用户:
找不到角色目录。请先安装:
git clone --depth 1 https://github.com/jnMetaCode/agency-agents-zh.git
或:npm install agency-agents-zh第 2 步:收集输入
- 对每个
required: true的输入,检查用户消息中是否已提供值 - 未提供的必填输入:立即向用户询问,不要猜测或用空值
- 有
default的可选输入:使用默认值 - 无默认值的可选输入:设为空字符串
第 3 步:构建执行顺序
根据 depends_on 进行拓扑排序,将步骤分成多个层级:
- 无 depends_on 的步骤 → 第 1 层
- depends_on 全部在第 N 层或之前的步骤 → 第 N+1 层
- 同一层内的步骤互不依赖,可并行
在回复中展示执行计划:
执行计划(共 N 步):
第 1 层: [step_id] — 角色名
第 2 层: [step_a, step_b] — 并行
第 3 层: [step_id] — 角色名第 4 步:逐层执行
对每一层:
4a. 预读角色文件
用 Read 工具读取该层所有步骤的角色 .md 文件:{角色目录}/{role}.md
从文件中提取:
- 角色名:frontmatter 中的
name字段 - 角色 system prompt:第二个
---之后的全部 markdown 内容
4b. 渲染 task 模板
将 task 中的 {{变量名}} 替换为:
- 来自 inputs 的用户输入值
- 来自前序步骤 output 的结果文本
4c. 执行
单步骤层:直接在主会话中扮演该角色执行。格式:
### Step N/Total: step_id(角色名)
[以该角色身份完成 task,使用角色的专业知识和沟通风格]多步骤层(并行):使用 Agent 工具为每个步骤启动子代理。每个子代理的 prompt 必须包含:
- 角色文件的完整文本内容(不是路径——子代理可能无法读文件)
- 渲染后的 task 文本
- 指令:"以上是你的角色定义,请以该角色身份完成以下任务,直接输出结果"
4d. 保存输出到上下文
如果 step 有 output 字段,将该步骤的输出文本存入变量上下文,供后续步骤的 {{变量}} 使用。
第 5 步:保存结果并展示
用 Write 工具将结果保存到文件:
.ao-output/{工作流名称}-{YYYY-MM-DD}/
├── steps/
│ ├── 1-{step_id}.md # 每步的输出
│ ├── 2-{step_id}.md
│ └── ...
├── summary.md # 最后一步的完整输出(最终成果)
└── metadata.json # 基本元数据metadata.json 格式:
{
"name": "工作流名称",
"date": "2026-03-22",
"success": true,
"steps": [
{"id": "step_id", "role": "category/agent", "status": "completed"},
...
]
}执行完毕后,向用户展示: 1. 最终成果(summary.md 的内容) 2. 文件保存位置 3. 执行了几个步骤
重要规则
<HARD-GATE>
- 每个步骤都必须真正扮演对应角色,使用该角色的专业知识和沟通风格,不能泛泛回答
- 角色切换必须明确——每步开始时标注角色名
- 不要跳过步骤或合并步骤,严格按 DAG 层级顺序执行
- 如果角色文件找不到,告知用户并建议安装 agency-agents-zh
- 不要在没有读取角色 .md 文件的情况下执行步骤——必须先 Read 再执行
</HARD-GATE>
没有 YAML 文件时的快捷模式
如果用户没有指定 YAML 文件,但描述了需要多角色协作的任务:
1. 根据用户描述,自动生成 YAML 工作流定义 2. 展示给用户确认 3. 确认后按上述流程执行
示例:
- 用户说"帮我用叙事学家和心理学家写个故事" → 生成 story-creation 类似的工作流
- 用户说"让产品经理和架构师评审这个 PRD" → 生成 product-review 类似的工作流
故障处理
- 角色文件不存在:提示用户运行
ao init或npm install agency-agents-zh - 模板变量未定义:检查上下文,如果是必填输入则向用户询问
- 步骤执行失败:标记该步骤为失败,跳过所有依赖它的下游步骤,继续执行其他独立步骤
Related skills
How it compares
Pick workflow-runner over generic subagent prompts when you already have agency-orchestrator YAML and want deterministic multi-role sequencing in-session.
FAQ
Does workflow-runner need extra API keys?
workflow-runner does not require additional API keys. The skill uses the current Claude Code or Cursor session LLM as the execution engine while stepping through agency-orchestrator YAML roles in order.
What file format does workflow-runner expect?
workflow-runner reads agency-orchestrator .yaml workflow files that declare name, agents_dir, inputs, and step definitions. Example triggers include commands like running workflows/story-creation.yaml from the repo.