ccg-ros2-workflow 2.2.2 → 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 (186) hide show
  1. package/README.md +211 -96
  2. package/README.zh-CN.md +256 -0
  3. package/dist/cli.mjs +15 -15
  4. package/dist/index.d.mts +59 -36
  5. package/dist/index.d.ts +59 -36
  6. package/dist/index.mjs +4 -4
  7. package/dist/shared/ccg-ros2-workflow.Bhm8c7P1.mjs +5154 -0
  8. package/package.json +31 -12
  9. package/templates/codex/AGENTS.md +348 -0
  10. package/templates/codex/agents/ccg-implement.toml +73 -0
  11. package/templates/codex/agents/ccg-research.toml +73 -0
  12. package/templates/codex/agents/ccg-review.toml +82 -0
  13. package/templates/codex/config.toml +21 -0
  14. package/templates/codex/hooks/ccg-workflow.py +253 -0
  15. package/templates/codex/hooks.json +15 -0
  16. package/templates/commands/agents/planner.md +97 -122
  17. package/templates/commands/agents/system-integrator.md +2 -2
  18. package/templates/commands/agents/team-architect.md +97 -0
  19. package/templates/commands/agents/team-qa.md +121 -0
  20. package/templates/commands/agents/team-reviewer.md +112 -0
  21. package/templates/commands/commit.md +30 -1
  22. package/templates/commands/context.md +332 -0
  23. package/templates/commands/go.md +206 -0
  24. package/templates/commands/init.md +1 -1
  25. package/templates/commands/spec-impl.md +41 -21
  26. package/templates/commands/spec-init.md +21 -27
  27. package/templates/commands/spec-plan.md +54 -21
  28. package/templates/commands/spec-research.md +78 -26
  29. package/templates/commands/spec-review.md +20 -16
  30. package/templates/{commands → commands-legacy}/analyze.md +1 -1
  31. package/templates/commands-legacy/backend.md +224 -0
  32. package/templates/commands-legacy/codex-exec.md +411 -0
  33. package/templates/{commands → commands-legacy}/debug.md +1 -1
  34. package/templates/commands-legacy/enhance.md +55 -0
  35. package/templates/{commands → commands-legacy}/feat.md +2 -2
  36. package/templates/commands-legacy/frontend.md +213 -0
  37. package/templates/{commands → commands-legacy}/optimize.md +1 -1
  38. package/templates/{commands → commands-legacy}/plan.md +1 -15
  39. package/templates/{commands → commands-legacy}/team-plan.md +1 -1
  40. package/templates/commands-legacy/team.md +475 -0
  41. package/templates/{commands → commands-legacy}/test.md +1 -1
  42. package/templates/commands-legacy/workflow.md +283 -0
  43. package/templates/engine/model-router.md +123 -0
  44. package/templates/engine/phase-guide.md +207 -0
  45. package/templates/engine/strategies/debug-investigate.md +169 -0
  46. package/templates/engine/strategies/deep-research.md +141 -0
  47. package/templates/engine/strategies/direct-fix.md +108 -0
  48. package/templates/engine/strategies/full-collaborate.md +389 -0
  49. package/templates/engine/strategies/git-action.md +43 -0
  50. package/templates/engine/strategies/guided-develop.md +282 -0
  51. package/templates/engine/strategies/optimize-measure.md +103 -0
  52. package/templates/engine/strategies/quick-implement.md +96 -0
  53. package/templates/engine/strategies/refactor-safely.md +180 -0
  54. package/templates/engine/strategies/review-audit.md +123 -0
  55. package/templates/hooks/session-start.js +100 -0
  56. package/templates/hooks/skill-router.js +144 -0
  57. package/templates/hooks/subagent-context.js +161 -0
  58. package/templates/hooks/task-utils.js +190 -0
  59. package/templates/hooks/workflow-state.js +55 -0
  60. package/templates/output-styles/abyss-command.md +56 -0
  61. package/templates/output-styles/abyss-concise.md +89 -0
  62. package/templates/output-styles/abyss-ritual.md +70 -0
  63. package/templates/output-styles/engineer-professional.md +20 -3
  64. package/templates/output-styles/laowang-engineer.md +2 -2
  65. package/templates/prompts/antigravity/analyzer.md +59 -0
  66. package/templates/prompts/antigravity/architect.md +55 -0
  67. package/templates/prompts/antigravity/builder.md +52 -0
  68. package/templates/prompts/antigravity/debugger.md +48 -0
  69. package/templates/prompts/antigravity/frontend.md +50 -0
  70. package/templates/prompts/antigravity/optimizer.md +40 -0
  71. package/templates/prompts/antigravity/reviewer.md +67 -0
  72. package/templates/prompts/antigravity/tester.md +39 -0
  73. package/templates/prompts/claude/debugger.md +1 -1
  74. package/templates/prompts/claude/reviewer.md +1 -1
  75. package/templates/prompts/codex/analyzer.md +8 -0
  76. package/templates/prompts/codex/architect.md +9 -1
  77. package/templates/prompts/codex/builder.md +61 -0
  78. package/templates/prompts/codex/debugger.md +9 -1
  79. package/templates/prompts/codex/optimizer.md +7 -0
  80. package/templates/prompts/codex/reviewer.md +7 -0
  81. package/templates/prompts/codex/tester.md +8 -1
  82. package/templates/prompts/gemini/analyzer.md +11 -3
  83. package/templates/prompts/gemini/architect.md +10 -2
  84. package/templates/prompts/gemini/debugger.md +8 -0
  85. package/templates/prompts/gemini/frontend.md +10 -2
  86. package/templates/prompts/gemini/optimizer.md +9 -2
  87. package/templates/prompts/gemini/reviewer.md +7 -0
  88. package/templates/prompts/gemini/tester.md +8 -1
  89. package/templates/rules/ccg-skill-routing.md +91 -0
  90. package/templates/rules/ccg-skills.md +65 -0
  91. package/templates/skills/SKILL.md +92 -0
  92. package/templates/skills/domains/ai/SKILL.md +34 -0
  93. package/templates/skills/domains/ai/agent-dev.md +242 -0
  94. package/templates/skills/domains/ai/llm-security.md +288 -0
  95. package/templates/skills/domains/ai/prompt-and-eval.md +279 -0
  96. package/templates/skills/domains/ai/rag-system.md +542 -0
  97. package/templates/skills/domains/architecture/SKILL.md +42 -0
  98. package/templates/skills/domains/architecture/api-design.md +225 -0
  99. package/templates/skills/domains/architecture/caching.md +299 -0
  100. package/templates/skills/domains/architecture/cloud-native.md +285 -0
  101. package/templates/skills/domains/architecture/message-queue.md +329 -0
  102. package/templates/skills/domains/architecture/security-arch.md +297 -0
  103. package/templates/skills/domains/data-engineering/SKILL.md +207 -0
  104. package/templates/skills/domains/development/SKILL.md +46 -0
  105. package/templates/skills/domains/development/cpp.md +369 -0
  106. package/templates/skills/domains/development/go.md +323 -0
  107. package/templates/skills/domains/development/java.md +277 -0
  108. package/templates/skills/domains/development/python.md +487 -0
  109. package/templates/skills/domains/development/rust.md +313 -0
  110. package/templates/skills/domains/development/shell.md +313 -0
  111. package/templates/skills/domains/development/typescript.md +277 -0
  112. package/templates/skills/domains/devops/SKILL.md +39 -0
  113. package/templates/skills/domains/devops/cost-optimization.md +272 -0
  114. package/templates/skills/domains/devops/database.md +217 -0
  115. package/templates/skills/domains/devops/devsecops.md +198 -0
  116. package/templates/skills/domains/devops/git-workflow.md +181 -0
  117. package/templates/skills/domains/devops/observability.md +280 -0
  118. package/templates/skills/domains/devops/performance.md +336 -0
  119. package/templates/skills/domains/devops/testing.md +283 -0
  120. package/templates/skills/domains/infrastructure/SKILL.md +200 -0
  121. package/templates/skills/domains/mobile/SKILL.md +224 -0
  122. package/templates/skills/domains/orchestration/SKILL.md +29 -0
  123. package/templates/skills/domains/orchestration/multi-agent.md +263 -0
  124. package/templates/skills/domains/ros2-control/SKILL.md +206 -0
  125. package/templates/skills/domains/ros2-hardware/SKILL.md +277 -0
  126. package/templates/skills/domains/ros2-manipulation/SKILL.md +237 -0
  127. package/templates/skills/domains/ros2-navigation/SKILL.md +196 -0
  128. package/templates/skills/domains/ros2-perception/SKILL.md +166 -0
  129. package/templates/skills/domains/ros2-upper-app/SKILL.md +50 -0
  130. package/templates/skills/domains/ros2-upper-app/launch-files.md +224 -0
  131. package/templates/skills/domains/ros2-upper-app/parameters.md +192 -0
  132. package/templates/skills/domains/ros2-upper-app/python-nodes.md +249 -0
  133. package/templates/skills/domains/ros2-upper-app/rviz-config.md +158 -0
  134. package/templates/skills/domains/ros2-upper-app/simulation.md +225 -0
  135. package/templates/skills/domains/security/SKILL.md +72 -0
  136. package/templates/skills/domains/security/blue-team.md +436 -0
  137. package/templates/skills/domains/security/code-audit.md +265 -0
  138. package/templates/skills/domains/security/pentest.md +226 -0
  139. package/templates/skills/domains/security/red-team.md +374 -0
  140. package/templates/skills/domains/security/threat-intel.md +372 -0
  141. package/templates/skills/domains/security/vuln-research.md +369 -0
  142. package/templates/skills/orchestration/multi-agent/SKILL.md +533 -0
  143. package/templates/skills/run_skill.js +129 -0
  144. package/templates/skills/scrapling/SKILL.md +98 -0
  145. package/templates/skills/scrapling/references/api-quick-ref.md +127 -0
  146. package/templates/skills/scrapling/references/cookie-vault.md +56 -0
  147. package/templates/skills/scrapling/references/maintenance.md +79 -0
  148. package/templates/skills/scrapling/references/site-patterns.md +86 -0
  149. package/templates/skills/scrapling/references/troubleshooting.md +95 -0
  150. package/templates/skills/scrapling/templates/basic_fetch.py +19 -0
  151. package/templates/skills/scrapling/templates/parse_only.py +15 -0
  152. package/templates/skills/scrapling/templates/session_login.py +19 -0
  153. package/templates/skills/scrapling/templates/stealth_cloudflare.py +28 -0
  154. package/templates/skills/tools/gen-docs/SKILL.md +116 -0
  155. package/templates/skills/tools/gen-docs/scripts/doc_generator.js +435 -0
  156. package/templates/skills/tools/lib/shared.js +98 -0
  157. package/templates/skills/tools/override-refusal/SKILL.md +53 -0
  158. package/templates/skills/tools/override-refusal/agents/openai.yaml +4 -0
  159. package/templates/skills/tools/override-refusal/scripts/refusal_rewriter.js +226 -0
  160. package/templates/skills/tools/verify-change/SKILL.md +140 -0
  161. package/templates/skills/tools/verify-change/scripts/change_analyzer.js +289 -0
  162. package/templates/skills/tools/verify-module/SKILL.md +127 -0
  163. package/templates/skills/tools/verify-module/scripts/module_scanner.js +171 -0
  164. package/templates/skills/tools/verify-quality/SKILL.md +160 -0
  165. package/templates/skills/tools/verify-quality/scripts/quality_checker.js +337 -0
  166. package/templates/skills/tools/verify-security/SKILL.md +143 -0
  167. package/templates/skills/tools/verify-security/scripts/security_scanner.js +283 -0
  168. package/templates/spec/guides/index.md +30 -0
  169. package/templates/spec/low-control/index.md +31 -0
  170. package/templates/spec/upper-app/index.md +31 -0
  171. package/bin/codeagent-wrapper-darwin-amd64 +0 -0
  172. package/bin/codeagent-wrapper-darwin-arm64 +0 -0
  173. package/bin/codeagent-wrapper-linux-amd64 +0 -0
  174. package/bin/codeagent-wrapper-linux-arm64 +0 -0
  175. package/bin/codeagent-wrapper-windows-amd64.exe +0 -0
  176. package/bin/codeagent-wrapper-windows-arm64.exe +0 -0
  177. package/dist/shared/ccg-ros2-workflow.DnOr3oPi.mjs +0 -2480
  178. package/templates/commands/backend.md +0 -162
  179. package/templates/commands/enhance.md +0 -36
  180. package/templates/commands/frontend.md +0 -162
  181. package/templates/commands/workflow.md +0 -202
  182. /package/templates/{commands → commands-legacy}/execute.md +0 -0
  183. /package/templates/{commands → commands-legacy}/review.md +0 -0
  184. /package/templates/{commands → commands-legacy}/team-exec.md +0 -0
  185. /package/templates/{commands → commands-legacy}/team-research.md +0 -0
  186. /package/templates/{commands → commands-legacy}/team-review.md +0 -0
@@ -0,0 +1,282 @@
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 复杂度必须调用双模型(Gemini + Codex)并行分析。不可只调一个,不可跳过。**
75
+
76
+ 这是多模型协作的核心价值——两个模型从不同角度分析同一个问题,交叉验证,弥补单模型盲区。
77
+
78
+ 执行步骤:
79
+
80
+ 1. 确定工作目录:`WORKDIR=$(pwd)`
81
+
82
+ 2. **并行调用双模型**(`run_in_background: true`,两个同时启动):
83
+
84
+ Low-level Control 模型:
85
+ ```
86
+ Bash({
87
+ command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend {{BACKEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}- \"$WORKDIR\" <<'CODEAGENT_EOF'\nROLE_FILE: ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/analyzer.md\n<TASK>\n需求:{增强后的需求}\n上下文:{Phase 2 收集的项目上下文、相关代码摘要}\n</TASK>\nOUTPUT: 技术分析报告(可行性、架构建议、风险评估、实施方案对比)\nCODEAGENT_EOF",
88
+ run_in_background: true,
89
+ timeout: 3600000,
90
+ description: "Low-level Control 模型分析"
91
+ })
92
+ ```
93
+
94
+ Upper-layer Application 模型(**必须同时启动,不是"如果是全栈才调"**):
95
+ ```
96
+ Bash({
97
+ command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend {{FRONTEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}- \"$WORKDIR\" <<'CODEAGENT_EOF'\nROLE_FILE: ~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/analyzer.md\n<TASK>\n需求:{增强后的需求}\n上下文:{Phase 2 收集的项目上下文}\n</TASK>\nOUTPUT: 从不同视角的分析报告(可行性、设计建议、风险评估)\nCODEAGENT_EOF",
98
+ run_in_background: true,
99
+ timeout: 3600000,
100
+ description: "Upper-layer Application 模型分析"
101
+ })
102
+ ```
103
+
104
+ 4. **等待结果**(必须等,不可跳过):
105
+ ```
106
+ TaskOutput({ task_id: "<id>", block: true, timeout: 600000 })
107
+ ```
108
+
109
+ 5. 综合模型分析结果,提取关键建议用于 Phase 4 规划
110
+
111
+ **Task 更新**:`currentPhase → "3-analysis"`, `nextAction → "等待模型分析返回"`
112
+
113
+ ### Phase 4: 规划 [required]
114
+
115
+ 撰写实施计划,输出格式:
116
+
117
+ ```
118
+ 📋 实施计划
119
+
120
+ ## 需求
121
+ [增强后的需求摘要]
122
+
123
+ ## 方案
124
+ [选定方案及理由]
125
+
126
+ ## 步骤
127
+ 1. [文件路径] — [具体变更]
128
+ 2. [文件路径] — [具体变更]
129
+ ...
130
+
131
+ ## 影响范围
132
+ - 修改: [文件列表]
133
+ - 新增: [文件列表](如有)
134
+ - 测试: [需要更新/新增的测试]
135
+ ```
136
+
137
+ 将计划持久化到 `.ccg/tasks/{task-name}/plan.md`。
138
+
139
+ **Task 更新**:
140
+ ```
141
+ 更新 .ccg/tasks/{task-name}/task.json:
142
+ currentPhase → "4-plan"
143
+ gate → "user_approval_required"
144
+ nextAction → "等待用户审批计划"
145
+ ```
146
+
147
+ **⛔⛔⛔ HARD STOP — 你必须在这里停下来,向用户展示以下选项并等待回复。不可跳过,不可默认选择。⛔⛔⛔**
148
+
149
+ 你现在必须输出以下内容(原样输出,不是代码块示例):
150
+
151
+ ---
152
+ ⛔ **计划审批 + 执行模式选择**
153
+
154
+ 请审批以上计划,并选择谁来写代码:
155
+ 1. **Claude 自己写** — 精细控制,逐步实施
156
+ 2. **Codex / Antigravity** — 外部模型写代码,更快,Claude 监控审查
157
+
158
+ 请回复 1 或 2(或直接说"你来写"/"用codex"等)。
159
+ ---
160
+
161
+ **在用户回复之前,你不可以执行任何文件写入操作。** 违反 = 流程失控。
162
+
163
+ 用户确认后:
164
+ ```
165
+ 更新 task.json: gate → null, currentPhase → "5-implement"
166
+ ```
167
+
168
+ ### Phase 5: 实施
169
+
170
+ 根据用户选择的执行模式:
171
+
172
+ #### 模式 A: Claude 自己写(用户选 [1])
173
+
174
+ 1. 严格按计划执行
175
+ 2. 遵循项目现有代码规范
176
+ 3. 每完成一个主要步骤,简要报告进度
177
+ 4. 遇到计划外的问题时告知用户,不自行扩大范围
178
+
179
+ #### 模式 B: 外部模型实施(用户选 [2])
180
+
181
+ Claude 作为编排者,调用外部模型(Codex / Antigravity)写代码。
182
+
183
+ **Step 1**: 从 plan.md 按文件归属拆分子任务:
184
+ - **Layer 1** — 无依赖的任务(底层模块:model/util/store)
185
+ - **Layer 2** — 依赖 Layer 1 的任务(上层:route/middleware/component)
186
+ - 每个子任务标注:文件范围、实施步骤、验证命令
187
+
188
+ **Step 2**: 生成并行任务配置,调用 codeagent-wrapper `--parallel` 模式:
189
+
190
+ ```
191
+ Bash({
192
+ command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --parallel --backend {{BACKEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}- \"$WORKDIR\" <<'PARALLEL_EOF'\n---TASK---\nid: layer1-{name1}\nworkdir: $WORKDIR\n---CONTENT---\nROLE_FILE: ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/builder.md\n<TASK>\n## 文件范围(⛔ 只改这些文件)\n{file1, file2}\n\n## 实施步骤\n{steps from plan.md}\n</TASK>\n---TASK---\nid: layer1-{name2}\nworkdir: $WORKDIR\n---CONTENT---\nROLE_FILE: ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/builder.md\n<TASK>\n## 文件范围\n{file3, file4}\n\n## 实施步骤\n{steps}\n</TASK>\n---TASK---\nid: layer2-{name3}\nworkdir: $WORKDIR\ndependencies: layer1-{name1},layer1-{name2}\n---CONTENT---\nROLE_FILE: ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/builder.md\n<TASK>\n## 文件范围\n{file5}\n\n## 实施步骤\n{steps}\n</TASK>\nPARALLEL_EOF",
193
+ run_in_background: true,
194
+ timeout: 3600000,
195
+ description: "Parallel Builder: {task count} 个子任务"
196
+ })
197
+ ```
198
+
199
+ **也可以用 Codex 原生 spawn 模式**(如果项目 `.codex/` 已配置 multi_agent_v2):
200
+ - 发送编排指令让 Codex 读 AGENTS.md 的 §5 "Parallel Spawn" 模式
201
+ - Codex 自行 spawn ccg-implement 子代理并行写
202
+
203
+ **Step 3**: 等待完成,读取汇总报告
204
+
205
+ **Step 4**: Claude 审查 `git diff`,确认变更在 plan 范围内
206
+ - 小问题 Claude 直接修复
207
+ - 大问题再调外部模型或切换模式 A
208
+
209
+ **降级**:外部模型失败/超时 → 切换到模式 A
210
+
211
+ **Task 更新**:`currentPhase → "5-implement"`, `nextAction → "按计划执行实施"`
212
+
213
+ ### Phase 6: 迭代审查 [Ralph Loop]
214
+
215
+ 1. `git diff` 展示所有变更
216
+ 2. 运行测试(如果有)
217
+
218
+ 参考 `phase-guide.md § 10 Ralph Loop` 执行迭代审查(变更 >30 行时,最多 3 轮)。
219
+
220
+ #### Round N 流程
221
+
222
+ **⛔ 双模型交叉审查(每轮 spawn 新调用,干净上下文):**
223
+ 3. 并行调用双模型(`run_in_background: true`,使用 model-router.md 模板):
224
+ - backend 模型 + reviewer 角色 — 安全、性能、错误处理
225
+ - frontend 模型 + reviewer 角色 — 设计一致性(如涉及上层应用)
226
+ 4. 综合审查意见
227
+
228
+ **⛔ 质量关卡(必须逐个调用 Skill,不可跳过):**
229
+ 5. 调用 Skill `verify-quality` — 等待报告
230
+ 6. 调用 Skill `verify-security` — 等待报告(涉及 auth/input/crypto 时)
231
+ 7. 调用 Skill `verify-change` — 等待报告
232
+
233
+ **用户决定(⛔ 必须等待):**
234
+ - 有 Critical → `发现 N 个 Critical 问题。修复后再审一轮?[Y/n]`
235
+ - 无 Critical → `审查通过。需要再审一轮?[y/N]`
236
+ - 用户选择继续 → 修复 Critical 后回到 Round N+1
237
+ - 用户选择停止 → 退出审查循环
238
+
239
+ 追加进度到 `.ccg/tasks/{task-name}/fix-log.jsonl`。
240
+
241
+ 8. 检查是否满足验收标准
242
+ 9. 输出结果:
243
+ ```
244
+ ✅ 开发完成
245
+ 变更: [N] 文件,[M] 行
246
+ 实现: [摘要]
247
+ 测试: [通过/跳过/失败情况]
248
+ 审查: [N] 轮,[Critical: N, Warning: N, Info: N]
249
+ 📍 Next: 可以用 /ccg:commit 提交
250
+ ```
251
+
252
+ #### Spec Evolution(归档前必须执行)
253
+
254
+ 参考 `phase-guide.md § 8 Spec Evolution Protocol` 执行:
255
+ 1. 分析本次 `git diff` + 审查结果,提炼可复用的编码约定
256
+ 2. 如有值得记录的经验 → 草拟 Spec 条目,展示给用户确认后追加到 `.ccg/spec/{domain}/index.md`
257
+ 3. 无值得提炼的经验 → 跳过
258
+
259
+ **Task 更新**:`status → "archived"`
260
+
261
+ **归档任务**:
262
+ ```bash
263
+ mkdir -p .ccg/tasks/archive/$(date +%Y-%m) && mv .ccg/tasks/{task-name} .ccg/tasks/archive/$(date +%Y-%m)/
264
+ git add .ccg/tasks/ && git commit -m "chore: archive ccg task"
265
+ ```
266
+
267
+ ---
268
+
269
+ ## 升级规则
270
+
271
+ - 发现涉及 5+ 文件或需要跨模块协调 → 升级到 `full-collaborate`
272
+ - 发现涉及架构级变更 → 升级到 `full-collaborate`
273
+ - 外部模型分析发现重大风险 → 升级到 `full-collaborate`
274
+
275
+ ---
276
+
277
+ ## 铁律
278
+
279
+ - **Phase 4 计划必须用户确认** — HARD STOP,不可自动跳过
280
+ - **外部模型仅提供建议** — Claude 执行所有文件修改
281
+ - **不扩大范围** — 只做计划内的变更,计划外的报告但不自行处理
282
+ - **增量实施** — 多文件变更时逐文件执行,便于追踪
@@ -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,180 @@
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: 迭代审查 [Ralph Loop]
114
+
115
+ 1. 运行完整测试套件
116
+ 2. 对比基线:确保不引入新的失败
117
+
118
+ 参考 `phase-guide.md § 10 Ralph Loop` 执行迭代审查(最多 3 轮)。
119
+
120
+ #### Round N 流程
121
+
122
+ **⛔ 双模型交叉审查(每轮 spawn 新调用,干净上下文):**
123
+
124
+ 3. 获取变更:`git diff` 全量输出
125
+ 4. 并行调用双模型审查(`run_in_background: true`):
126
+ - backend 模型 + reviewer 角色 — 关注安全、性能、错误处理、行为一致性
127
+ - frontend 模型 + reviewer 角色 — 关注可访问性、设计一致性(如涉及上层应用)
128
+ 5. 等待双模型结果,综合审查意见
129
+
130
+ **⛔ 质量关卡(必须逐个调用 Skill,不可跳过,不可用自己的判断替代):**
131
+
132
+ 6. 调用 Skill `verify-quality` — 等待报告
133
+ 7. 调用 Skill `verify-security` — 等待报告
134
+ 8. 调用 Skill `verify-change` — 等待报告
135
+
136
+ **综合报告**:双模型审查 + 质量关卡,按严重度分级
137
+
138
+ **用户决定(⛔ 必须等待):**
139
+ - 有 Critical → `发现 N 个 Critical 问题。修复后再审一轮?[Y/n]`
140
+ - 无 Critical → `审查通过。需要再审一轮?[y/N]`
141
+ - 用户选择继续 → 修复后回到 Round N+1
142
+ - 用户选择停止 → 退出审查循环
143
+
144
+ 追加进度到 `.ccg/tasks/{task-name}/fix-log.jsonl`。
145
+
146
+ 9. `git diff` 展示全部变更
147
+ 10. 对比基线,确认无回归
148
+ 11. 输出结果:
149
+ ```
150
+ ✅ 重构完成
151
+ 步骤: [N] 步全部通过
152
+ 变更: [文件数] 文件,[行数] 行
153
+ 测试: 基线 [N] 通过 → 重构后 [N] 通过
154
+ 审查: [N] 轮,[Critical: N, Warning: N, Info: N]
155
+ 📍 Next: /ccg:commit 提交
156
+ ```
157
+
158
+ #### Spec Evolution(归档前必须执行)
159
+
160
+ 参考 `phase-guide.md § 8 Spec Evolution Protocol` 执行:
161
+ 1. 分析本次重构的 `git diff`,提炼可复用的重构模式和架构约定
162
+ 2. 如有值得记录的经验 → 草拟 Spec 条目,展示给用户确认后追加到 `.ccg/spec/{domain}/index.md`
163
+ 3. 无值得提炼的经验 → 跳过
164
+
165
+ **Task 更新**:`status → "archived"`
166
+
167
+ **归档任务**:
168
+ ```bash
169
+ mkdir -p .ccg/tasks/archive/$(date +%Y-%m) && mv .ccg/tasks/{task-name} .ccg/tasks/archive/$(date +%Y-%m)/
170
+ git add .ccg/tasks/ && git commit -m "chore: archive ccg task"
171
+ ```
172
+
173
+ ---
174
+
175
+ ## 铁律
176
+
177
+ - **不可一次性大改** — 必须拆分为增量步骤
178
+ - **每步必须验证测试** — 测试失败立即停止
179
+ - **保持行为不变** — 除非重构目标明确包含行为变更
180
+ - **不扩大范围** — 只重构用户指定的范围