ccg-workflow 2.1.15 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +120 -270
  2. package/README.zh-CN.md +119 -269
  3. package/dist/cli.mjs +1 -1
  4. package/dist/index.mjs +1 -1
  5. package/dist/shared/{ccg-workflow.C2MaYeHU.mjs → ccg-workflow.81OoN8XX.mjs} +629 -297
  6. package/package.json +6 -30
  7. package/templates/commands/go.md +199 -0
  8. package/templates/commands-legacy/team.md +475 -0
  9. package/templates/engine/model-router.md +117 -0
  10. package/templates/engine/phase-guide.md +95 -0
  11. package/templates/engine/strategies/debug-investigate.md +156 -0
  12. package/templates/engine/strategies/deep-research.md +141 -0
  13. package/templates/engine/strategies/direct-fix.md +108 -0
  14. package/templates/engine/strategies/full-collaborate.md +291 -0
  15. package/templates/engine/strategies/git-action.md +43 -0
  16. package/templates/engine/strategies/guided-develop.md +208 -0
  17. package/templates/engine/strategies/optimize-measure.md +103 -0
  18. package/templates/engine/strategies/quick-implement.md +96 -0
  19. package/templates/engine/strategies/refactor-safely.md +157 -0
  20. package/templates/engine/strategies/review-audit.md +116 -0
  21. package/templates/hooks/session-start.js +100 -0
  22. package/templates/hooks/skill-router.js +144 -0
  23. package/templates/hooks/subagent-context.js +118 -0
  24. package/templates/hooks/task-utils.js +113 -0
  25. package/templates/hooks/workflow-state.js +39 -0
  26. package/templates/spec/backend/index.md +31 -0
  27. package/templates/spec/frontend/index.md +31 -0
  28. package/templates/spec/guides/index.md +30 -0
  29. /package/templates/{commands → commands-legacy}/analyze.md +0 -0
  30. /package/templates/{commands → commands-legacy}/backend.md +0 -0
  31. /package/templates/{commands → commands-legacy}/codex-exec.md +0 -0
  32. /package/templates/{commands → commands-legacy}/debug.md +0 -0
  33. /package/templates/{commands → commands-legacy}/enhance.md +0 -0
  34. /package/templates/{commands → commands-legacy}/execute.md +0 -0
  35. /package/templates/{commands → commands-legacy}/feat.md +0 -0
  36. /package/templates/{commands → commands-legacy}/frontend.md +0 -0
  37. /package/templates/{commands → commands-legacy}/optimize.md +0 -0
  38. /package/templates/{commands → commands-legacy}/plan.md +0 -0
  39. /package/templates/{commands → commands-legacy}/review.md +0 -0
  40. /package/templates/{commands → commands-legacy}/team-exec.md +0 -0
  41. /package/templates/{commands → commands-legacy}/team-plan.md +0 -0
  42. /package/templates/{commands → commands-legacy}/team-research.md +0 -0
  43. /package/templates/{commands → commands-legacy}/team-review.md +0 -0
  44. /package/templates/{commands → commands-legacy}/test.md +0 -0
  45. /package/templates/{commands → commands-legacy}/workflow.md +0 -0
@@ -0,0 +1,43 @@
1
+ # Strategy: Git Action — Git 操作
2
+
3
+ > 适用于 Git 相关操作。委托给现有的专用命令,不重复实现。
4
+
5
+ ## 适用条件
6
+ - 用户请求 commit / rollback / branch 管理 / worktree 等 Git 操作
7
+ - 任何复杂度级别
8
+
9
+ ---
10
+
11
+ ## 路由表
12
+
13
+ 根据用户请求中的关键词,加载对应的现有命令文件并按其指令执行:
14
+
15
+ | 关键词 | 命令文件 | 说明 |
16
+ |--------|---------|------|
17
+ | commit, 提交 | `~/.claude/commands/ccg/commit.md` | 智能提交(conventional commit) |
18
+ | rollback, 回滚, revert, undo | `~/.claude/commands/ccg/rollback.md` | 交互式回滚 |
19
+ | clean branch, 清理分支 | `~/.claude/commands/ccg/clean-branches.md` | 清理已合并分支 |
20
+ | worktree | `~/.claude/commands/ccg/worktree.md` | Worktree 管理 |
21
+
22
+ ## 执行方式
23
+
24
+ 1. 匹配关键词确定目标命令
25
+ 2. `Read("目标命令文件路径")` 加载完整指令
26
+ 3. 将用户的 `$ARGUMENTS` 作为该命令的输入
27
+ 4. 严格按照命令文件的指令执行
28
+
29
+ ## 未匹配的 Git 操作
30
+
31
+ 如果用户的 Git 请求不匹配上述任何命令(如 `push`, `merge`, `cherry-pick`, `stash` 等):
32
+ - Claude 直接处理
33
+ - 遵循 Git 安全原则:
34
+ - 破坏性操作(force push, reset --hard)前必须确认
35
+ - 不自动 push 到远程(除非用户明确要求)
36
+ - 优先创建新 commit 而非 amend
37
+
38
+ ---
39
+
40
+ ## 铁律
41
+
42
+ - **不重复实现** — 现有命令已经过充分测试,直接委托
43
+ - **保持一致性** — 用户通过 `/ccg commit` 和 `/ccg:commit` 应得到相同结果
@@ -0,0 +1,208 @@
1
+ # Strategy: Guided Develop — 引导式开发
2
+
3
+ > 适用于中等复杂度的功能开发。可选调用外部模型进行领域分析。
4
+
5
+ ## 适用条件
6
+ - 复杂度 M(2-5 文件,单模块)
7
+ - 需要一定规划但不需要完整的多模型协作
8
+ - 风险 low 或 medium
9
+
10
+ ---
11
+
12
+ ## 工作流状态机
13
+
14
+ [phase-state:1-requirements]
15
+ 当前阶段:需求增强
16
+ 📍 Next: 需求结构化后进入上下文检索
17
+ [/phase-state:1-requirements]
18
+
19
+ [phase-state:2-context]
20
+ 当前阶段:上下文检索
21
+ Gate: 需求已增强 ✓
22
+ 📍 Next: 上下文收集完毕后判断是否需要外部模型分析
23
+ [/phase-state:2-context]
24
+
25
+ [phase-state:3-analysis]
26
+ 当前阶段:领域分析(可选外部模型)
27
+ Gate: 上下文已收集 ✓
28
+ 📍 Next: 分析完成后进入规划阶段
29
+ [/phase-state:3-analysis]
30
+
31
+ [phase-state:4-plan]
32
+ 当前阶段:规划
33
+ Gate: 分析已完成 ✓
34
+ 📍 Next: 用户确认计划后进入实施
35
+ [/phase-state:4-plan]
36
+
37
+ [phase-state:5-implement]
38
+ 当前阶段:实施
39
+ Gate: 用户已确认计划 ✓(HARD STOP)
40
+ 📍 Next: 实施完成后进入验证
41
+ [/phase-state:5-implement]
42
+
43
+ [phase-state:6-verify]
44
+ 当前阶段:验证
45
+ Gate: 实施已完成 ✓
46
+ 📍 Next: 验证通过后报告结果
47
+ [/phase-state:6-verify]
48
+
49
+ ---
50
+
51
+ ## 阶段详情
52
+
53
+ ### Phase 1: 需求增强 [required]
54
+
55
+ 分析用户的 $ARGUMENTS,补全为结构化需求:
56
+ - **目标**:要实现什么
57
+ - **约束**:不能改什么、需要兼容什么
58
+ - **范围**:哪些文件/模块会受影响
59
+ - **验收标准**:怎样算完成
60
+
61
+ 展示增强后的需求,用户确认或调整。
62
+
63
+ ### Phase 2: 上下文检索 [required]
64
+
65
+ 1. 用 MCP 搜索工具搜索相关代码
66
+ 2. 读取目标模块的核心文件
67
+ 3. 识别依赖关系和可能的影响范围
68
+ 4. 了解现有的测试覆盖情况
69
+
70
+ ### Phase 3: 多模型分析 [required]
71
+
72
+ **Gate check**: 需求已增强 ✓ 上下文已收集 ✓
73
+
74
+ **M 复杂度必须调用外部模型进行分析。** 不可跳过。
75
+
76
+ 执行步骤:
77
+
78
+ 1. 确定工作目录:`WORKDIR=$(pwd)`
79
+ 2. 根据领域选择模型:
80
+ - 后端任务 → backend 模型(codex)+ analyzer 角色
81
+ - 前端任务 → frontend 模型(gemini)+ analyzer 角色
82
+ - 全栈任务 → 双模型并行
83
+
84
+ 3. **调用 codeagent-wrapper**(必须实际执行,不是读文件):
85
+
86
+ ```
87
+ Bash({
88
+ command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend codex {{GEMINI_MODEL_FLAG}}- \"$WORKDIR\" <<'CODEAGENT_EOF'\nROLE_FILE: ~/.claude/.ccg/prompts/codex/analyzer.md\n<TASK>\n需求:{增强后的需求}\n上下文:{Phase 2 收集的项目上下文、相关代码摘要}\n</TASK>\nOUTPUT: 技术分析报告(可行性、架构建议、风险评估、实施方案对比)\nCODEAGENT_EOF",
89
+ run_in_background: true,
90
+ timeout: 3600000,
91
+ description: "Backend 模型分析"
92
+ })
93
+ ```
94
+
95
+ 如果是全栈任务,同时启动 frontend 模型:
96
+ ```
97
+ Bash({
98
+ command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend gemini {{GEMINI_MODEL_FLAG}}- \"$WORKDIR\" <<'CODEAGENT_EOF'\nROLE_FILE: ~/.claude/.ccg/prompts/gemini/analyzer.md\n<TASK>\n需求:{增强后的需求}\n上下文:{Phase 2 收集的项目上下文}\n</TASK>\nOUTPUT: 前端/UX 视角分析报告\nCODEAGENT_EOF",
99
+ run_in_background: true,
100
+ timeout: 3600000,
101
+ description: "Frontend 模型分析"
102
+ })
103
+ ```
104
+
105
+ 4. **等待结果**(必须等,不可跳过):
106
+ ```
107
+ TaskOutput({ task_id: "<id>", block: true, timeout: 600000 })
108
+ ```
109
+
110
+ 5. 综合模型分析结果,提取关键建议用于 Phase 4 规划
111
+
112
+ **Task 更新**:`currentPhase → "3-analysis"`, `nextAction → "等待模型分析返回"`
113
+
114
+ ### Phase 4: 规划 [required]
115
+
116
+ 撰写实施计划,输出格式:
117
+
118
+ ```
119
+ 📋 实施计划
120
+
121
+ ## 需求
122
+ [增强后的需求摘要]
123
+
124
+ ## 方案
125
+ [选定方案及理由]
126
+
127
+ ## 步骤
128
+ 1. [文件路径] — [具体变更]
129
+ 2. [文件路径] — [具体变更]
130
+ ...
131
+
132
+ ## 影响范围
133
+ - 修改: [文件列表]
134
+ - 新增: [文件列表](如有)
135
+ - 测试: [需要更新/新增的测试]
136
+ ```
137
+
138
+ 将计划持久化到 `.ccg/tasks/{task-name}/plan.md`。
139
+
140
+ **Task 更新**:
141
+ ```
142
+ 更新 .ccg/tasks/{task-name}/task.json:
143
+ currentPhase → "4-plan"
144
+ gate → "user_approval_required"
145
+ nextAction → "等待用户审批计划"
146
+ ```
147
+
148
+ **⛔ HARD STOP**:展示计划,等待用户确认后才能进入 Phase 5。
149
+
150
+ 用户确认后:
151
+ ```
152
+ 更新 task.json: gate → null, currentPhase → "5-implement"
153
+ ```
154
+
155
+ ### Phase 5: 实施
156
+
157
+ 1. 严格按计划执行
158
+ 2. 遵循项目现有代码规范
159
+ 3. 每完成一个主要步骤,简要报告进度
160
+ 4. 遇到计划外的问题时告知用户,不自行扩大范围
161
+
162
+ **Task 更新**:`currentPhase → "5-implement"`, `nextAction → "按计划执行实施"`
163
+
164
+ ### Phase 6: 验证 + 双模型审查 + 质量关卡
165
+
166
+ 1. `git diff` 展示所有变更
167
+ 2. 运行测试(如果有)
168
+
169
+ **⛔ 双模型交叉审查(变更 >30 行时必须执行):**
170
+ 3. 并行调用双模型(`run_in_background: true`,使用 model-router.md 模板):
171
+ - backend 模型 + reviewer 角色 — 安全、性能、错误处理
172
+ - frontend 模型 + reviewer 角色 — 设计一致性(如涉及前端)
173
+ 4. 综合审查意见
174
+
175
+ **⛔ 质量关卡(变更 >30 行时必须逐个调用 Skill,不可跳过):**
176
+ 5. 调用 Skill `verify-quality` — 等待报告
177
+ 6. 调用 Skill `verify-security` — 等待报告(涉及 auth/input/crypto 时)
178
+ 7. 调用 Skill `verify-change` — 等待报告
179
+ 8. Critical 问题必须修复
180
+ 4. 检查是否满足验收标准
181
+ 5. 输出结果:
182
+ ```
183
+ ✅ 开发完成
184
+ 变更: [N] 文件,[M] 行
185
+ 实现: [摘要]
186
+ 测试: [通过/跳过/失败情况]
187
+ 质量: [Critical: N, Warning: N, Info: N]
188
+ 📍 Next: 可以用 /ccg:commit 提交
189
+ ```
190
+
191
+ **Task 更新**:`status → "completed"`, `nextAction → "可用 /ccg:commit 提交"`
192
+
193
+ ---
194
+
195
+ ## 升级规则
196
+
197
+ - 发现涉及 5+ 文件或需要跨模块协调 → 升级到 `full-collaborate`
198
+ - 发现涉及架构级变更 → 升级到 `full-collaborate`
199
+ - 外部模型分析发现重大风险 → 升级到 `full-collaborate`
200
+
201
+ ---
202
+
203
+ ## 铁律
204
+
205
+ - **Phase 4 计划必须用户确认** — HARD STOP,不可自动跳过
206
+ - **外部模型仅提供建议** — Claude 执行所有文件修改
207
+ - **不扩大范围** — 只做计划内的变更,计划外的报告但不自行处理
208
+ - **增量实施** — 多文件变更时逐文件执行,便于追踪
@@ -0,0 +1,103 @@
1
+ # Strategy: Optimize Measure — 度量驱动优化
2
+
3
+ > 适用于性能优化,强调先度量后优化。
4
+
5
+ ## 适用条件
6
+ - 用户报告性能问题或要求优化
7
+ - 任何复杂度级别
8
+ - 需要数据驱动的优化决策
9
+
10
+ ## 前置加载(M+ 复杂度时)
11
+
12
+ ```
13
+ Read("~/.claude/.ccg/engine/model-router.md")
14
+ ```
15
+
16
+ ---
17
+
18
+ ## 工作流状态机
19
+
20
+ [phase-state:1-baseline]
21
+ 当前阶段:性能基线度量
22
+ 📍 Next: 基线建立后进入分析
23
+ [/phase-state:1-baseline]
24
+
25
+ [phase-state:2-analyze]
26
+ 当前阶段:瓶颈分析
27
+ Gate: 基线已建立 ✓
28
+ 📍 Next: 瓶颈识别后进入优化
29
+ [/phase-state:2-analyze]
30
+
31
+ [phase-state:3-optimize]
32
+ 当前阶段:针对性优化
33
+ Gate: 瓶颈已识别 ✓
34
+ 📍 Next: 优化完成后重新度量
35
+ [/phase-state:3-optimize]
36
+
37
+ [phase-state:4-measure]
38
+ 当前阶段:优化后度量
39
+ Gate: 优化已应用 ✓
40
+ 📍 Next: 对比基线验证效果
41
+ [/phase-state:4-measure]
42
+
43
+ ---
44
+
45
+ ## 阶段详情
46
+
47
+ ### Phase 1: 性能基线 [required]
48
+
49
+ 1. 确定度量指标:
50
+ - 响应时间?吞吐量?内存使用?包大小?加载时间?
51
+ 2. 运行基线测试:
52
+ - `time` 命令 / benchmark / profiler
53
+ - 记录具体数值
54
+ 3. 输出基线:
55
+ ```
56
+ 📊 性能基线
57
+ 指标: [指标名] = [当前值]
58
+ 测试方式: [如何测量的]
59
+ 目标: [用户期望值,如有]
60
+ ```
61
+
62
+ ### Phase 2: 瓶颈分析
63
+
64
+ 1. 分析代码找出瓶颈
65
+ 2. 对于 M+ 复杂度,可选调用外部模型:
66
+ - backend 模型: optimizer 角色 — 服务端/算法优化建议
67
+ - frontend 模型: optimizer 角色 — 前端/加载优化建议
68
+ 3. 按影响大小排序瓶颈:
69
+ ```
70
+ 🔍 瓶颈分析
71
+ 1. [位置] — 预估影响: [高/中/低] — [原因]
72
+ 2. [位置] — 预估影响: [高/中/低] — [原因]
73
+ ```
74
+
75
+ ### Phase 3: 针对性优化
76
+
77
+ **一次优化一个瓶颈**(便于验证每个优化的效果):
78
+ 1. 应用优化
79
+ 2. 简要说明做了什么
80
+ 3. 如果涉及算法变更,确保正确性
81
+
82
+ ### Phase 4: 优化后度量 [required]
83
+
84
+ 1. 使用与 Phase 1 **完全相同的方式**重新度量
85
+ 2. 对比基线:
86
+ ```
87
+ 📊 优化效果
88
+ 指标: [指标名]
89
+ 基线: [优化前值]
90
+ 优化后: [优化后值]
91
+ 提升: [百分比或绝对值]
92
+ 📍 Next: 如需继续优化下一个瓶颈,继续 Phase 2-4 循环
93
+ ```
94
+ 3. 如果效果不明显 → 回退优化,尝试下一个瓶颈
95
+
96
+ ---
97
+
98
+ ## 铁律
99
+
100
+ - **不可在没有基线的情况下优化** — Phase 1 不可跳过
101
+ - **优化前后必须有数据对比** — Phase 4 不可跳过
102
+ - **一次只优化一个瓶颈** — 便于归因效果
103
+ - **效果不明显必须回退** — 不可保留无效的"优化"
@@ -0,0 +1,96 @@
1
+ # Strategy: Quick Implement — 快速实现
2
+
3
+ > 适用于范围清晰的小功能开发。Claude 独立完成,不调用外部模型。
4
+
5
+ ## 适用条件
6
+ - 复杂度 S(单文件/单组件,<30 行变更)
7
+ - 需求明确,无需架构决策
8
+ - 风险 low
9
+
10
+ ---
11
+
12
+ ## 工作流状态机
13
+
14
+ [phase-state:1-context]
15
+ 当前阶段:上下文收集
16
+ 📍 Next: 了解现有代码模式后进入计划阶段
17
+ [/phase-state:1-context]
18
+
19
+ [phase-state:2-plan]
20
+ 当前阶段:简要计划
21
+ Gate: 上下文已收集 ✓
22
+ 📍 Next: 用户确认计划后进入实施阶段
23
+ [/phase-state:2-plan]
24
+
25
+ [phase-state:3-implement]
26
+ 当前阶段:实施
27
+ Gate: 用户已确认计划 ✓
28
+ 📍 Next: 实施完成后进入验证阶段
29
+ [/phase-state:3-implement]
30
+
31
+ [phase-state:4-verify]
32
+ 当前阶段:验证
33
+ Gate: 实施已完成 ✓
34
+ 📍 Next: 验证通过后报告结果
35
+ [/phase-state:4-verify]
36
+
37
+ ---
38
+
39
+ ## 阶段详情
40
+
41
+ ### Phase 1: 上下文收集 [required]
42
+
43
+ 1. 用 MCP 搜索工具或 Grep 搜索与需求相关的现有代码
44
+ 2. 读取目标文件,理解:
45
+ - 现有代码模式和规范
46
+ - 相关的类型定义/接口
47
+ - 已有的类似实现(可复用的模式)
48
+
49
+ ### Phase 2: 简要计划 [required]
50
+
51
+ 输出 3-5 步实施计划,简洁明了:
52
+
53
+ ```
54
+ 📝 实施计划
55
+ 1. [具体步骤]
56
+ 2. [具体步骤]
57
+ 3. [具体步骤]
58
+ 预计变更: [N] 文件
59
+ ```
60
+
61
+ 等待用户确认或调整。
62
+
63
+ ### Phase 3: 实施
64
+
65
+ 1. 按计划逐步执行
66
+ 2. 遵循项目现有的代码规范和命名约定
67
+ 3. 不引入新的依赖(除非计划中已说明)
68
+
69
+ ### Phase 4: 验证
70
+
71
+ 1. `git diff` 展示变更
72
+ 2. 如果项目有测试 → 运行相关测试
73
+ 3. **质量快检**(变更 >30 行时):`/verify-quality` 检测代码质量
74
+ 4. 如果涉及认证/输入处理/加密 → `/verify-security` 安全扫描
75
+ 5. 输出结果:
76
+ ```
77
+ ✅ 实现完成
78
+ 变更: [N] 文件,[M] 行
79
+ 新增: [描述]
80
+ 📍 Next: 可以用 /ccg:commit 提交
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 升级规则
86
+
87
+ - 涉及 3+ 文件或需要架构决策 → 升级到 `guided-develop`
88
+ - 涉及认证/数据库等高风险领域 → 升级到 `guided-develop`
89
+
90
+ ---
91
+
92
+ ## 铁律
93
+
94
+ - **不可跳过 Phase 2 计划步骤** — 即使"很简单"也要列出步骤
95
+ - **不引入未计划的变更** — 只做用户要求的,不"顺手"改其他东西
96
+ - **遵循现有规范** — 新代码必须与现有代码风格一致
@@ -0,0 +1,157 @@
1
+ # Strategy: Refactor Safely — 安全重构
2
+
3
+ > 适用于代码重构,强调增量执行和测试保护。
4
+
5
+ ## 适用条件
6
+ - 复杂度 M 或以上
7
+ - 重构、整理、提取、简化类任务
8
+ - 需要保证行为不变
9
+
10
+ ## 前置加载(L/XL 复杂度时)
11
+
12
+ ```
13
+ Read("~/.claude/.ccg/engine/model-router.md")
14
+ ```
15
+
16
+ ---
17
+
18
+ ## 工作流状态机
19
+
20
+ [phase-state:1-understand]
21
+ 当前阶段:理解现有代码
22
+ 📍 Next: 映射完依赖关系后建立测试基线
23
+ [/phase-state:1-understand]
24
+
25
+ [phase-state:2-baseline]
26
+ 当前阶段:建立基线
27
+ Gate: 代码已理解 ✓
28
+ 📍 Next: 基线建立后进入规划
29
+ [/phase-state:2-baseline]
30
+
31
+ [phase-state:3-plan]
32
+ 当前阶段:规划重构步骤
33
+ Gate: 测试基线已建立 ✓
34
+ 📍 Next: 计划确认后逐步执行
35
+ [/phase-state:3-plan]
36
+
37
+ [phase-state:4-execute]
38
+ 当前阶段:增量执行
39
+ Gate: 用户已确认计划 ✓
40
+ 📍 Next: 每步执行后验证测试通过
41
+ [/phase-state:4-execute]
42
+
43
+ [phase-state:5-verify]
44
+ 当前阶段:最终验证
45
+ Gate: 所有步骤已执行 ✓
46
+ 📍 Next: 全部测试通过后报告结果
47
+ [/phase-state:5-verify]
48
+
49
+ ---
50
+
51
+ ## 阶段详情
52
+
53
+ ### Phase 1: 理解 [required]
54
+
55
+ **Task 更新**:`currentPhase → "1-understand"`, `nextAction → "读取代码,映射依赖"`
56
+
57
+ 1. 读取所有涉及重构的文件
58
+ 2. 映射依赖关系(谁调用了这些代码?谁被这些代码调用?)
59
+ 3. 识别公共 API / 接口边界(这些不能轻易改变)
60
+ 4. 记录当前行为特征
61
+
62
+ ### Phase 2: 建立基线 [required]
63
+
64
+ 1. 运行现有测试:`pnpm test` / `go test` / `pytest` 等
65
+ 2. 记录测试结果作为基线
66
+ 3. 如果没有相关测试 → 告知用户,建议但不强制先补测试
67
+ 4. 输出基线状态:
68
+ ```
69
+ 📊 测试基线
70
+ 通过: [N] 个
71
+ 失败: [M] 个(已有的,非重构引入)
72
+ 覆盖: [相关模块的测试覆盖情况]
73
+ ```
74
+
75
+ ### Phase 3: 规划
76
+
77
+ 制定增量重构计划,每一步应该能独立通过测试:
78
+
79
+ ```
80
+ 📋 重构计划
81
+
82
+ ## 目标
83
+ [重构目标和预期效果]
84
+
85
+ ## 步骤(每步独立可验证)
86
+ 1. [步骤描述] — 影响文件: [...]
87
+ 2. [步骤描述] — 影响文件: [...]
88
+ ...
89
+
90
+ ## 不变量
91
+ - [不应该改变的行为/接口]
92
+ ```
93
+
94
+ 对于 L/XL 任务,可选调用外部模型做架构审查。
95
+
96
+ 展示计划,等待用户确认。
97
+
98
+ ### Phase 4: 增量执行
99
+
100
+ **Task 更新**:`currentPhase → "4-execute"`, `nextAction → "逐步执行重构"`
101
+
102
+ **逐步执行**,每步之后:
103
+ 1. 应用变更
104
+ 2. 运行测试
105
+ 3. 如果测试通过 → 继续下一步
106
+ 4. 如果测试失败 → **立即停止**,分析原因,修复或回退
107
+
108
+ 每步报告:
109
+ ```
110
+ Step [N/M]: [描述] — ✅ 测试通过 / ❌ 测试失败
111
+ ```
112
+
113
+ ### Phase 5: 最终验证 + 双模型审查 + 质量关卡
114
+
115
+ 1. 运行完整测试套件
116
+ 2. 对比基线:确保不引入新的失败
117
+
118
+ **⛔ 双模型交叉审查(必须执行,使用 model-router.md 调用模板):**
119
+
120
+ 3. 获取变更:`git diff` 全量输出
121
+ 4. 并行调用双模型审查(`run_in_background: true`):
122
+ - backend 模型 + reviewer 角色 — 关注安全、性能、错误处理、行为一致性
123
+ - frontend 模型 + reviewer 角色 — 关注可访问性、设计一致性(如涉及前端)
124
+ 5. 等待双模型结果,综合审查意见
125
+
126
+ **⛔ 质量关卡(必须逐个调用 Skill,不可跳过,不可用自己的判断替代):**
127
+
128
+ 6. 调用 Skill `verify-quality` — 等待报告
129
+ 7. 调用 Skill `verify-security` — 等待报告
130
+ 8. 调用 Skill `verify-change` — 等待报告
131
+
132
+ **综合报告**:双模型审查 + 质量关卡,按严重度分级:
133
+ - Critical → 必须修复后重新验证
134
+ - Warning → 建议修复
135
+ - Info → 供参考
136
+
137
+ 9. `git diff` 展示全部变更
138
+ 5. 输出结果:
139
+ ```
140
+ ✅ 重构完成
141
+ 步骤: [N] 步全部通过
142
+ 变更: [文件数] 文件,[行数] 行
143
+ 测试: 基线 [N] 通过 → 重构后 [N] 通过
144
+ 质量: [Critical: N, Warning: N, Info: N]
145
+ 📍 Next: /ccg:commit 提交
146
+ ```
147
+
148
+ **Task 更新**:`status → "completed"`, `nextAction → "可用 /ccg:commit 提交"`
149
+
150
+ ---
151
+
152
+ ## 铁律
153
+
154
+ - **不可一次性大改** — 必须拆分为增量步骤
155
+ - **每步必须验证测试** — 测试失败立即停止
156
+ - **保持行为不变** — 除非重构目标明确包含行为变更
157
+ - **不扩大范围** — 只重构用户指定的范围