implementation-workflow · git:20260924.4f0fdb9 · 2026-09-24 · sha256 311231421e420078

implementation-workflow git:20260924.4f0fdb9A

Immutable. This exact content never changes and is served at /api/v1/blob/311231421e420078.

---
name: implementation-workflow
description: 实施编排工作流。当用户要求实现功能、修复 Bug、重构代码、补充测试、拆分开发任务、并行编码或按质量门完成开发时使用。负责评估任务、拆分依赖、调度 implementer,并按风险选择性调用 diff-reviewer 和两个审计 agent(complexity-auditor、mutation-auditor)。
user-invocable: true
---

# 实施编排工作流

## 目标

把编码任务安全推进到可验证完成:

```text
理解 → 评估 → 拆分 → 判断并行/串行 → 派发 implementer
→ 集成 → 统一验证 → 按风险审计 → 汇总
```

你负责**编排和决策**。不要把工作机械地交给子 agent,也不要为了并行而并行。

## 何时使用

**使用本工作流**:多模块/多目录改动、前后端或多服务协同、新增接口或数据模型、复杂重构、多个独立可并行的交付物、用户明确要求并行或质量审计。

**不要使用**:文档、注释、简单配置、单文件低风险修复、机械版本号调整、小范围测试补充。
这些由主 Agent 直接完成,或只派发一个 `implementer`。

## 四个质量角色

| Agent / Skill | 职责 | 边界 |
|---|---|---|
| `implementer` | 阅读代码、修改实现、编写测试、运行局部验证 | 只改任务范围内文件 |
| `diff-review` + `diff-reviewer` | Correctness / Standards / Spec 三轴代码评审 | **只报告,不改码;不依赖宿主内置 review** |
| `complexity-auditor` | 复杂度与覆盖率风险审计 | **只报告,不改码** |
| `mutation-auditor` | 突变测试与测试有效性审计 | **只报告,不改码** |

职责细节由各自 agent 和 skill 承载,本工作流只负责编排。

## 执行流程

### 1. 理解任务

读取项目指令文件(`AGENTS.md`、`CLAUDE.md`)、需求或 Spec、相关代码与测试、构建与测试命令、当前 git 状态。

输出简短任务理解:目标、涉及模块、约束、验收标准、暂不处理的范围。

**关键歧义先向用户确认**,不要把歧义扩散给多个子 agent。

若大型改动的主要阻力来自模块边界尚不清楚,可建议用户**开工前**单独运行 `architecture-scout`;等待候选被选定、设计获确认后再拆实施任务。不要在每次实施后自动进行全仓架构扫描。

### 2. 评估规模与风险

| 规模 | 特征 | 执行方式 |
|---|---|---|
| small | 单文件或单模块 | 主 Agent 或 1 个 implementer |
| medium | 多文件、单一模块 | 1 个 implementer,按需审计 |
| large | 多模块、跨端、多交付物 | 拆分后并行 implementer |

风险看**行为影响**而非改动行数。权限、状态机、金额、规则引擎、核心数据流属于高风险。

### 3. 拆分任务

每个子任务写成一个自包含任务卡,格式见 `references/task-card-template.md`。

拆分原则:

- 一个任务一个可验收结果
- 同一文件只由一个并行任务负责
- 共享接口、数据模型、公共类型先确定,再并行实现使用方
- 按业务结果切分,不按目录机械切分

细节见 `references/task-decomposition.md`。

### 4. 判断并行还是串行

**只有同时满足**以下条件才并行:无未解决依赖、不修改同一文件、不共享冲突状态、各有独立验收标准、并行收益大于调度与集成成本。

无法确认是否安全时**默认串行**。

判断规则与反例见 `references/parallel-execution.md`。

### 5. 派发 implementer

每个任务卡必须包含:目标、已确认的设计约束、允许修改范围、禁止修改范围、验收标准、验证命令、返回格式。

并行派发时保留任务编号,等全部返回后再进入集成。子 agent 不得自行改写任务边界。

**若运行环境没有可用的 `implementer` 子 agent,由主 Agent 串行执行同一任务卡,不要假装已完成委派。**

### 6. 集成检查

并行任务返回后,主 Agent 亲自检查:

1. 改动是否落在声明范围内
2. 是否有同文件冲突或互相覆盖
3. 公共接口、命名、错误处理是否一致
4. 是否遗漏任务之间的集成代码
5. 测试是否覆盖真实集成路径
6. 子 agent 报告的验证是否实际执行且结果可信

**子 agent 的「已完成」不等于整体已完成。**

### 7. 统一验证

按项目实际工具运行单元测试、集成测试、Lint、类型检查、构建,必要时端到端测试。

记录实际执行的命令与结果。失败优先修复,不绕过、不伪造。

失败归属判断:子任务内部错误 → 重新派发原 implementer;集成冲突 → 主 Agent 修复;测试或环境问题 → 标记为环境阻塞。

### 8. 选择性质量审计

**不要每次都运行全部审计角色**,按风险选择。集成检查和统一验证通过后,再按下表决定是否调用 `diff-review`、`complexity-auditor` 和 `mutation-auditor`。

| 变更类型 | diff-review | complexity-auditor | mutation-auditor |
|---|---|---|---|
| 文档 / 配置 / 样式 | 按需:检查契约、约定是否一致 | 跳过 | 跳过 |
| 简单字段 / 小修复 | 通常跳过 | 跳过 | 跳过 |
| 普通业务逻辑 | 建议运行 | 视复杂度 | 通常跳过 |
| 复杂逻辑 / 大型重构 | 建议运行 | 建议运行 | 视测试情况 |
| 权限 / 状态机 / 金额 / 规则 | 建议运行 | 建议运行 | 有工具时建议运行 |
| 公共 API / 跨模块契约变更 | 建议运行 | 视复杂度 | 视测试情况 |
| 测试专项 | 按需 | 可选 | 有工具时优先运行 |

**跳过不是遗漏**:每个未调用的审计角色,在最终报告里说明跳过原因。工具缺失、没有可靠基线或找不到 spec 时如实降级,不得为了跑完流程安装工具、伪造 finding 或把“未验证”说成“通过”。

完整调用与跳过条件见 `references/quality-gates.md`。评审和审计角色只报告,修复由 `implementer` 执行;修复后重新运行相关验证,但**不要求反复评审直到零 finding**。

### 9. 汇总

报告包含:任务拆分与完成状态、执行方式(串行/并行)、修改内容、实际验证命令与结果、三个质量角色的运行/跳过/降级结论、未解决问题与环境阻塞。

## 核心原则

1. **并行不是默认行为** —— 只有独立任务才并行。
2. **任务必须有边界** —— 没有文件范围和验收标准,不派发并行任务。
3. **主 Agent 负责集成** —— 委派完成不等于任务完成。
4. **审计按风险调用** —— 不为了流程完整运行昂贵工具。
5. **不为了并行而拆分** —— 调度与集成成本高于收益时直接执行。

## References

- `references/task-decomposition.md` —— 拆分方法、依赖识别、文件边界
- `references/parallel-execution.md` —— 并行条件、必须串行的场景、集成清单
- `references/quality-gates.md` —— 三个审计角色的调用与跳过条件
- `references/task-card-template.md` —— 子任务卡模板
- `skills/diff-review/SKILL.md` —— 三轴代码评审入口