关于 re0-workflow
re0-workflow 会将明确表达的意图转化为有序的已安装技能图,并执行获授权的步骤。它会先展示完整计划,处理人工交接,并报告执行结果与停止位置。
主要功能
- 01按明确意图选择技能
- 02依据前置条件排列步骤
- 03执行前展示带类型的技能图
- 04等待审批或人工交接
- 05跟踪输出并报告运行状态
适用场景
- 01规划包含多项技能的任务
- 02按顺序执行获授权的步骤
- 03暂停以等待人工决策或操作
- 04根据交接结果恢复运行
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lilmgenius/ paperthin --skill re0-workflow安装后在 Claude Code 中输入/re0-workflow确认已加载。
附带文件agents/openai.yaml
详细介绍
将一项明确的意图转化为有序的技能图,展示它,并运行会话有权运行的步骤。
目标
即使不了解此套件目录的人,也能说出自己想做什么,并看到任务完成。选择并排列能满足人类所述意图的已安装技能,在运行任何内容前展示顺序,运行会话有权执行的每个步骤;遇到第一个需要人类参与的步骤时停止,并报告已运行的内容。
工作流
-
阅读人类所述意图,以及主机目录或技能目录中的已安装技能清单。如果只提供了实时状态而没有说明意图,则询问意图,不要自行推断。阅读每个候选技能的契约和调用方式:
disable-model-invocation: true表示仅限用户调用;否则由模型调用。 -
仅选择触发条件和输出符合该意图的技能。若某个冻结流水线(即其自身契约会按固定顺序运行其他技能的技能)已经能满足该意图,则将其视为一个节点,绝不展开;阅读其成员技能仅用于确定其类型,因此,只要任一成员会写入内容,该节点就计为会写入内容;只要任一成员仅限用户调用,该节点就属于
user-handoff。如果没有合适的技能,则展示零个步骤并说明原因;如果一个技能就足够,则恰好使用一个节点,并说明排序没有实际意义。若意图或所选契约要求的技能不在技能清单中,则将其保留为一个skip步骤;如果某个所选步骤需要其输出,运行将在未满足停止条件的情况下结束,绝不能将其默默跳过。不要为图填充多余步骤,不要强制加入引导技能,不要编造流水线技能,也不要用其他技能替代缺失的技能。 -
根据各步骤契约中的前置条件排序:若某步骤的触发前提需要另一技能的输出,则该步骤依赖另一技能。展示图之前检测循环;如果存在循环,整个结果都应为
reject,并指出循环,例如skill-a -> skill-b -> skill-a,不包含步骤,也不提供部分排序。为图指定一个可观察的停止条件,即表示意图已满足的状态;零个步骤或reject均以各自的报告结束。 -
为每个步骤指定标识符、目标(执行操作的技能,或由人类作出的决策问题,且没有技能可以处理)、前置步骤标识符、且仅有一种类型、触发前提、仅限目标自身契约范围的预期输出、可跳过条件以及成本承担方。按照下表中第一个适用的条件确定步骤类型,因此,缺失的仅限用户调用技能属于
skip。如果契约未说明技能是否会写入内容,则按会写入内容处理;如果无法读取其调用方式,则按仅限用户调用处理。若某步骤的类型取决于前置步骤的输出,则将其显示为有条件的,并列出可能的类型;该输出出现后再确定其类型。类型 含义和前提条件 成本承担方 skip不运行此步骤,图继续执行:条件不适用、技能未安装,或在场任何人都无法授予所需权限。依赖此步骤的步骤也会跳过,原因相同。 无。 user-handoff由人类执行:目标仅限用户调用、步骤具有破坏性或不可逆、需要人类作出决策,或任务需要人类持有而会话不具备的权限。 人类自行决定投入的时间。 invoke-model-skill由路由器运行:以上各行均不适用,因此目标已安装且可由模型调用,会话已持有执行任务所需的权限,并且步骤不具有破坏性或不可逆性。 本次运行的预算。 reject非步骤:请求无法作为图处理时的整个结果;若存在循环,则指出循环。 无。 -
对于每个
user-handoff,说明人类要做什么,以及需要带回什么结果:对于技能,说明他们要输入的确切调用命令,使用宿主的语法和已安装的名称(即使某个由模型调用的技能会执行破坏性步骤,也仍由人类输入调用命令);对于决策,说明问题以及会改变下一步的答案。如果不知道宿主的调用语法,就先询问,不要自行编造。 -
在任何步骤运行之前,按顺序展示完整的有向图、每个步骤的所有字段、每个步骤安排在相应位置的原因,以及停止条件;若第 5 步无法确定某个宿主调用语法,请在此处询问。如果人类只要求排列顺序,就在此处停止。如果图中任何位置(无论是在交接之前还是之后)有
invoke-model-skill步骤会写入文件、记录或产物,则现在一次性询问是否批准所展示的计划。该批准接受计划及其所示的所有写入,在恢复执行时继续有效,直到计划发生变化;它不会赋予某个步骤原本不具备的权限,因此绝不会将user-handoff变成运行步骤。如果没有任何步骤会写入内容,则展示计划后立即运行。如果人类修改计划,则重新排列顺序,再次检查循环,并在运行前重新展示计划。 -
按顺序运行。对于每个
invoke-model-skill步骤,针对该步骤的目标调用 Skill 工具一次,并传入意图及其前置步骤的输出。在开始下一步之前,检查该步骤的预期输出:文件或记录是否存在,或技能自己的报告是否说明了结果。如果某个步骤失败,就在该处停止;如果其输出不满足后续步骤的前置条件,就在该处停止,或将后续步骤标记为skip并说明原因。绝不要改用其他技能重试。 -
在第一个
user-handoff处停止。停止报告是恢复执行时读取的状态:报告中应包含所展示的有向图、是否已获批准、每个已运行步骤及其结果、交接事项和需要带回的内容,以及仍在等待的步骤。人类在同一对话中带回结果后,新的调用会读取该报告,并根据交接步骤的预期输出检查结果:匹配时,该结果成为该步骤的输出,并在相同批准下从下一步继续运行;结果发生变化或失败时,则从该步骤重新规划,并在运行前展示新图。如果无法获取报告,则从第 1 步重新开始。 -
结束时展示所示的有向图、每个步骤的结果(已运行及其结果、已跳过及其原因、已交接,或因停止而仍在等待),并说明是否达到停止条件,或在哪个命名步骤(交接或失败)提前停止。如果某个已跳过或缺失步骤的输出是停止条件所必需的,则说明运行结束时尚未满足停止条件。
规则
- 绝不选择
re0-workflow本身或其别名paperthin作为步骤;该别名只会转发到此处,因此选择任意一个都会造成循环。 - 路由器本身不会写入任何内容;所有写入都由运行步骤所调用的技能在其自身约定范围内完成。
- 破坏性或不可逆操作包括删除、强制推送、发布、打标签、向他人发送消息或花钱。此类步骤必须是
user-handoff,即使其技能由模型调用也不例外。 - 绝不运行仅供用户使用的技能,也绝不为了让执行顺序可运行而省略已安装的技能;此类技能仍须保留在图中,并标记为
user-handoff。路由器无法运行的步骤必须是user-handoff或skip,不能只是未说明的建议;跳过绝不算成功。 nba根据实时状态选择一个下一步操作,不运行任何内容;本技能则针对一个明确说明的意图,为有向图排列顺序并运行该图。sip负责处理针对新变更输出的固定条件图;当它符合意图时,应将其作为一个节点选择,绝不要复现其内部步骤。
验证
在运行第一步之前,以及最终报告之前,再次确认:
- 已从每个所选目标自身的契约中读取其触发条件、输出、安装方式、调用路径和权限。
- 每个步骤都包含所有字段,且恰好有一种类型;图中只有一个可观察的停止条件,并且循环已被拒绝,同时列出整个循环。
- 每个已安装的、仅供用户使用的、具有破坏性的或决策类步骤,都是一个
user-handoff,并附有准确的调用方式或问题,以及需要带回的内容,绝不使用invoke-model-skill。 - 在任何操作运行之前,已展示图,并且在某个待运行步骤会写入内容时,只请求一次批准。
- 在开始下一步之前,已检查每个运行步骤的预期输出;运行在第一个
user-handoff处停止。 - 报告列出了每个步骤的结果,并说明是否达到停止条件,或运行在哪个步骤提前停止。