ccg-workflow 1.6.0 → 1.7.1

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.
@@ -1,348 +1,134 @@
1
1
  ---
2
- name: ccg:feat
3
- description: 🚀 智能功能开发 - 自动规划、设计、实施
4
- tools: Task, Read, Write, Bash, AskUserQuestion, Glob
2
+ description: '智能功能开发 - 自动识别输入类型,规划/讨论/实施全流程'
5
3
  ---
6
4
 
7
- # CCG 智能功能开发
5
+ # Feat - 智能功能开发
8
6
 
9
- 智能识别用户输入类型,自动选择工作流:
10
- - **需求规划**:需求分析 → 任务分解 → 生成计划文档
11
- - **讨论迭代**:基于现有计划调整优化
12
- - **执行实施**:按计划调用多模型实施开发
7
+ $ARGUMENTS
13
8
 
14
- ---
15
-
16
- ## 执行流程
17
-
18
- ### 步骤 1:输入类型识别
9
+ ## 核心工作流程
19
10
 
20
- 分析用户输入,识别关键词:
11
+ ### 1. 输入类型判断
21
12
 
22
- #### 1.1 需求规划模式(默认)
23
- **关键词**:实现、开发、新增、添加、构建、需求、设计、规划
24
- **示例**:"实现用户登录功能"、"开发商品管理模块"
25
- **执行**:→ 步骤 2(完整规划)
13
+ **每次交互必须首先声明**:「我判断此次操作类型为:[具体类型]」
26
14
 
27
- #### 1.2 讨论迭代模式
28
- **关键词**:调整、修改、优化、改进、更新、重新规划、包含计划文件路径
29
- **示例**:"调整登录功能方案"、"优化 .claude/plan/登录功能.md"
30
- **执行**:→ 读取现有计划 → 步骤 2.4(重新规划)
31
-
32
- #### 1.3 执行实施模式
33
- **关键词**:开始实施、执行计划、按照计划、根据计划
34
- **示例**:"开始实施登录功能"、"按照 .claude/plan/登录功能.md 开发"
35
- **执行**:→ 步骤 3(直接实施)
15
+ | 类型 | 关键词 | 动作 |
16
+ |------|--------|------|
17
+ | **需求规划** | 实现、开发、新增、添加、构建、设计 | → 步骤 2(完整规划) |
18
+ | **讨论迭代** | 调整、修改、优化、改进、包含计划文件路径 | → 读取现有计划 → 步骤 2.3 |
19
+ | **执行实施** | 开始实施、执行计划、按照计划、根据计划 | → 步骤 3(直接实施) |
36
20
 
37
21
  ---
38
22
 
39
- ### 步骤 2:需求规划流程
23
+ ### 2. 需求规划流程
40
24
 
41
- #### 2.1 上下文检索
25
+ #### 2.0 Prompt 增强
42
26
 
43
- 调用 mcp__ace-tool__search_context 检索相关代码:
27
+ **如果 ace-tool MCP 可用**,调用 `mcp__ace-tool__enhance_prompt`:
28
+ - 输入原始任务描述
29
+ - 获取增强后的详细需求
30
+ - 用增强后的需求进行后续规划
44
31
 
45
- ```
46
- mcp__ace-tool__search_context {
47
- "query": "{{用户需求关键词}} + 相关代码实现、API、组件、数据模型、技术栈"
48
- }
49
- ```
50
-
51
- **期望结果**:现有代码位置、可复用组件、数据模型、API 结构、技术栈
32
+ #### 2.1 上下文检索
52
33
 
53
- ---
34
+ 调用 `mcp__ace-tool__search_context` 检索相关代码、组件、技术栈。
54
35
 
55
36
  #### 2.2 任务类型判断
56
37
 
57
- 基于用户需求和检索结果:
58
-
59
38
  | 任务类型 | 判断依据 | 调用流程 |
60
39
  |----------|----------|----------|
61
40
  | **前端** | 页面、组件、UI、样式、布局 | ui-ux-designer → planner |
62
41
  | **后端** | API、接口、数据库、逻辑、算法 | planner |
63
42
  | **全栈** | 同时包含前后端 | ui-ux-designer → planner |
64
43
 
65
- ---
66
-
67
- #### 2.3 调用 ui-ux-designer(前端/全栈)
68
-
69
- 如果是前端或全栈任务:
44
+ #### 2.3 调用 Agents
70
45
 
71
- ```bash
72
- Task(subagent_type="general-purpose", description="调用 UI/UX 设计师") {
73
- prompt: "
46
+ **前端/全栈任务**:先调用 `ui-ux-designer` agent
47
+ ```
74
48
  执行 agent: ~/.claude/agents/ccg/ui-ux-designer.md
75
-
76
- 项目上下文: {{MCP 检索结果}}
77
- 用户需求: {{原始需求}}
78
- 技术栈: {{从检索结果提取}}
79
-
80
- 输出: UI/UX 设计方案(Markdown)
81
- "
82
- }
49
+ 输入: 项目上下文 + 用户需求 + 技术栈
50
+ 输出: UI/UX 设计方案
83
51
  ```
84
52
 
85
- ---
86
-
87
- #### 2.4 调用 planner
88
-
89
- ```bash
90
- Task(subagent_type="general-purpose", description="调用任务规划师") {
91
- prompt: "
53
+ **所有任务**:调用 `planner` agent
54
+ ```
92
55
  执行 agent: ~/.claude/agents/ccg/planner.md
93
-
94
- 项目上下文: {{MCP 检索结果}}
95
- {{如果有 UI/UX 设计方案,附加在此}}
96
- 用户需求: {{原始需求}}
97
- 技术栈: {{从检索结果提取}}
98
-
99
- 输出: 生成功能规划文档并保存到 .claude/plan/{{功能名}}.md
100
- "
101
- }
56
+ 输入: 项目上下文 + UI设计方案(如有) + 用户需求
57
+ 输出: 功能规划文档
102
58
  ```
103
59
 
104
- ---
105
-
106
- #### 2.5 计划版本控制
60
+ #### 2.4 保存计划
107
61
 
108
- **首次规划**:
109
- ```bash
110
- FEATURE_NAME="{{从需求提取的功能名}}"
111
- PLAN_FILE=".claude/plan/${FEATURE_NAME}.md"
62
+ **文件命名规则**:
63
+ - 首次规划:`.claude/plan/功能名.md`
64
+ - 迭代版本:`.claude/plan/功能名-1.md`、`.claude/plan/功能名-2.md`...
112
65
 
113
- if [ -f "$PLAN_FILE" ]; then
114
- PLAN_FILE=".claude/plan/${FEATURE_NAME}-1.md"
115
- fi
116
- ```
66
+ #### 2.5 交互确认
117
67
 
118
- **讨论迭代**:
119
- ```bash
120
- EXISTING_PLAN=$(find .claude/plan -name "*{{关键词}}*.md" | head -n 1)
121
-
122
- if [ -n "$EXISTING_PLAN" ]; then
123
- BASE_NAME=$(basename "$EXISTING_PLAN" .md)
124
- if [[ $BASE_NAME =~ -([0-9]+)$ ]]; then
125
- VERSION=$((${BASH_REMATCH[1]} + 1))
126
- NEW_PLAN=".claude/plan/${BASE_NAME%-*}-${VERSION}.md"
127
- else
128
- NEW_PLAN=".claude/plan/${BASE_NAME}-1.md"
129
- fi
130
- fi
131
- ```
68
+ 规划完成后询问用户:
69
+ - **开始实施** → 步骤 3
70
+ - **讨论调整** 重新执行步骤 2.3
71
+ - **重新规划** → 删除当前计划,重新执行步骤 2
72
+ - **仅保存计划** 退出
132
73
 
133
74
  ---
134
75
 
135
- #### 2.6 交互确认
76
+ ### 3. 执行实施流程
136
77
 
137
- ```bash
138
- AskUserQuestion {
139
- question: "功能规划已完成,请选择下一步操作:",
140
- header: "下一步",
141
- options: [
142
- { label: "开始实施(推荐)", description: "根据计划调用多模型开发" },
143
- { label: "讨论调整", description: "修改计划中的某些部分" },
144
- { label: "重新规划", description: "推翻当前方案重新开始" },
145
- { label: "仅保存计划", description: "暂不实施,稍后手动执行" }
146
- ]
147
- }
148
- ```
149
-
150
- **处理逻辑**:
151
- - 开始实施 → 步骤 3
152
- - 讨论调整 → 重新执行步骤 2.4
153
- - 重新规划 → 删除当前计划,重新执行步骤 2
154
- - 仅保存计划 → 退出
155
-
156
- ---
78
+ #### 3.1 读取计划
157
79
 
158
- ### 步骤 3:执行实施
159
-
160
- #### 3.1 读取计划文档
161
-
162
- ```bash
163
- if [[ "$USER_INPUT" =~ \.claude/plan/.*\.md ]]; then
164
- PLAN_FILE="{{用户指定路径}}"
165
- else
166
- PLAN_FILE=$(ls -t .claude/plan/*.md | head -n 1)
167
- fi
168
-
169
- PLAN_CONTENT=$(Read("$PLAN_FILE"))
170
- ```
171
-
172
- ---
80
+ 优先使用用户指定路径,否则读取最新的计划文件。
173
81
 
174
82
  #### 3.2 任务类型分析
175
83
 
176
- 从计划提取分类:
177
-
178
- ```bash
179
- FRONTEND_TASKS=$(echo "$PLAN_CONTENT" | grep -E "模块.*:前端" || echo "")
180
- BACKEND_TASKS=$(echo "$PLAN_CONTENT" | grep -E "模块.*:后端" || echo "")
181
-
182
- if [ -n "$FRONTEND_TASKS" ] && [ -n "$BACKEND_TASKS" ]; then
183
- TASK_TYPE="fullstack"
184
- elif [ -n "$FRONTEND_TASKS" ]; then
185
- TASK_TYPE="frontend"
186
- elif [ -n "$BACKEND_TASKS" ]; then
187
- TASK_TYPE="backend"
188
- fi
189
- ```
190
-
191
- 如无法判断,询问用户选择任务类型。
192
-
193
- ---
84
+ 从计划提取任务分类:前端 / 后端 / 全栈
194
85
 
195
86
  #### 3.3 多模型路由实施
196
87
 
197
- ##### 前端任务 {{FRONTEND_PRIMARY}}
88
+ **参考 `multi-model-collaboration` skill 调用外部模型**
198
89
 
199
- ```bash
200
- if [ "$TASK_TYPE" == "frontend" ] || [ "$TASK_TYPE" == "fullstack" ]; then
201
- FRONTEND_PLAN=$(echo "$PLAN_CONTENT" | sed -n '/模块.*:前端/,/模块.*:/p')
202
-
203
- codeagent-wrapper --backend {{FRONTEND_PRIMARY}} - "$PROJECT_DIR" <<'EOF'
204
- ROLE_FILE: ~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/frontend.md
205
-
206
- <TASK>
207
- 根据以下计划实施前端功能:
208
- $FRONTEND_PLAN
209
-
210
- 要求:
211
- 1. 创建/修改所有需要的组件文件
212
- 2. 符合项目代码风格
213
- 3. 实现响应式设计
214
- 4. 添加 TypeScript 类型定义
215
- 5. 处理 Loading/Success/Error 状态
216
- 6. 遵循无障碍访问最佳实践
217
- </TASK>
218
- EOF
219
-
220
- GEMINI_SESSION=$(echo "$OUTPUT" | grep "SESSION_ID:" | awk '{print $2}')
221
- fi
222
- ```
223
-
224
- ##### 后端任务 → {{BACKEND_PRIMARY}}
90
+ **前端任务 → Gemini**:
91
+ - 使用 `codeagent-wrapper --backend gemini`
92
+ - 角色提示词:`~/.claude/.ccg/prompts/gemini/frontend.md`
93
+ - 输出:前端组件代码
225
94
 
226
- ```bash
227
- if [ "$TASK_TYPE" == "backend" ] || [ "$TASK_TYPE" == "fullstack" ]; then
228
- BACKEND_PLAN=$(echo "$PLAN_CONTENT" | sed -n '/模块.*:后端/,/模块.*:/p')
229
-
230
- codeagent-wrapper --backend {{BACKEND_PRIMARY}} - "$PROJECT_DIR" <<'EOF'
231
- ROLE_FILE: ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md
232
-
233
- <TASK>
234
- 根据以下计划实施后端功能:
235
- $BACKEND_PLAN
236
-
237
- 要求:
238
- 1. 创建/修改所有 API 端点
239
- 2. 实现数据验证(Zod/Joi)
240
- 3. 统一错误处理
241
- 4. 添加中间件(认证、日志、CORS)
242
- 5. 编写数据库查询
243
- 6. 确保代码可测试性
244
- </TASK>
245
- EOF
246
-
247
- CODEX_SESSION=$(echo "$OUTPUT" | grep "SESSION_ID:" | awk '{print $2}')
248
- fi
249
- ```
95
+ **后端任务 → Codex**:
96
+ - 使用 `codeagent-wrapper --backend codex`
97
+ - 角色提示词:`~/.claude/.ccg/prompts/codex/architect.md`
98
+ - 输出:后端 API 代码
250
99
 
251
- ##### 全栈任务 并行调用
252
-
253
- ```bash
254
- if [ "$TASK_TYPE" == "fullstack" ]; then
255
- { 前端任务 } &
256
- { 后端任务 } &
257
- wait
258
- fi
259
- ```
260
-
261
- ---
100
+ **全栈任务并行调用**:
101
+ **执行步骤**:
102
+ 1. 在**同一个 Bash 调用**中启动两个后台进程(不加 wait,立即返回):
103
+ - Codex 后端 + Gemini 前端同时运行
104
+ 2. 使用 `TaskOutput` 监控并获取结果
105
+ 3. **⚠️ 强制规则:必须等待 TaskOutput 返回两个模型的完整结果后才能进入下一阶段,禁止跳过或提前继续!**
262
106
 
263
107
  #### 3.4 实施后验证
264
108
 
265
109
  ```bash
266
110
  git status --short
267
111
  git diff --name-status
268
-
269
- AskUserQuestion {
270
- question: "是否运行代码审查?",
271
- options: [
272
- { label: "是,运行 /ccg:review", description: "双模型代码审查" },
273
- { label: "跳过,手动检查", description: "稍后自行审查代码" }
274
- ]
275
- }
276
112
  ```
277
113
 
278
- 如果用户选择审查,调用 `/ccg:review`。
114
+ 询问用户是否运行代码审查(`/ccg:review`)。
279
115
 
280
116
  ---
281
117
 
282
- ### 步骤 4:后续建议
118
+ ### 4. 关键执行原则
283
119
 
284
- ```bash
285
- echo "✅ 功能开发完成!"
286
- echo ""
287
- echo "📋 后续步骤:"
288
- echo " 1. 运行测试:npm run test"
289
- echo " 2. 启动开发服务器:npm run dev"
290
- echo " 3. 验证功能是否正常"
291
- echo " 4. 运行 /ccg:commit 提交代码"
292
- echo ""
293
- echo "📂 计划文档:$PLAN_FILE"
294
- ```
120
+ 1. **强制响应要求**:每次交互必须首先说明判断的操作类型
121
+ 2. **文档一致性**:规划文档与实际执行保持同步
122
+ 3. **依赖关系管理**:前端任务必须确保 UI 设计完整性
123
+ 4. **多模型信任规则**:
124
+ - 前端以 Gemini 为准
125
+ - 后端以 Codex 为准
126
+ 5. **用户沟通透明**:所有判断和动作都要明确告知用户
295
127
 
296
128
  ---
297
129
 
298
- ## 命令参数
130
+ ## 使用方法
299
131
 
300
132
  ```bash
301
- /ccg:feat --mode=plan "实现用户登录" # 显式指定规划模式
302
- /ccg:feat --mode=implement "path/to/plan" # 显式指定实施模式
303
- /ccg:feat --mode=iterate "path" "调整需求" # 显式指定迭代模式
304
- /ccg:feat --type=frontend "实现登录页面" # 指定任务类型
305
- /ccg:feat --type=backend "实现登录 API"
306
- /ccg:feat --type=fullstack "实现完整登录"
133
+ /feat <功能描述>
307
134
  ```
308
-
309
- ---
310
-
311
- ## 使用示例
312
-
313
- ```bash
314
- # 示例 1:完整流程
315
- /ccg:feat 实现用户登录功能
316
-
317
- → 系统识别:需求规划模式
318
- → 检索上下文(MCP)
319
- → 判断任务类型:全栈
320
- → 调用 ui-ux-designer
321
- → 调用 planner
322
- → 生成计划:.claude/plan/用户登录功能.md
323
- → 用户确认:开始实施
324
- → 并行调用 Gemini(前端)+ Codex(后端)
325
- → 实施完成
326
- → 可选:运行代码审查
327
-
328
- # 示例 2:讨论迭代
329
- /ccg:feat 调整登录功能,增加"记住我"选项
330
-
331
- → 系统识别:讨论迭代模式
332
- → 读取现有计划:.claude/plan/用户登录功能.md
333
- → 调用 planner 重新规划
334
- → 生成新版本:.claude/plan/用户登录功能-1.md
335
-
336
- # 示例 3:直接实施
337
- /ccg:feat 按照 .claude/plan/用户登录功能.md 开始实施
338
-
339
- → 系统识别:执行实施模式
340
- → 读取计划文档
341
- → 分析任务类型:全栈
342
- → 并行调用 Gemini + Codex
343
- → 实施完成
344
- ```
345
-
346
- ---
347
-
348
- 现在开始智能功能开发!