ccg-workflow 1.6.0 → 1.7.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.
@@ -1,348 +1,127 @@
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
25
  #### 2.1 上下文检索
42
26
 
43
- 调用 mcp__ace-tool__search_context 检索相关代码:
44
-
45
- ```
46
- mcp__ace-tool__search_context {
47
- "query": "{{用户需求关键词}} + 相关代码实现、API、组件、数据模型、技术栈"
48
- }
49
- ```
50
-
51
- **期望结果**:现有代码位置、可复用组件、数据模型、API 结构、技术栈
52
-
53
- ---
27
+ 调用 `mcp__ace-tool__search_context` 检索相关代码、组件、技术栈。
54
28
 
55
29
  #### 2.2 任务类型判断
56
30
 
57
- 基于用户需求和检索结果:
58
-
59
31
  | 任务类型 | 判断依据 | 调用流程 |
60
32
  |----------|----------|----------|
61
33
  | **前端** | 页面、组件、UI、样式、布局 | ui-ux-designer → planner |
62
34
  | **后端** | API、接口、数据库、逻辑、算法 | planner |
63
35
  | **全栈** | 同时包含前后端 | ui-ux-designer → planner |
64
36
 
65
- ---
66
-
67
- #### 2.3 调用 ui-ux-designer(前端/全栈)
68
-
69
- 如果是前端或全栈任务:
37
+ #### 2.3 调用 Agents
70
38
 
71
- ```bash
72
- Task(subagent_type="general-purpose", description="调用 UI/UX 设计师") {
73
- prompt: "
39
+ **前端/全栈任务**:先调用 `ui-ux-designer` agent
40
+ ```
74
41
  执行 agent: ~/.claude/agents/ccg/ui-ux-designer.md
75
-
76
- 项目上下文: {{MCP 检索结果}}
77
- 用户需求: {{原始需求}}
78
- 技术栈: {{从检索结果提取}}
79
-
80
- 输出: UI/UX 设计方案(Markdown)
81
- "
82
- }
42
+ 输入: 项目上下文 + 用户需求 + 技术栈
43
+ 输出: UI/UX 设计方案
83
44
  ```
84
45
 
85
- ---
86
-
87
- #### 2.4 调用 planner
88
-
89
- ```bash
90
- Task(subagent_type="general-purpose", description="调用任务规划师") {
91
- prompt: "
46
+ **所有任务**:调用 `planner` agent
47
+ ```
92
48
  执行 agent: ~/.claude/agents/ccg/planner.md
93
-
94
- 项目上下文: {{MCP 检索结果}}
95
- {{如果有 UI/UX 设计方案,附加在此}}
96
- 用户需求: {{原始需求}}
97
- 技术栈: {{从检索结果提取}}
98
-
99
- 输出: 生成功能规划文档并保存到 .claude/plan/{{功能名}}.md
100
- "
101
- }
49
+ 输入: 项目上下文 + UI设计方案(如有) + 用户需求
50
+ 输出: 功能规划文档
102
51
  ```
103
52
 
104
- ---
105
-
106
- #### 2.5 计划版本控制
53
+ #### 2.4 保存计划
107
54
 
108
- **首次规划**:
109
- ```bash
110
- FEATURE_NAME="{{从需求提取的功能名}}"
111
- PLAN_FILE=".claude/plan/${FEATURE_NAME}.md"
55
+ **文件命名规则**:
56
+ - 首次规划:`.claude/plan/功能名.md`
57
+ - 迭代版本:`.claude/plan/功能名-1.md`、`.claude/plan/功能名-2.md`...
112
58
 
113
- if [ -f "$PLAN_FILE" ]; then
114
- PLAN_FILE=".claude/plan/${FEATURE_NAME}-1.md"
115
- fi
116
- ```
59
+ #### 2.5 交互确认
117
60
 
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
- ```
61
+ 规划完成后询问用户:
62
+ - **开始实施** → 步骤 3
63
+ - **讨论调整** 重新执行步骤 2.3
64
+ - **重新规划** → 删除当前计划,重新执行步骤 2
65
+ - **仅保存计划** 退出
132
66
 
133
67
  ---
134
68
 
135
- #### 2.6 交互确认
69
+ ### 3. 执行实施流程
136
70
 
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
- ---
71
+ #### 3.1 读取计划
157
72
 
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
- ---
73
+ 优先使用用户指定路径,否则读取最新的计划文件。
173
74
 
174
75
  #### 3.2 任务类型分析
175
76
 
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
- ---
77
+ 从计划提取任务分类:前端 / 后端 / 全栈
194
78
 
195
79
  #### 3.3 多模型路由实施
196
80
 
197
- ##### 前端任务 {{FRONTEND_PRIMARY}}
81
+ **参考 `multi-model-collaboration` skill 调用外部模型**
198
82
 
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}}
83
+ **前端任务 → Gemini**:
84
+ - 使用 `codeagent-wrapper --backend gemini`
85
+ - 角色提示词:`~/.claude/.ccg/prompts/gemini/frontend.md`
86
+ - 输出:前端组件代码
225
87
 
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
- ```
88
+ **后端任务 → Codex**:
89
+ - 使用 `codeagent-wrapper --backend codex`
90
+ - 角色提示词:`~/.claude/.ccg/prompts/codex/architect.md`
91
+ - 输出:后端 API 代码
250
92
 
251
- ##### 全栈任务 并行调用
252
-
253
- ```bash
254
- if [ "$TASK_TYPE" == "fullstack" ]; then
255
- { 前端任务 } &
256
- { 后端任务 } &
257
- wait
258
- fi
259
- ```
260
-
261
- ---
93
+ **全栈任务并行调用**:
94
+ **执行步骤**:
95
+ 1. 在**同一个 Bash 调用**中启动两个后台进程(不加 wait,立即返回):
96
+ - Codex 后端 + Gemini 前端同时运行
97
+ 2. 使用 `TaskOutput` 监控并获取结果
98
+ 3. **⚠️ 强制规则:必须等待 TaskOutput 返回两个模型的完整结果后才能进入下一阶段,禁止跳过或提前继续!**
262
99
 
263
100
  #### 3.4 实施后验证
264
101
 
265
102
  ```bash
266
103
  git status --short
267
104
  git diff --name-status
268
-
269
- AskUserQuestion {
270
- question: "是否运行代码审查?",
271
- options: [
272
- { label: "是,运行 /ccg:review", description: "双模型代码审查" },
273
- { label: "跳过,手动检查", description: "稍后自行审查代码" }
274
- ]
275
- }
276
105
  ```
277
106
 
278
- 如果用户选择审查,调用 `/ccg:review`。
107
+ 询问用户是否运行代码审查(`/ccg:review`)。
279
108
 
280
109
  ---
281
110
 
282
- ### 步骤 4:后续建议
111
+ ### 4. 关键执行原则
283
112
 
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
- ```
113
+ 1. **强制响应要求**:每次交互必须首先说明判断的操作类型
114
+ 2. **文档一致性**:规划文档与实际执行保持同步
115
+ 3. **依赖关系管理**:前端任务必须确保 UI 设计完整性
116
+ 4. **多模型信任规则**:
117
+ - 前端以 Gemini 为准
118
+ - 后端以 Codex 为准
119
+ 5. **用户沟通透明**:所有判断和动作都要明确告知用户
295
120
 
296
121
  ---
297
122
 
298
- ## 命令参数
123
+ ## 使用方法
299
124
 
300
125
  ```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 "实现完整登录"
126
+ /feat <功能描述>
307
127
  ```
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
- 现在开始智能功能开发!