ccg-workflow 2.1.13 → 2.1.14

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.
package/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  <img src="assets/logo/ccg-logo-cropped.png" alt="CCG Workflow" width="400">
6
6
 
7
+ [![GitHub stars](https://img.shields.io/github/stars/fengshao1227/ccg-workflow?style=social)](https://github.com/fengshao1227/ccg-workflow)
8
+ [![NPM Downloads](https://img.shields.io/npm/dt/ccg-workflow?style=flat-square&color=blue)](https://www.npmjs.com/package/ccg-workflow)
7
9
  [![npm version](https://img.shields.io/npm/v/ccg-workflow.svg)](https://www.npmjs.com/package/ccg-workflow)
8
10
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
9
11
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Compatible-green.svg)](https://claude.ai/code)
package/dist/cli.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import cac from 'cac';
3
3
  import ansis from 'ansis';
4
- import { z as diagnoseMcpConfig, A as isWindows, B as readClaudeCodeConfig, C as fixWindowsMcpConfig, D as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, a as i18n, s as showMainMenu, i as init, E as configMcp, F as version } from './shared/ccg-workflow.CKr8hgCv.mjs';
4
+ import { z as diagnoseMcpConfig, A as isWindows, B as readClaudeCodeConfig, C as fixWindowsMcpConfig, D as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, a as i18n, s as showMainMenu, i as init, E as configMcp, F as version } from './shared/ccg-workflow.BDGb5Nln.mjs';
5
5
  import 'inquirer';
6
6
  import 'ora';
7
7
  import 'node:child_process';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { c as changeLanguage, x as checkForUpdates, y as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, t as getCurrentVersion, v as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, k as installWorkflows, p as migrateToV1_4_0, q as needsMigration, r as readCcgConfig, s as showMainMenu, o as uninstallAceTool, n as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.CKr8hgCv.mjs';
1
+ export { c as changeLanguage, x as checkForUpdates, y as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, t as getCurrentVersion, v as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, k as installWorkflows, p as migrateToV1_4_0, q as needsMigration, r as readCcgConfig, s as showMainMenu, o as uninstallAceTool, n as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.BDGb5Nln.mjs';
2
2
  import 'ansis';
3
3
  import 'inquirer';
4
4
  import 'ora';
@@ -10,7 +10,7 @@ import fs from 'fs-extra';
10
10
  import { parse, stringify } from 'smol-toml';
11
11
  import i18next from 'i18next';
12
12
 
13
- const version = "2.1.13";
13
+ const version = "2.1.14";
14
14
 
15
15
  function cmd(id, order, category, name, nameEn, description, descriptionEn, cmdOverride) {
16
16
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccg-workflow",
3
- "version": "2.1.13",
3
+ "version": "2.1.14",
4
4
  "description": "Claude + Codex + Gemini multi-model collaboration system - smart routing development workflow",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.17.1",
@@ -51,8 +51,8 @@ EOF",
51
51
 
52
52
  | 模型 | 提示词 |
53
53
  |------|--------|
54
- | Codex | `~/.claude/.ccg/prompts/codex/analyzer.md` |
55
- | Gemini | `~/.claude/.ccg/prompts/gemini/analyzer.md` |
54
+ | 后端 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/analyzer.md` |
55
+ | 前端 | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/analyzer.md` |
56
56
 
57
57
  **并行调用**:使用 `run_in_background: true` 启动,用 `TaskOutput` 等待结果。**必须等所有模型返回后才能进入下一阶段**。
58
58
 
@@ -66,8 +66,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
66
66
  - 必须指定 `timeout: 600000`,否则默认只有 30 秒会导致提前超时。
67
67
  如果 10 分钟后仍未完成,继续用 `TaskOutput` 轮询,**绝对不要 Kill 进程**。
68
68
  - 若因等待时间过长跳过了等待 TaskOutput 结果,则**必须调用 `AskUserQuestion` 工具询问用户选择继续等待还是 Kill Task。禁止直接 Kill Task。**
69
- - ⛔ **Gemini 失败必须重试**:若 Gemini 调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过 Gemini 结果并使用单模型结果继续。
70
- - ⛔ **Codex 结果必须等待**:Codex 执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在 Codex 未返回结果时直接跳过或继续下一阶段**。已启动的 Codex 任务若被跳过 = 浪费 token + 丢失结果。
69
+ - ⛔ **前端模型失败必须重试**:若前端模型调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过前端模型结果并使用单模型结果继续。
70
+ - ⛔ **后端模型结果必须等待**:后端模型执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在后端模型未返回结果时直接跳过或继续下一阶段**。已启动的后端任务若被跳过 = 浪费 token + 丢失结果。
71
71
 
72
72
  ---
73
73
 
@@ -77,7 +77,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
77
77
 
78
78
  ### 🔍 阶段 0:Prompt 增强(可选)
79
79
 
80
- `[模式:准备]` - **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用 Codex/Gemini 时传入增强后的需求**
80
+ `[模式:准备]` - **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用后端/前端模型 时传入增强后的需求**
81
81
 
82
82
  ### 🔍 阶段 1:上下文检索
83
83
 
@@ -94,11 +94,11 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
94
94
  **⚠️ 必须发起两个并行 Bash 调用**(参照上方调用规范):
95
95
 
96
96
  1. **{{BACKEND_PRIMARY}} 后端分析**:`Bash({ command: "...--backend {{BACKEND_PRIMARY}}...", run_in_background: true })`
97
- - ROLE_FILE: `~/.claude/.ccg/prompts/codex/analyzer.md`
97
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/analyzer.md`
98
98
  - OUTPUT:技术可行性、架构影响、性能考量
99
99
 
100
100
  2. **{{FRONTEND_PRIMARY}} 前端分析**:`Bash({ command: "...--backend {{FRONTEND_PRIMARY}}...", run_in_background: true })`
101
- - ROLE_FILE: `~/.claude/.ccg/prompts/gemini/analyzer.md`
101
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/analyzer.md`
102
102
  - OUTPUT:UI/UX 影响、用户体验、视觉设计考量
103
103
 
104
104
  用 `TaskOutput` 等待两个模型的完整结果。**必须等所有模型返回后才能进入下一阶段**。
@@ -114,7 +114,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
114
114
  - **一致观点**(强信号)
115
115
  - **分歧点**(需权衡)
116
116
  - **互补见解**(各自领域洞察)
117
- 3. 按信任规则权衡:后端以 Codex 为准,前端以 Gemini 为准
117
+ 3. 按信任规则权衡:后端以 {{BACKEND_PRIMARY}} 为准,前端以 {{FRONTEND_PRIMARY}} 为准
118
118
 
119
119
  ### 📊 阶段 4:综合输出
120
120
 
@@ -127,7 +127,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
127
127
  1. <双方都认同的点>
128
128
 
129
129
  ### 分歧点(需权衡)
130
- | 议题 | Codex 观点 | Gemini 观点 | 建议 |
130
+ | 议题 | 后端观点 | 前端观点 | 建议 |
131
131
  |------|------------|-------------|------|
132
132
 
133
133
  ### 核心结论
@@ -155,5 +155,5 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
155
155
  ## 关键规则
156
156
 
157
157
  1. **仅分析不修改** – 本命令不执行任何代码变更
158
- 2. **信任规则** – 后端以 Codex 为准,前端以 Gemini 为准
158
+ 2. **信任规则** – 后端以 {{BACKEND_PRIMARY}} 为准,前端以 {{FRONTEND_PRIMARY}} 为准
159
159
  3. 外部模型对文件系统**零写入权限**
@@ -70,15 +70,15 @@ EOF",
70
70
 
71
71
  **角色提示词**:
72
72
 
73
- | 阶段 | Codex |
73
+ | 阶段 | 后端 |
74
74
  |------|-------|
75
- | 分析 | `~/.claude/.ccg/prompts/codex/analyzer.md` |
76
- | 规划 | `~/.claude/.ccg/prompts/codex/architect.md` |
77
- | 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` |
75
+ | 分析 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/analyzer.md` |
76
+ | 规划 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md` |
77
+ | 审查 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md` |
78
78
 
79
79
  **会话复用**:每次调用返回 `SESSION_ID: xxx`,后续阶段用 `resume xxx` 复用上下文。阶段 2 保存 `CODEX_SESSION`,阶段 3 和 5 使用 `resume` 复用。
80
80
 
81
- **Codex 结果必须等待**:Codex 执行时间较长(5-15 分钟)属于正常。若调用超时,继续等待,禁止跳过或提前终止。
81
+ **后端模型结果必须等待**:后端模型执行时间较长(5-15 分钟)属于正常。若调用超时,继续等待,禁止跳过或提前终止。
82
82
 
83
83
  ---
84
84
 
@@ -94,7 +94,7 @@ EOF",
94
94
 
95
95
  ### 🔍 阶段 0:Prompt 增强(可选)
96
96
 
97
- `[模式:准备]` - **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用 Codex 时传入增强后的需求**
97
+ `[模式:准备]` - **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用 {{BACKEND_PRIMARY}} 时传入增强后的需求**
98
98
 
99
99
  ### 🔍 阶段 1:研究
100
100
 
@@ -107,8 +107,8 @@ EOF",
107
107
 
108
108
  `[模式:构思]` - {{BACKEND_PRIMARY}} 主导分析
109
109
 
110
- **⚠️ 必须调用 Codex**(参照上方调用规范):
111
- - ROLE_FILE: `~/.claude/.ccg/prompts/codex/analyzer.md`
110
+ **⚠️ 必须调用 {{BACKEND_PRIMARY}}**(参照上方调用规范):
111
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/analyzer.md`
112
112
  - 需求:增强后的需求(如未增强则用 $ARGUMENTS)
113
113
  - 上下文:阶段 1 收集的项目上下文
114
114
  - OUTPUT: 技术可行性分析、推荐方案(至少 2 个)、风险点评估
@@ -121,8 +121,8 @@ EOF",
121
121
 
122
122
  `[模式:计划]` - {{BACKEND_PRIMARY}} 主导规划
123
123
 
124
- **⚠️ 必须调用 Codex**(使用 `resume <CODEX_SESSION>` 复用会话):
125
- - ROLE_FILE: `~/.claude/.ccg/prompts/codex/architect.md`
124
+ **⚠️ 必须调用 {{BACKEND_PRIMARY}}**(使用 `resume <CODEX_SESSION>` 复用会话):
125
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md`
126
126
  - 需求:用户选择的方案
127
127
  - 上下文:阶段 2 的分析结果
128
128
  - OUTPUT: 文件结构、函数/类设计、依赖关系
@@ -141,8 +141,8 @@ Claude 综合规划,请求用户批准后存入 `.claude/plan/任务名.md`
141
141
 
142
142
  `[模式:优化]` - {{BACKEND_PRIMARY}} 主导审查
143
143
 
144
- **⚠️ 必须调用 Codex**(参照上方调用规范):
145
- - ROLE_FILE: `~/.claude/.ccg/prompts/codex/reviewer.md`
144
+ **⚠️ 必须调用 {{BACKEND_PRIMARY}}**(参照上方调用规范):
145
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md`
146
146
  - 需求:审查以下后端代码变更
147
147
  - 上下文:git diff 或代码内容
148
148
  - OUTPUT: 安全性、性能、错误处理、API 规范问题列表
@@ -102,9 +102,9 @@ REVIEW_EOF",
102
102
 
103
103
  **角色提示词**:
104
104
 
105
- | 阶段 | Codex | Gemini |
105
+ | 阶段 | 后端 | 前端 |
106
106
  |------|-------|--------|
107
- | 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
107
+ | 审查 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md` | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md` |
108
108
 
109
109
  **等待后台任务**(最大超时 600000ms = 10 分钟):
110
110
 
@@ -116,8 +116,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
116
116
  - 必须指定 `timeout: 600000`,否则默认只有 30 秒会导致提前超时
117
117
  - 若 10 分钟后仍未完成,继续用 `TaskOutput` 轮询,**绝对不要 Kill 进程**
118
118
  - 若因等待时间过长跳过了等待,**必须调用 `AskUserQuestion` 询问用户选择继续等待还是 Kill Task**
119
- - ⛔ **Gemini 失败必须重试**:若 Gemini 调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过 Gemini 结果并使用单模型结果继续。
120
- - ⛔ **Codex 结果必须等待**:Codex 执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在 Codex 未返回结果时直接跳过或继续下一阶段**。已启动的 Codex 任务若被跳过 = 浪费 token + 丢失结果。
119
+ - ⛔ **前端模型失败必须重试**:若前端模型调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过前端模型结果并使用单模型结果继续。
120
+ - ⛔ **后端模型结果必须等待**:后端模型执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在后端模型未返回结果时直接跳过或继续下一阶段**。已启动的后端任务若被跳过 = 浪费 token + 丢失结果。
121
121
 
122
122
  ---
123
123
 
@@ -296,7 +296,7 @@ FIXEOF",
296
296
 
297
297
  `[模式:审核]`
298
298
 
299
- **并行调用 Codex + Gemini 交叉审查**(多模型协同不变):
299
+ **并行调用 {{BACKEND_PRIMARY}} + {{FRONTEND_PRIMARY}} 交叉审查**(多模型协同不变):
300
300
 
301
301
  1. **获取变更 diff**:
302
302
 
@@ -307,19 +307,19 @@ FIXEOF",
307
307
  2. **并行调用**(`run_in_background: true`):
308
308
 
309
309
  - **{{BACKEND_PRIMARY}} 审查**:
310
- - ROLE_FILE: `~/.claude/.ccg/prompts/codex/reviewer.md`
310
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md`
311
311
  - 输入:变更 Diff + 计划文件内容
312
312
  - 关注:安全性、性能、错误处理、逻辑正确性
313
313
 
314
314
  - **{{FRONTEND_PRIMARY}} 审查**:
315
- - ROLE_FILE: `~/.claude/.ccg/prompts/gemini/reviewer.md`
315
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md`
316
316
  - 输入:变更 Diff + 计划文件内容
317
317
  - 关注:代码可读性、设计一致性、可维护性
318
318
 
319
319
  用 `TaskOutput` 等待两个模型的完整审查结果。
320
320
 
321
321
  3. **整合审查意见**:
322
- - 按信任规则:后端问题以 Codex 为准,前端问题以 Gemini 为准
322
+ - 按信任规则:后端问题以 {{BACKEND_PRIMARY}} 为准,前端问题以 {{FRONTEND_PRIMARY}} 为准
323
323
  - **Critical** → 必须修复(Claude 直接修或再派 Codex)
324
324
  - **Warning** → 建议修复,报告给用户决定
325
325
  - **Info** → 记录不处理
@@ -372,7 +372,7 @@ FIXEOF",
372
372
  1. **Claude 极简原则** — Claude 不调用 MCP、不做代码检索。只读计划、指挥 Codex、审核结果。
373
373
  2. **{{BACKEND_PRIMARY}} 全权执行** — MCP 搜索、文档查询、代码检索、实现、测试全由 {{BACKEND_PRIMARY}} 完成。
374
374
  3. **多模型审核不变** — 审核阶段仍然 Codex ∥ Gemini 交叉审查,保证质量。
375
- 4. **信任规则** — 后端以 Codex 为准,前端以 Gemini 为准。
375
+ 4. **信任规则** — 后端以 {{BACKEND_PRIMARY}} 为准,前端以 {{FRONTEND_PRIMARY}} 为准。
376
376
  5. **一次性下发** — 尽量一次给 Codex 完整指令 + 完整计划,减少来回通信。
377
377
  6. **最多 2 轮返工** — 超过 2 轮 Claude 直接接管,避免无限循环。
378
378
  7. **计划对齐** — Codex 实现必须在计划范围内,超出范围的变更视为违规。
@@ -33,7 +33,7 @@ description: '多模型调试:{{BACKEND_PRIMARY}} 后端诊断 + {{FRONTEND_PR
33
33
  **{{BACKEND_PRIMARY}} 后端诊断**:
34
34
  ```bash
35
35
  ~/.claude/bin/codeagent-wrapper --progress --backend {{BACKEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}- "$(pwd)" <<'EOF'
36
- ROLE_FILE: ~/.claude/.ccg/prompts/codex/debugger.md
36
+ ROLE_FILE: ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/debugger.md
37
37
  <TASK>
38
38
  需求:<增强后的需求>
39
39
  上下文:<错误日志、堆栈信息、复现步骤>
@@ -45,7 +45,7 @@ EOF
45
45
  **{{FRONTEND_PRIMARY}} 前端诊断**:
46
46
  ```bash
47
47
  ~/.claude/bin/codeagent-wrapper --progress --backend {{FRONTEND_PRIMARY}} {{GEMINI_MODEL_FLAG}}- "$(pwd)" <<'EOF'
48
- ROLE_FILE: ~/.claude/.ccg/prompts/gemini/debugger.md
48
+ ROLE_FILE: ~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/debugger.md
49
49
  <TASK>
50
50
  需求:<增强后的需求>
51
51
  上下文:<错误日志、堆栈信息、复现步骤>
@@ -58,20 +58,20 @@ EOF
58
58
 
59
59
  | 模型 | 提示词 |
60
60
  |------|--------|
61
- | Codex | `~/.claude/.ccg/prompts/codex/debugger.md` |
62
- | Gemini | `~/.claude/.ccg/prompts/gemini/debugger.md` |
61
+ | 后端 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/debugger.md` |
62
+ | 前端 | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/debugger.md` |
63
63
 
64
64
  **并行调用**:
65
65
  1. 使用 `Bash` 工具,设置 `run_in_background: true` 和 `timeout: 600000`(10 分钟)
66
- 2. 同时发起两个后台任务(Codex + Gemini
66
+ 2. 同时发起两个后台任务({{BACKEND_PRIMARY}} + {{FRONTEND_PRIMARY}}
67
67
  3. 使用 `TaskOutput` 等待结果:`TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })`
68
68
 
69
69
  **重要**:
70
70
  - 必须指定 `timeout: 600000`,否则默认 30 秒会超时
71
71
  - 如果 10 分钟后仍未完成,继续用 `TaskOutput` 轮询,**绝对不要 Kill 进程**
72
72
  - 若等待时间过长,**必须用 `AskUserQuestion` 询问用户是否继续等待,禁止直接 Kill**
73
- - ⛔ **Gemini 失败必须重试**:若 Gemini 调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过 Gemini 结果并使用单模型结果继续。
74
- - ⛔ **Codex 结果必须等待**:Codex 执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在 Codex 未返回结果时直接跳过或继续下一阶段**。已启动的 Codex 任务若被跳过 = 浪费 token + 丢失结果。
73
+ - ⛔ **前端模型失败必须重试**:若前端模型调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过前端模型结果并使用单模型结果继续。
74
+ - ⛔ **后端模型结果必须等待**:后端模型执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在后端模型未返回结果时直接跳过或继续下一阶段**。已启动的后端任务若被跳过 = 浪费 token + 丢失结果。
75
75
 
76
76
  ---
77
77
 
@@ -81,7 +81,7 @@ EOF
81
81
 
82
82
  ### 🔍 阶段 0:Prompt 增强(可选)
83
83
 
84
- `[模式:准备]` - **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用 Codex/Gemini 时传入增强后的需求**
84
+ `[模式:准备]` - **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用后端/前端模型 时传入增强后的需求**
85
85
 
86
86
  ### 🔍 阶段 1:上下文收集
87
87
 
@@ -98,11 +98,11 @@ EOF
98
98
  **⚠️ 必须发起两个并行 Bash 调用**(参照上方调用规范):
99
99
 
100
100
  1. **{{BACKEND_PRIMARY}} 后端诊断**:`Bash({ command: "...--backend {{BACKEND_PRIMARY}}...", run_in_background: true })`
101
- - ROLE_FILE: `~/.claude/.ccg/prompts/codex/debugger.md`
101
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/debugger.md`
102
102
  - OUTPUT:诊断假设(按可能性排序),每个假设包含原因、证据、修复建议
103
103
 
104
104
  2. **{{FRONTEND_PRIMARY}} 前端诊断**:`Bash({ command: "...--backend {{FRONTEND_PRIMARY}}...", run_in_background: true })`
105
- - ROLE_FILE: `~/.claude/.ccg/prompts/gemini/debugger.md`
105
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/debugger.md`
106
106
  - OUTPUT:诊断假设(按可能性排序),每个假设包含原因、证据、修复建议
107
107
 
108
108
  用 `TaskOutput` 等待两个模型的诊断结果。**必须等所有模型返回后才能进入下一阶段**。
@@ -124,10 +124,10 @@ EOF
124
124
  ```markdown
125
125
  ## 🔍 诊断结果
126
126
 
127
- ### Codex 分析(后端视角)
127
+ ### {{BACKEND_PRIMARY}} 分析(后端视角)
128
128
  <诊断摘要>
129
129
 
130
- ### Gemini 分析(前端视角)
130
+ ### {{FRONTEND_PRIMARY}} 分析(前端视角)
131
131
  <诊断摘要>
132
132
 
133
133
  ### 综合诊断
@@ -153,5 +153,5 @@ EOF
153
153
  ## 关键规则
154
154
 
155
155
  1. **用户确认** – 修复前必须获得确认
156
- 2. **信任规则** – 后端问题以 Codex 为准,前端问题以 Gemini 为准
156
+ 2. **信任规则** – 后端问题以 {{BACKEND_PRIMARY}} 为准,前端问题以 {{FRONTEND_PRIMARY}} 为准
157
157
  3. 外部模型对文件系统**零写入权限**
@@ -12,7 +12,7 @@ $ARGUMENTS
12
12
 
13
13
  - **语言协议**:与工具/模型交互用**英语**,与用户交互用**中文**
14
14
  - **代码主权**:外部模型对文件系统**零写入权限**,所有修改由 Claude 执行
15
- - **脏原型重构**:将 Codex/Gemini 的 Unified Diff 视为"脏原型",必须重构为生产级代码
15
+ - **脏原型重构**:将外部模型的 Unified Diff 视为"脏原型",必须重构为生产级代码
16
16
  - **止损机制**:当前阶段输出通过验证前,不进入下一阶段
17
17
  - **前置条件**:仅在用户对 `/ccg:plan` 输出明确回复 "Y" 后执行(如缺失,必须先二次确认)
18
18
 
@@ -86,10 +86,10 @@ EOF",
86
86
 
87
87
  **角色提示词**:
88
88
 
89
- | 阶段 | Codex | Gemini |
89
+ | 阶段 | 后端 | 前端 |
90
90
  |------|-------|--------|
91
- | 实施 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/frontend.md` |
92
- | 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
91
+ | 实施 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md` | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/frontend.md` |
92
+ | 审查 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md` | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md` |
93
93
 
94
94
  **会话复用**:如果 `/ccg:plan` 提供了 SESSION_ID,使用 `resume <SESSION_ID>` 复用上下文。
95
95
 
@@ -103,8 +103,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
103
103
  - 必须指定 `timeout: 600000`,否则默认只有 30 秒会导致提前超时
104
104
  - 若 10 分钟后仍未完成,继续用 `TaskOutput` 轮询,**绝对不要 Kill 进程**
105
105
  - 若因等待时间过长跳过了等待,**必须调用 `AskUserQuestion` 询问用户选择继续等待还是 Kill Task**
106
- - ⛔ **Gemini 失败必须重试**:若 Gemini 调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过 Gemini 结果并使用单模型结果继续。
107
- - ⛔ **Codex 结果必须等待**:Codex 执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在 Codex 未返回结果时直接跳过或继续下一阶段**。已启动的 Codex 任务若被跳过 = 浪费 token + 丢失结果。
106
+ - ⛔ **前端模型失败必须重试**:若 {{FRONTEND_PRIMARY}} 调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过前端模型结果并使用单模型结果继续。
107
+ - ⛔ **后端模型结果必须等待**:{{BACKEND_PRIMARY}} 执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在后端模型未返回结果时直接跳过或继续下一阶段**。已启动的任务若被跳过 = 浪费 token + 丢失结果。
108
108
 
109
109
  ---
110
110
 
@@ -132,9 +132,9 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
132
132
 
133
133
  | 任务类型 | 判断依据 | 路由 |
134
134
  |----------|----------|------|
135
- | **前端** | 页面、组件、UI、样式、布局 | Gemini |
136
- | **后端** | API、接口、数据库、逻辑、算法 | Codex |
137
- | **全栈** | 同时包含前后端 | CodexGemini 并行 |
135
+ | **前端** | 页面、组件、UI、样式、布局 | {{FRONTEND_PRIMARY}} |
136
+ | **后端** | API、接口、数据库、逻辑、算法 | {{BACKEND_PRIMARY}} |
137
+ | **全栈** | 同时包含前后端 | {{BACKEND_PRIMARY}}{{FRONTEND_PRIMARY}} 并行 |
138
138
 
139
139
  ---
140
140
 
@@ -172,30 +172,30 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
172
172
 
173
173
  **根据任务类型路由**:
174
174
 
175
- #### Route A: 前端/UI/样式 → Gemini
175
+ #### Route A: 前端/UI/样式 → {{FRONTEND_PRIMARY}}
176
176
 
177
177
  **限制**:上下文 < 32k tokens
178
178
 
179
- 1. 调用 Gemini(使用 `~/.claude/.ccg/prompts/gemini/frontend.md`)
179
+ 1. 调用 {{FRONTEND_PRIMARY}}(使用 `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/frontend.md`)
180
180
  2. 输入:计划内容 + 检索到的上下文 + 目标文件
181
181
  3. OUTPUT: `Unified Diff Patch ONLY. Strictly prohibit any actual modifications.`
182
- 4. **Gemini 是前端设计的权威,其 CSS/React/Vue 原型为最终视觉基准**
183
- 5. ⚠️ **警告**:忽略 Gemini 对后端逻辑的建议
184
- 6. 若计划包含 `GEMINI_SESSION`:优先 `resume <GEMINI_SESSION>`
182
+ 4. **{{FRONTEND_PRIMARY}} 是前端设计的权威,其 CSS/React/Vue 原型为最终视觉基准**
183
+ 5. ⚠️ **警告**:忽略前端模型对后端逻辑的建议
184
+ 6. 若计划包含 `FRONTEND_SESSION`:优先 `resume <FRONTEND_SESSION>`
185
185
 
186
- #### Route B: 后端/逻辑/算法 → Codex
186
+ #### Route B: 后端/逻辑/算法 → {{BACKEND_PRIMARY}}
187
187
 
188
- 1. 调用 Codex(使用 `~/.claude/.ccg/prompts/codex/architect.md`)
188
+ 1. 调用 {{BACKEND_PRIMARY}}(使用 `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md`)
189
189
  2. 输入:计划内容 + 检索到的上下文 + 目标文件
190
190
  3. OUTPUT: `Unified Diff Patch ONLY. Strictly prohibit any actual modifications.`
191
191
  4. **{{BACKEND_PRIMARY}} 是后端逻辑的权威,利用其逻辑运算与 Debug 能力**
192
- 5. 若计划包含 `CODEX_SESSION`:优先 `resume <CODEX_SESSION>`
192
+ 5. 若计划包含 `BACKEND_SESSION`:优先 `resume <BACKEND_SESSION>`
193
193
 
194
194
  #### Route C: 全栈 → 并行调用
195
195
 
196
196
  1. **并行调用**(`run_in_background: true`):
197
- - Gemini:处理前端部分
198
- - Codex:处理后端部分
197
+ - {{FRONTEND_PRIMARY}}:处理前端部分
198
+ - {{BACKEND_PRIMARY}}:处理后端部分
199
199
  2. 用 `TaskOutput` 等待两个模型的完整结果
200
200
  3. 各自使用计划中对应的 `SESSION_ID` 进行 `resume`(若缺失则创建新会话)
201
201
 
@@ -209,7 +209,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
209
209
 
210
210
  **Claude 作为代码主权者执行以下步骤**:
211
211
 
212
- 1. **读取 Diff**:解析 Codex/Gemini 返回的 Unified Diff Patch
212
+ 1. **读取 Diff**:解析外部模型返回的 Unified Diff Patch
213
213
 
214
214
  2. **思维沙箱**:
215
215
  - 模拟应用 Diff 到目标文件
@@ -242,15 +242,15 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
242
242
 
243
243
  #### 5.1 自动审计
244
244
 
245
- **变更生效后,强制立即并行调用** CodexGemini 进行 Code Review:
245
+ **变更生效后,强制立即并行调用** {{BACKEND_PRIMARY}}{{FRONTEND_PRIMARY}} 进行 Code Review:
246
246
 
247
247
  1. **{{BACKEND_PRIMARY}} 审查**(`run_in_background: true`):
248
- - ROLE_FILE: `~/.claude/.ccg/prompts/codex/reviewer.md`
248
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md`
249
249
  - 输入:变更的 Diff + 目标文件
250
250
  - 关注:安全性、性能、错误处理、逻辑正确性
251
251
 
252
252
  2. **{{FRONTEND_PRIMARY}} 审查**(`run_in_background: true`):
253
- - ROLE_FILE: `~/.claude/.ccg/prompts/gemini/reviewer.md`
253
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md`
254
254
  - 输入:变更的 Diff + 目标文件
255
255
  - 关注:可访问性、设计一致性、用户体验
256
256
 
@@ -258,8 +258,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
258
258
 
259
259
  #### 5.2 整合修复
260
260
 
261
- 1. 综合 Codex + Gemini 的审查意见
262
- 2. 按信任规则权衡:后端以 Codex 为准,前端以 Gemini 为准
261
+ 1. 综合 {{BACKEND_PRIMARY}} + {{FRONTEND_PRIMARY}} 的审查意见
262
+ 2. 按信任规则权衡:后端以 {{BACKEND_PRIMARY}} 为准,前端以 {{FRONTEND_PRIMARY}} 为准
263
263
  3. 执行必要的修复
264
264
  4. 修复后按需重复 Phase 5.1(直到风险可接受)
265
265
 
@@ -276,8 +276,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
276
276
  | path/to/file.ts | 修改 | 描述 |
277
277
 
278
278
  ### 审计结果
279
- - Codex:<通过/发现 N 个问题>
280
- - Gemini:<通过/发现 N 个问题>
279
+ - {{BACKEND_PRIMARY}}:<通过/发现 N 个问题>
280
+ - {{FRONTEND_PRIMARY}}:<通过/发现 N 个问题>
281
281
 
282
282
  ### 后续建议
283
283
  1. [ ] <建议的测试步骤>
@@ -289,8 +289,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
289
289
  ## 关键规则
290
290
 
291
291
  1. **代码主权** – 所有文件修改由 Claude 执行,外部模型零写入权限
292
- 2. **脏原型重构** – Codex/Gemini 的输出视为草稿,必须重构
293
- 3. **信任规则** – 后端以 Codex 为准,前端以 Gemini 为准
292
+ 2. **脏原型重构** – 外部模型的输出视为草稿,必须重构
293
+ 3. **信任规则** – 后端以 {{BACKEND_PRIMARY}} 为准,前端以 {{FRONTEND_PRIMARY}} 为准
294
294
  4. **最小变更** – 仅修改必要的代码,不引入副作用
295
295
  5. **强制审计** – 变更后必须进行多模型 Code Review
296
296
 
@@ -51,12 +51,12 @@ EOF",
51
51
 
52
52
  **角色提示词**:
53
53
 
54
- | 阶段 | Codex | Gemini |
54
+ | 阶段 | 后端 | 前端 |
55
55
  |------|-------|--------|
56
- | 分析 | `~/.claude/.ccg/prompts/codex/analyzer.md` | `~/.claude/.ccg/prompts/gemini/analyzer.md` |
57
- | 规划 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/architect.md` |
58
- | 实施 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/frontend.md` |
59
- | 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
56
+ | 分析 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/analyzer.md` | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/analyzer.md` |
57
+ | 规划 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md` | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/architect.md` |
58
+ | 实施 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md` | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/frontend.md` |
59
+ | 审查 | `~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/reviewer.md` | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md` |
60
60
 
61
61
  **会话复用**:每次调用返回 `SESSION_ID: xxx`,后续阶段用 `resume xxx` 复用上下文。
62
62
 
@@ -72,8 +72,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
72
72
  - 必须指定 `timeout: 600000`,否则默认只有 30 秒会导致提前超时。
73
73
  如果 10 分钟后仍未完成,继续用 `TaskOutput` 轮询,**绝对不要 Kill 进程**。
74
74
  - 若因等待时间过长跳过了等待 TaskOutput 结果,则**必须调用 `AskUserQuestion` 工具询问用户选择继续等待还是 Kill Task。禁止直接 Kill Task。**
75
- - ⛔ **Gemini 失败必须重试**:若 Gemini 调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过 Gemini 结果并使用单模型结果继续。
76
- - ⛔ **Codex 结果必须等待**:Codex 执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在 Codex 未返回结果时直接跳过或继续下一阶段**。已启动的 Codex 任务若被跳过 = 浪费 token + 丢失结果。
75
+ - ⛔ **前端模型失败必须重试**:若前端模型调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才跳过前端模型结果并使用单模型结果继续。
76
+ - ⛔ **后端模型结果必须等待**:后端模型执行时间较长(5-15 分钟)属于正常。TaskOutput 超时后必须继续用 TaskOutput 轮询,**绝对禁止在后端模型未返回结果时直接跳过或继续下一阶段**。已启动的后端任务若被跳过 = 浪费 token + 丢失结果。
77
77
 
78
78
  ---
79
79
 
@@ -101,7 +101,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
101
101
 
102
102
  #### 2.0 Prompt 增强
103
103
 
104
- **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用 Codex/Gemini 时传入增强后的需求**
104
+ **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用后端/前端模型 时传入增强后的需求**
105
105
 
106
106
  #### 2.1 上下文检索
107
107
 
@@ -161,9 +161,9 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
161
161
 
162
162
  按上方调用规范调用外部模型:
163
163
 
164
- - **前端任务**:调用 Gemini,使用实施提示词
165
- - **后端任务**:调用 Codex,使用实施提示词
166
- - **全栈任务**:并行调用 Codex + Gemini(`run_in_background: true`),用 `TaskOutput` 等待结果
164
+ - **前端任务**:调用 {{FRONTEND_PRIMARY}},使用实施提示词
165
+ - **后端任务**:调用 {{BACKEND_PRIMARY}},使用实施提示词
166
+ - **全栈任务**:并行调用 {{BACKEND_PRIMARY}} + {{FRONTEND_PRIMARY}}(`run_in_background: true`),用 `TaskOutput` 等待结果
167
167
 
168
168
  **⚠️ 强制规则:必须等待 TaskOutput 返回所有模型的完整结果后才能进入下一阶段**
169
169
 
@@ -186,8 +186,8 @@ git diff --name-status
186
186
  2. **文档一致性**:规划文档与实际执行保持同步
187
187
  3. **依赖关系管理**:前端任务必须确保 UI 设计完整性
188
188
  4. **多模型信任规则**:
189
- - 前端以 Gemini 为准
190
- - 后端以 Codex 为准
189
+ - 前端以 {{FRONTEND_PRIMARY}} 为准
190
+ - 后端以 {{BACKEND_PRIMARY}} 为准
191
191
  5. **用户沟通透明**:所有判断和动作都要明确告知用户
192
192
 
193
193
  ---
@@ -70,15 +70,15 @@ EOF",
70
70
 
71
71
  **角色提示词**:
72
72
 
73
- | 阶段 | Gemini |
73
+ | 阶段 | 前端 |
74
74
  |------|--------|
75
- | 分析 | `~/.claude/.ccg/prompts/gemini/analyzer.md` |
76
- | 规划 | `~/.claude/.ccg/prompts/gemini/architect.md` |
77
- | 审查 | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
75
+ | 分析 | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/analyzer.md` |
76
+ | 规划 | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/architect.md` |
77
+ | 审查 | `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md` |
78
78
 
79
79
  **会话复用**:每次调用返回 `SESSION_ID: xxx`,后续阶段用 `resume xxx` 复用上下文。阶段 2 保存 `GEMINI_SESSION`,阶段 3 和 5 使用 `resume` 复用。
80
80
 
81
- **Gemini 失败必须重试**:若 Gemini 调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才报告错误并终止。
81
+ **前端模型失败必须重试**:若前端模型调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才报告错误并终止。
82
82
 
83
83
  ---
84
84
 
@@ -94,7 +94,7 @@ EOF",
94
94
 
95
95
  ### 🔍 阶段 0:Prompt 增强(可选)
96
96
 
97
- `[模式:准备]` - **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用 Gemini 时传入增强后的需求**
97
+ `[模式:准备]` - **Prompt 增强**(按 `/ccg:enhance` 的逻辑执行):分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求(明确目标、技术约束、范围边界、验收标准),**用增强结果替代原始 $ARGUMENTS,后续调用 {{FRONTEND_PRIMARY}} 时传入增强后的需求**
98
98
 
99
99
  ### 🔍 阶段 1:研究
100
100
 
@@ -107,8 +107,8 @@ EOF",
107
107
 
108
108
  `[模式:构思]` - {{FRONTEND_PRIMARY}} 主导分析
109
109
 
110
- **⚠️ 必须调用 Gemini**(参照上方调用规范):
111
- - ROLE_FILE: `~/.claude/.ccg/prompts/gemini/analyzer.md`
110
+ **⚠️ 必须调用 {{FRONTEND_PRIMARY}}**(参照上方调用规范):
111
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/analyzer.md`
112
112
  - 需求:增强后的需求(如未增强则用 $ARGUMENTS)
113
113
  - 上下文:阶段 1 收集的项目上下文
114
114
  - OUTPUT: UI 可行性分析、推荐方案(至少 2 个)、用户体验评估
@@ -121,8 +121,8 @@ EOF",
121
121
 
122
122
  `[模式:计划]` - {{FRONTEND_PRIMARY}} 主导规划
123
123
 
124
- **⚠️ 必须调用 Gemini**(使用 `resume <GEMINI_SESSION>` 复用会话):
125
- - ROLE_FILE: `~/.claude/.ccg/prompts/gemini/architect.md`
124
+ **⚠️ 必须调用 {{FRONTEND_PRIMARY}}**(使用 `resume <GEMINI_SESSION>` 复用会话):
125
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/architect.md`
126
126
  - 需求:用户选择的方案
127
127
  - 上下文:阶段 2 的分析结果
128
128
  - OUTPUT: 组件结构、UI 流程、样式方案
@@ -141,8 +141,8 @@ Claude 综合规划,请求用户批准后存入 `.claude/plan/任务名.md`
141
141
 
142
142
  `[模式:优化]` - {{FRONTEND_PRIMARY}} 主导审查
143
143
 
144
- **⚠️ 必须调用 Gemini**(参照上方调用规范):
145
- - ROLE_FILE: `~/.claude/.ccg/prompts/gemini/reviewer.md`
144
+ **⚠️ 必须调用 {{FRONTEND_PRIMARY}}**(参照上方调用规范):
145
+ - ROLE_FILE: `~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/reviewer.md`
146
146
  - 需求:审查以下前端代码变更
147
147
  - 上下文:git diff 或代码内容
148
148
  - OUTPUT: 可访问性、响应式、性能、设计一致性问题列表