标准开发流
这个 skill 用于把通用开发任务拆成稳定的交付阶段,并通过统一 CLI runtime protocol mode 协调不同实体。
默认阶段
- 规划:使用
dev-planner收敛目标、边界、风险和验证点。 - 实现:使用
dev-implementer完成代码与测试改动。 - 评审:使用
dev-reviewer检查回归风险、行为变化和测试缺口。 - 验证:使用
dev-verifier执行相关命令并整理证据。
调度原则
- 先规划,再进入实现,不要跳过
dev-planner。 - 实现完成后再进行评审和验证,这两个步骤可以并行。
- 如果目标不清、上下文缺失或计划失效,回退到规划阶段。
- 每个子任务都要求输出结论、证据、风险和建议下一步。
CLI Protocol 使用
- 使用当前 CLI 入口对应的
<cli> run --input-format stream-json --output-format stream-json作为标准入口,向 stdin 写入 typed runtime protocol envelope,并从 stdout 或 runtime store 读取结果。例如上层入口是dyai时使用dyai run,上层入口是ow时使用ow run。 - 用
session.startprotocol command 启动实体任务,字段至少包含entity、title、message。 - 用
session.status/session.eventsprotocol command,或直接读取 runtime store 投影出的状态与事件,跟踪后台任务状态。 - 用
session.messageprotocol command 给同一条任务补充指令;已完成或失败的任务会在 runtime 支持时用同一会话直接恢复。 - 用
session.submitprotocol command 处理等待输入或审批的任务。 - 必要时用
session.stopprotocol command 停止明显跑偏的任务,只有 graceful stop 无法恢复时才设置mode为force。 - 不要使用专用 agent 子命令、旧 StartTasks、手写 DB 或临时 TS 脚本来创建子任务;Agent Room 会在 server-managed host session 下由
session.start的 runtime store metadata/events 自动投影生成。 - server-managed host session 会把当前 adapter、model、effort、permission mode 注入为 runtime protocol 默认值;不写这些字段表示继承 host 选择,只有子任务需要不同运行配置时才显式指定。
- 专用 agent start/status/events/send/submit/stop 子命令只可视为兼容或调试 alias,不作为标准工作流入口。
可复制启动示例
每个子任务写一条 session.start JSONL;多个子任务就写多行:
cat <<'JSONL' | <cli> run --input-format stream-json --output-format stream-json
{"commandId":"start-planner","type":"session.start","payload":{"title":"规划:<目标>","message":"写清楚目标、约束、已有上下文和交付预期。","entity":"dev-planner","background":true},"title":"规划:<目标>","message":"写清楚目标、约束、已有上下文和交付预期。","entity":"dev-planner","background":true}
{"commandId":"start-implementer","type":"session.start","payload":{"title":"实现:<目标>","message":"附上规划结论、影响范围、需要补的测试或验证。","entity":"dev-implementer","background":true},"title":"实现:<目标>","message":"附上规划结论、影响范围、需要补的测试或验证。","entity":"dev-implementer","background":true}
JSONL
保留 payload.title、payload.message、payload.entity、payload.background: true;当前 CLI runtime protocol reader 同时消费镜像的顶层字段,所以示例保留两份字段以便直接执行。
命名约定
- 如果插件配置了 scope,请使用实体路由里展示的实际标识,例如
scope/dev-planner。 - 如果没有配置 scope,直接使用
dev-planner、dev-implementer、dev-reviewer、dev-verifier。
推荐任务模板
规划任务
--entity:dev-planner或 scoped 标识--title:规划:<目标>--message: 写清楚目标、约束、已有上下文和交付预期
实现任务
--entity:dev-implementer或 scoped 标识--title:实现:<目标>--message: 附上规划结论、影响范围、需要补的测试或验证
评审任务
--entity:dev-reviewer或 scoped 标识--title:评审:<目标>--message: 要求按问题严重度输出主要发现
验证任务
--entity:dev-verifier或 scoped 标识--title:验证:<目标>--message: 列出建议执行的命令、预期结果和阻塞处理方式