mcpField
W
workflow-create

workflow-create

github.com/ruvnetAgent 工作流80.0k738 次安装今天更新
代码仓库

关于 workflow-create

workflow-create 用于编写工作流,可选择持久化的 MCP 模板或原生 JavaScript 编排脚本。它涵盖可暂停、可恢复且需人工审批的流水线,以及带结构化结果处理的子 Agent 扇出。

主要功能

  1. 01创建 MCP 工作流模板
  2. 02顺序、并行与条件步骤
  3. 03暂停、恢复及审批关卡
  4. 04JavaScript 子 Agent 编排
  5. 05按 Schema 校验 Agent 输出

适用场景

  1. 01构建需人工审批的可恢复流水线
  2. 02协调多个子 Agent 执行审查或审计
  3. 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 工作流模板

  1. 列出模板 — 调用 mcp__plugin_ruflo-core_ruflo__workflow_template 查看可用模板
  2. 创建工作流 — 调用 mcp__plugin_ruflo-core_ruflo__workflow_create,并传入步骤、条件和执行顺序
  3. 列出工作流 — 调用 mcp__plugin_ruflo-core_ruflo__workflow_list 查看所有已定义的工作流
  4. 检查状态 — 调用 mcp__plugin_ruflo-core_ruflo__workflow_status 监控工作流
  5. 清理 — 调用 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