关于 taskflow
用于将多步骤工作管理为持久 TaskFlow 的技能,设定单一负责人、有限状态和明确的审批等待。它指导如何使用 Lobster 插件、安全恢复流程、协调子 Agent,并在完成前核验验收条件。
主要功能
- 01通过 Lobster 运行示例工作流
- 02等待审批并从检查点恢复
- 03协调子 Agent 交接
- 04维护有限且持久的流程状态
- 05完成前核验验收条件
适用场景
- 01路由合成收件箱项目以供审核
- 02处理不执行 GitHub 操作的 PR 接收意图
- 03恢复等待审批的工作流
- 04跟踪已关联的子 Agent 任务直至目标完成
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ openclaw/ openclaw --skill taskflow安装后在 Claude Code 中输入/taskflow确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/inbox-triage.lobsterpr-intake.lobsterreferences/subagent-workflows.md详细介绍
TaskFlow
对于包含多个步骤、由单一负责人管理、状态有界且等待条件明确的工作,请使用受管理的 TaskFlow。单个分离运行的 ACP/子 Agent 若完成了交付内容,会自动映射到一个流程,无需再创建第二个受管理流程。
运行工作流
在已安装、启用并获准使用 Lobster 插件的非沙盒会话中,使用可用的 lobster 工具。此技能仅提供指导,并非插件注册:它不会提供 api 对象或任务启动工具。
这些示例要求 Gateway 主机上安装 Node,并使用合成且已分类的数据。它们会路由每个项目、暂停等待审批,然后返回路由结果。它们不会读取邮件、发送消息、修改 PR 或启动分离的子任务。以下路径假设 Gateway 工作目录是仓库根目录;否则请使用示例文件的绝对路径。
{
"action": "run",
"pipeline": "skills/taskflow/examples/inbox-triage.lobster",
"flowControllerId": "lobster/inbox-triage",
"flowGoal": "Review synthetic inbox routing",
"maxStdoutBytes": 8192
}
对于 PR 接收处理,请改用 skills/taskflow/examples/pr-intake.lobster 和控制器 lobster/pr-intake。其意图包括 close、request_changes、refactor 和 maintainer_review;不会执行任何 GitHub 操作。
批准并恢复
读取工具结果的 details(也会呈现为 JSON 文本)。其中直接包含 status、requiresApproval、flow 和 mutation,并非嵌套在 envelope 中。
- 对于未取消的结果,要求
mutation.applied === true。否则报告其code并停止;仅工作流成功并不能证明流程更新已持久化。 - 对于
needs_approval,向用户展示requiresApproval.prompt和items,然后等待用户决定。 - 在同一个负责人会话中,构建一个单独的
action: "resume"调用,其中flowId取自mutation.flow.flowId,flowExpectedRevision取自mutation.flow.revision,并将approve设为用户的决定。若省略token和approvalId,工具会检索已保存的检查点。如果提供了它们,则必须与该检查点匹配。恢复时保留maxStdoutBytes: 8192。
使用变更后的版本号,而不是较早的顶层 flow.revision。仅当用户拒绝时才设置 approve: false。用户批准后,检查新的 mutation.applied 和流程状态;取消时,检查 mutation.cancelled。报告错误、被拒绝的变更和待处理的取消,不要声称已完成。发生版本冲突时,不要盲目重试副作用:应先重新加载并协调状态。
协调子 Agent
对于研究/审查并行任务、实现/验证交接、重启后协调,或可选的共享工作区认领,请阅读 子 Agent 工作流。选择适合请求的配方;小型委派无需 Workboard 或第二个流程。配方使用现有工具及其当前回执,而非单独的调度器。
完成目标
关联的子任务达到终止状态并不意味着受管理流程已完成。将其结果与流程目标进行比较,安排范围内的下一步,并仅在验证目标的验收条件后调用 finish(...)。
对于终止结果型工作流,请在 stateJson 中持久化明确的验收状态。例如,PR 合并流程在审查和 CI 期间应保持运行或等待状态,只有托管服务报告 PR 已合并后才能结束。
持久化状态不是调度器
TaskFlow 记录会持久化到 SQLite 中。控制器必须重新加载最新记录并显式恢复;任意 JavaScript 和正在执行的工作都不会重放。Lobster 审批暂停不会监听 Slack 回复。持久化状态应仅包含有界的 ID、路由摘要和游标,而非完整消息或历史记录。
插件作者使用 api.runtime.tasks.managedFlows;flows 和 runs 提供按所有者范围限定的查找。runTask 用于关联已经启动且具有权威性的 ACP/子 Agent 执行,且所有者和规范的运行/会话 ID 必须匹配;它不会启动执行。不得臆造 ID、时间戳或底层记录。请参阅插件启动/关联契约和 Task Flow。
有关收件箱路由和真实适配器要求,请阅读 skills/taskflow-inbox-triage/SKILL.md。有关工具设置,请参阅 Lobster。