动态工作流模式 是做什么的?
当编码代理能够生成或调整任务级脚手架,而不仅仅遵循静态命令流时,请使用此技能。目标是将动态工作流模式转变为一个规范的体系:临时脚手架用于一次性工作,共享技能提取用于重复性工作,以及为团队提供可观测的控制面板检查点。
何时激活
- 用户提及动态工作流、自定义脚手架、按任务分配脚手架、自适应工作流或Claude Code动态工作流模式。
- 任务需要自定义循环、评估器、爬虫、夹具生成器、监视器或本地仪表板。
- 多个代理需要相同的可重复流程,但该流程尚未被捕获为共享技能。
- 工作流需要持久的交接工件、评估证据或操作员批准才能合并。
核心契约
只有在脚手架比手动驱动相同步骤更便宜、更安全时,动态工作流模式才应生成任务级脚手架。脚手架必须包含:
- 目标:它负责的结果以及它明确不负责的结果。
- 输入:文件、URL、提示、数据源、凭据策略和用户提供的约束。
- 输出:提交、报告、截图、状态文件或控制面板快照。
- 评估:至少一个与任务相关的通过/失败检查,不仅仅是“它运行了”。
- 交接:一个简短工件,告知下一个操作者发生了什么、什么被阻塞以及如何恢复。
动态脚手架决策树
- 一次性任务:保持内联。不要发明脚手架。
- 带有变化输入的重复任务:创建任务级脚手架,并将其保留在临时或项目本地的工作区下。
- 跨团队成员或仓库的重复任务:将模式提取为共享技能。
- 涉及外部状态、队列或审批的任务:在添加更多自动化之前,增加控制面板可见性。
- 具有安全风险的任务:在自主执行之前,添加评估关卡和人工合并关卡。
任务级脚手架模板
在编写代码之前使用此结构:
# 动态工作流脚手架
目标:
- 交付:
- 不交付:
输入:
- 仓库或工作区:
- 外部系统:
- 凭据策略:
循环:
1. 发现当前状态。
2. 生成或更新最小的有用工件。
3. 运行评估检查。
4. 记录状态和交接。
5. 在关卡失败、所有权不明确或外部操作不安全时停止。
评估:
- 命令:
- 预期通过信号:
- 失败负责人:
交接:
- 状态:
- 证据:
- 下一步操作:
共享技能提取
仅当以下至少两个条件成立时,才将任务级脚手架提升为共享技能:
- 相同的工作流出现在多个会话、仓库、团队或启动中。
- 工作流需要特定的语言、工具或安全排序。
- 由于操作者跳过关卡或丢失上下文,重复出现失败。
- 工作流具有稳定的输入/输出契约。
- 工作流受益于控制面板、状态板或团队交接。
提取时,首先在skills/<name>/SKILL.md中编写技能。仅当仍然需要传统的斜杠入口表面时,才添加命令适配器。
控制面板检查点
当动态工作流模式暴露状态时,它才能被团队使用。只要任务跨越多个会话,就记录这些检查点:
- 计划:目标、负责人、验收标准和风险外部系统。
- 队列:工作项、分配的代理角色、分支/工作树和依赖关系边。
- 运行:活动脚手架、当前循环步骤、最近评估结果以及可用时的令牌/成本信号。
- 关卡:测试结果、浏览器截图、安全审查和合并准备状态。
- 交接:已完成的内容、失败的内容以及需要人类决策的内容。
如果仓库启用了ECC2状态,则优先通过ECC控制面板或状态存储支持的脚本添加或读取检查点,而不是散布未跟踪的笔记。
评估关卡
每个动态脚手架都需要一个任务特定的评估。选择最便宜的可靠关卡:
| 工作类型 | 评估关卡 |
|---|---|
| 代码功能 | 重点测试、lint、覆盖率和一个集成路径 |
| UI/控制面板 | 带截图和溢出/错误检查的浏览器冒烟测试 |
| 代理工作流 | 夹具记录或带有预期路由的种子工作项 |
| 研究/内容 | 来源中立摘要、声明检查表和可发布的大纲 |
| 集成 | 空运行命令、配置验证和无密钥扫描 |
在评估可以被另一个团队成员重新运行之前,不要声称动态工作流是可重用的。
反模式
- 生成向操作者隐藏真实决策逻辑的脚本。
- 将动态工作流模式视为跳过测试的许可。
- 在共享技能或状态工件是真正产品时创建一次性文档。
- 在没有所有权、合并关卡或冲突策略的情况下运行多个代理。
- 让原始私有研究数据泄露到公共文档中。
输出标准
最后完成:
- 脚手架或技能路径。
- 评估命令和结果。
- 控制面板或交接工件路径。
- 下一个可复用的提取候选。