先把需求理解到足以安全实施,再在正确边界写最小但清晰的代码,用有效反馈证明它工作,最后让文档反映事实、让项目规则只沉淀长期经验。
| 理解 | 确认 | 实施 | 证明 |
|---|---|---|---|
| 先读项目规则、权威文档、代码和测试 | 只澄清影响验收的未决行为,输出最终检查点 | 复用正确的领域能力,在所属模块完成最小改动 | 用风险匹配的测试与新鲜证据验证,并同步事实 |
Engineering Flow 解决三个 Coding Agent 中反复出现的问题:
- 流程强度失衡: 简单任务直接处理;完整工作流只在用户显式选择时加载。
- 多轮任务中断: 回答、批准、纠正和补漏保持同一任务上下文,不必重复调用入口。
- 澄清与授权混淆: 独立问题批量询问,依赖问题顺序追问;回答问题不等于批准编码。
| 工作流 | 交付结果 | Codex 调用 |
|---|---|---|
| Develop | 对齐需求,等待批准,再实现、测试并同步文档 | $engineering-flow:develop |
| Diagnose | 复现并定位根因,获得授权后修复和回归验证 | $engineering-flow:diagnose |
| Code Design | 创建或完善可实施方案,不写生产代码 | $engineering-flow:code-design |
| Review | 对 diff、分支或未提交改动进行严格只读评审 | $engineering-flow:review |
| Handoff | 保存下一会话继续所需的最小任务状态 | $engineering-flow:handoff |
Claude Code 使用相同名称,将 $engineering-flow: 替换为 /engineering-flow:。
显式调用选择的是整个任务的处理方式,而不是只约束当前消息:
发现与澄清 ──► 最终检查点 ──► 等待批准 ──► 实施与验证 ──► 完成
▲ │ │
└────── 新范围只确认增量 ─────────────┘ │
原验收遗漏直接恢复实施 ◄───────┘
- “按上述方案执行”可以在最终检查点后批准实施;“已阅读”和澄清答案不能。
- 用户否定诊断时,Diagnose 保持只读并验证新假设;授权修复后无需切换 Develop。
- 明确取消、切换工作流或开始无关任务时,旧工作流与旧授权结束。
| 关注点 | 默认决策 |
|---|---|
| 需求 | 用户决定产品行为;Agent 自主处理可从仓库发现的可逆实现细节 |
| 代码 | 复用应共同演进的领域规则;不因代码相似而投机抽象 |
| 测试 | 回归和高风险行为优先先红后绿;机械改动使用更直接的验证 |
| 安全 | Review 严格只读;提交、发布、全局配置和破坏性操作不继承开发授权 |
| 文档 | 小需求在对话确认;大需求遵循项目约定,没有约定时使用 docs/requirements/ |
codex plugin marketplace add yyqqCoding/engineering-flow-skills
codex plugin add engineering-flow@engineering-flow/plugin marketplace add yyqqCoding/engineering-flow-skills
/plugin install engineering-flow@engineering-flow
安装后开启新会话。清晰的小任务直接描述;需要完整开发流程时显式调用:
$engineering-flow:develop
实现订单批量导出。先检查现有设计、代码边界和验收行为;完成澄清后给出最终检查点并暂停。不要提交。
阅读确认内容后回复:
按上述方案执行。
| 使用 | 设计 | 证据 |
|---|---|---|
| 用户指南 | 产品设计 | 基准记录 |
| 触发模型 | 行为规范 | 测试策略 |
Engineering Flow 聚焦 Coding Agent 的工作流、上下文、多轮交互和可靠性评测,不是通用 Agent Runtime,也不接管项目的 Issue、分支、提交和发布流程。
项目采用 MIT License。相关项目归属见 THIRD_PARTY_NOTICES.md。