mcpField
W
workflow-builder

workflow-builder

github.com/infrasity-labsAgent 工作流15185 次安装18 周前更新
代码仓库

关于 workflow-builder

workflow-builder 帮助用户为 Claude Code's Workflow tool 编写可运行的工作流脚本。它引导需求收集与拓扑选择,并提供脚手架和校验,支持确定性、可恢复的多 Agent 执行。

主要功能

  1. 01工作流需求收集与拓扑建议
  2. 02生成 JavaScript 工作流脚手架
  3. 03校验工作流规则
  4. 04提供模式与可运行示例

适用场景

  1. 01自动化可重复的多步骤任务
  2. 02编排并行或分阶段的子 Agent 任务
  3. 03构建可校验、可恢复的运行流程

MCP 相关

它为 Claude Code's Workflow tool 创建脚本,由该工具运行生成的多 Agent 工作流。README 未说明其连接或管理 MCP 服务的功能。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/infrasity-labs/dev-gtm-claude-skills --skill workflow-builder

安装后在 Claude Code 中输入/workflow-builder确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
assets/examples/
pr-triage.js
assets/templates/
fan-out.js
loop-until-budget.js
pipeline.js
expected_outputs/
intake_pr_review.json
scaffold_pipeline.js
validate_sample.txt
references/
api_reference.md
decision_and_intake_guide.md
orchestration_patterns.md
scripts/
scaffold_workflow.py
validate_workflow.py
workflow_intake.py

详细介绍

工作流构建器

为 Claude Code 的 Workflow 工具编写可运行的工作流脚本:以确定性方式编排多个 Agent 的文件(.js),通过纯 JavaScript 控制流将工作分配给使用全新上下文的子 Agent。只有叶节点上的 agent() 调用会消耗令牌,因此主会话始终保持干净,整个运行也可恢复。

每次会话都必须从信息收集开始(不可协商)

在提出或编写任何工作流之前,先进行信息收集。不要跳过这一步,直接编写代码。

  1. 询问用户想要什么类型的工作流。 使用以下开场问题:

    • 你想自动化哪种可重复的多步骤任务?
    • 单个子 Agent 一次执行的工作单元是什么?
    • 有多少个工作单元——是已知列表,还是需要通过循环来发现?
    • 后续步骤需要同时获得所有先前结果,还是每个项目可以单独流转?
    • 是否有步骤需要返回结构化数据(判定结果、列表、分数)?
    • 大致需要多少令牌/多深入?
  2. 如果用户描述含糊,不要停滞不前。 运行推荐引擎,将已有信息转化为 1–2 个具体方案,然后附上推理过程一并呈现:

    python scripts/workflow_intake.py --task "their description" \
      --units unknown --stages unknown --needs-all unknown --structured unknown
    

    引擎会返回推荐的拓扑结构(扇出/流水线/循环/屏障/评审组)、模型选择、预算限制,以及每项选择的一句话理由。请以“我会这样构建,原因如下”来呈现——绝不要让用户重新回答他们已经回答了一半的问题。

  3. 在编写文件之前,向用户确认方案结构(拓扑结构 + 阶段 + 并行还是流水线)。这是唯一的审批关卡。

完整的问题框架、含糊输入的处理指南和推荐示例,请参阅 references/decision_and_intake_guide.md。

判断工作流是否适合此任务

场景使用
单个子 Agent,只执行一项任务普通 Agent 工具
可复用的流程,由 Claude 动态选择步骤Skill
多个子 Agent,采用固定拓扑结构,具备确定性且可恢复Workflow ✓

当任务可以并行处理或分为多个阶段、必须可复现、耗时较长而可能中途失败(因此需要恢复),或适合将每个步骤隔离在独立上下文窗口中时,工作流才值得付出成本。对于一次性任务,直接使用 Claude 即可。

构建 → 验证 → 运行循环

  1. 根据已确认的拓扑结构搭建起始模板:
    python scripts/scaffold_workflow.py --topology pipeline --name pr-triage \
      --description "Triage open PRs" > .claude/workflows/pr-triage.js
    
  2. 编辑文件:先写 meta 块(纯字面量,且必须是第一条语句),然后使用注入的全局对象编写异步主体——agent()、pipeline()、parallel()、phase()、log()、budget、args、workflow()。完整接口请参阅 references/api_reference.md;可复制粘贴的模式请参阅 references/orchestration_patterns.md。
  3. 运行前进行验证——检查会导致解析器致命错误的问题:
    python scripts/validate_workflow.py .claude/workflows/pr-triage.js
    
  4. 运行工作流:通过 export CLAUDE_CODE_WORKFLOWS=1 启用该功能,将文件保存到 .claude/workflows/ 下,然后使用 /workflows 启动并实时监看。按 P 暂停/恢复,按 X 跳过某个子 Agent。失败的 Agent 会自动重试。

硬性规则(验证器会强制执行)

  • meta 必须是纯字面量,且是第一条语句——其中不能有变量、展开语法、模板字符串或函数调用。
  • 禁止非确定性操作: Date.now()、Math.random() 和不带参数的 new Date() 会导致恢复失败——通过 args 传入时间戳。
  • 编排器中禁止使用文件系统/Node API(require、fs、process、网络)——此类操作应放在 agent() 提示词中。
  • parallel() 接受的是 thunk(() => agent(...)),而不是普通的 Promise。除非某个阶段需要完整的先前结果集,否则默认使用 pipeline()。
  • 为每个开放式循环添加保护,使用计数器或 budget.remaining() 检查——不受保护的循环会触及 1000 个 Agent 的上限。
  • 过滤已跳过/失败的 Agent:results.filter(Boolean)。

工具

  • scripts/workflow_intake.py — 推荐引擎(根据模糊输入给出拓扑、模型、预算和理由)。
  • scripts/validate_workflow.py — 针对上述规则的标准库检查工具;按行号显示 PASS / WARN / FAIL。
  • scripts/scaffold_workflow.py — 为任意拓扑生成 .js 起始文件。
  • assets/templates/ — 扇出、流水线、循环直至预算耗尽的起始模板。assets/examples/ — 完整的可运行工作流。

所有脚本均可使用 --sample(不带参数)和 --help 运行。

评论

支持 Markdown