关于 workflow-create
workflow-create 用于编写工作流,可选择持久化的 MCP 模板或原生 JavaScript 编排脚本。它涵盖可暂停、可恢复且需人工审批的流水线,以及带结构化结果处理的子 Agent 扇出。
主要功能
- 01创建 MCP 工作流模板
- 02顺序、并行与条件步骤
- 03暂停、恢复及审批关卡
- 04JavaScript 子 Agent 编排
- 05按 Schema 校验 Agent 输出
适用场景
- 01构建需人工审批的可恢复流水线
- 02协调多个子 Agent 执行审查或审计
- 03让多个工作项独立流经各阶段
MCP 相关
通过 Ruflo MCP 工具列出模板、创建和管理工作流定义,并查询工作流状态。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill workflow-create安装后在 Claude Code 中输入/workflow-create确认已加载。
详细介绍
工作流创建
根据任务选择合适的平台来编写工作流。
选择平台
- MCP 工作流模板 — 一种持久化定义,具有暂停/恢复生命周期。适用于长期运行、需要人工把关且可恢复的管道。
- 原生
.claude/workflows/*.js— 一种命令式编排脚本,可将任务分派给多个子 Agent。适用于需要在代码中汇总结构化结果的全面任务分派(审查、审计、迁移、研究)。
A — MCP 工作流模板
- 列出模板 — 调用
mcp__plugin_ruflo-core_ruflo__workflow_template查看可用模板 - 创建工作流 — 调用
mcp__plugin_ruflo-core_ruflo__workflow_create,并传入步骤、条件和执行顺序 - 列出工作流 — 调用
mcp__plugin_ruflo-core_ruflo__workflow_list查看所有已定义的工作流 - 检查状态 — 调用
mcp__plugin_ruflo-core_ruflo__workflow_status监控工作流 - 清理 — 调用
mcp__plugin_ruflo-core_ruflo__workflow_delete删除未使用的工作流
功能:顺序/并行步骤、条件分支、模板继承、暂停/恢复审批关卡。
B — 原生 .claude/workflows/*.js
在 .claude/workflows/ 下编写一个 .js 文件。文件必须以一个纯字面量的 export const meta 块开头;主体在异步包装器中运行,并注入以下钩子(顶层 await/return 均合法):
| 钩子 | 用途 |
|---|---|
agent(prompt, opts) | 启动一个子 Agent;传入 opts.schema(JSON Schema)可获取经过验证的结构化输出 |
parallel(thunks) | 使用屏障并发运行 thunks — 对结果调用 .filter(Boolean) |
pipeline(items, ...stages) | 让每个条目独立流经各个阶段 — 优先使用此方式,而非屏障 |
phase(title) / log(msg) | 进度分组/叙述 |
export const meta = {
name: 'my-workflow', // becomes the invocable name — must be a pure literal
description: 'one line',
phases: [{ title: 'Find' }, { title: 'Verify' }],
}
const SCHEMA = { type: 'object', required: ['ok'], properties: { ok: { type: 'boolean' } }, additionalProperties: false }
phase('Find')
const found = await agent('find the things', { schema: SCHEMA, agentType: 'tester' })
phase('Verify')
const checked = await parallel((found.items || []).map((it) => () =>
agent(`verify ${it}`, { schema: SCHEMA })))
return { found, checked: checked.filter(Boolean) }
规则:meta 必须是纯字面量(不能包含变量/调用/插值);默认优先使用 pipeline,而非 parallel;绝不要使用 Date.now()/Math.random()(它们会抛出异常——请改为按索引变化)。验证语法(主体是 ESM-in-async-wrapper,而非裸模块):
node -e 'const fs=require("fs");let s=fs.readFileSync(".claude/workflows/my-workflow.js","utf8").replace(/^export\s+const\s+meta/m,"const meta");fs.writeFileSync("/tmp/wf.mjs","let agent,parallel,pipeline,phase,log,args,budget,workflow;async function __wf(){\n"+s+"\n}")' \
&& node --check /tmp/wf.mjs && echo OK
使用 workflow-run skill 或 Workflow({ name: 'my-workflow' }) 运行。参考:.claude/workflows/plugin-contract-audit.js。参见 ADR-0002。
评论
支持 Markdown