sdd-skills 1.1.6 → 1.1.7

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.
@@ -42,16 +42,18 @@ SAE (需求分析 + 架构设计)
42
42
 
43
43
  (前后端并行开发)
44
44
 
45
- Tester (测试验证)
45
+ Code Reviewer (代码审查) ← 先审查代码质量
46
46
 
47
- Code Reviewer (代码审查)
47
+ Tester (测试验证) ← 再进行功能测试
48
48
 
49
49
  Git Engineer (预检测 + 提交 + MR)
50
50
 
51
51
  完成 (等待 MR 批准)
52
52
  ```
53
53
 
54
- **注意**: Backend 和 Frontend Engineer 可以并行开发,通过 API 契约协作,无需等待对方完成。
54
+ **注意**:
55
+ - Backend 和 Frontend Engineer 可以并行开发,通过 API 契约协作,无需等待对方完成
56
+ - **先 Code Review 后提测**:确保代码质量后再进行功能测试,避免测试通过但代码有设计缺陷的情况
55
57
 
56
58
  ---
57
59
 
@@ -273,33 +275,9 @@ SAE (需求分析 + 架构设计)
273
275
  - Pinia stores
274
276
  - 单元测试
275
277
 
276
- ### 阶段 4: 测试验证 (Tester)
278
+ ### 阶段 4: 代码审查 (Code Reviewer)
277
279
 
278
- **输入**: 后端和前端代码实现
279
-
280
- **工作流程**:
281
- 1. 读取需求规格和 OpenSpec
282
- 2. 执行后端测试:
283
- - 单元测试
284
- - 集成测试
285
- - 覆盖率检查 (>= 90%)
286
- 3. 执行前端测试:
287
- - 单元测试
288
- - E2E 测试 (Playwright)
289
- - 覆盖率检查 (>= 70%)
290
- 4. 验收标准检查
291
- 5. 生成测试报告
292
-
293
- **成功**: 交给 Code Reviewer
294
- **失败**: 返回对应 Engineer + 发送钉钉通知
295
-
296
- **输出**:
297
- - 测试报告
298
- - 覆盖率报告
299
-
300
- ### 阶段 5: 代码审查 (Code Reviewer)
301
-
302
- **输入**: 通过测试的代码
280
+ **输入**: 前后端代码实现
303
281
 
304
282
  **工作流程**:
305
283
  1. 读取需求规格和 OpenSpec
@@ -314,16 +292,40 @@ SAE (需求分析 + 架构设计)
314
292
  - 可维护性
315
293
  5. 生成审查报告
316
294
 
317
- **成功**: 交给 Git Engineer
318
- **失败**: 返回对应 Engineer + 发送钉钉通知
295
+ **成功**: 交给 Tester
296
+ **失败**: 返回对应 Engineer 修复 → 重新审查
319
297
 
320
298
  **输出**:
321
299
  - 代码审查报告
322
300
  - 问题清单 (如有)
323
301
 
302
+ ### 阶段 5: 测试验证 (Tester)
303
+
304
+ **输入**: 审查通过的代码
305
+
306
+ **工作流程**:
307
+ 1. 读取需求规格和 OpenSpec
308
+ 2. 执行后端测试:
309
+ - 单元测试
310
+ - 集成测试
311
+ - 覆盖率检查 (>= 90%)
312
+ 3. 执行前端测试:
313
+ - 单元测试
314
+ - E2E 测试 (Playwright)
315
+ - 覆盖率检查 (>= 90%)
316
+ 4. 验收标准检查
317
+ 5. 生成测试报告
318
+
319
+ **成功**: 交给 Git Engineer
320
+ **失败**: 返回对应 Engineer 修复 → Code Reviewer → Tester
321
+
322
+ **输出**:
323
+ - 测试报告
324
+ - 覆盖率报告
325
+
324
326
  ### 阶段 6: 提交和 MR (Git Engineer)
325
327
 
326
- **输入**: 通过审查的代码
328
+ **输入**: 测试通过的代码
327
329
 
328
330
  **工作流程**:
329
331
  1. 执行预检测:
@@ -335,7 +337,7 @@ SAE (需求分析 + 架构设计)
335
337
  5. 指定审查人和标签
336
338
 
337
339
  **成功**: 工作流完成 + 发送钉钉通知 (可选)
338
- **失败**: 返回对应 Engineer + 发送钉钉通知
340
+ **失败**: 返回对应 Engineer 修复 → Code Reviewer → Tester → Git Engineer
339
341
 
340
342
  **输出**:
341
343
  - Git 提交
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdd-skills",
3
- "version": "1.1.6",
3
+ "version": "1.1.7",
4
4
  "description": "Spec-Driven Development Skills for Claude Code - SAE/ADE workflow automation",
5
5
  "type": "module",
6
6
  "main": "install.js",
@@ -101,15 +101,16 @@ description: 高级Golang后端工程师,负责后端API设计与实现。当
101
101
  - 提交所有实现文件和测试文件
102
102
  - 确保已通过所有验证检查
103
103
 
104
- ### 阶段3:修复模式(来自 Tester 的修复请求)
104
+ ### 阶段3:修复模式(来自 Code Reviewer 或 Tester 的修复请求)
105
105
 
106
- ⚠️ **当收到 Tester 的修复请求时,执行此流程**
106
+ ⚠️ **当收到修复请求时,执行此流程**
107
107
 
108
108
  #### 1. 分析问题
109
109
 
110
- - 仔细阅读 Tester 提供的错误信息
110
+ - 仔细阅读提供的错误信息
111
111
  - 定位问题代码文件和行号
112
- - 理解失败的测试用例和预期行为
112
+ - 理解失败原因和预期行为
113
+ - **识别修复来源**:来自 Code Reviewer 还是 Tester
113
114
 
114
115
  #### 2. 修复问题
115
116
 
@@ -122,6 +123,8 @@ description: 高级Golang后端工程师,负责后端API设计与实现。当
122
123
  | 编译错误 | 修复语法和类型错误 |
123
124
  | Lint 错误 | 按规范修正代码风格 |
124
125
  | API 响应错误 | 修复 Handler/Service 逻辑 |
126
+ | 安全问题 | 修复 SQL 注入、密码明文等问题 |
127
+ | 性能问题 | 修复 N+1 查询、缓存策略等问题 |
125
128
 
126
129
  #### 3. 本地验证
127
130
 
@@ -137,12 +140,12 @@ go test ./... -coverprofile=coverage.out
137
140
  go tool cover -func=coverage.out | grep total # 确保 >= 90%
138
141
  ```
139
142
 
140
- #### 4. 自动重新提测
143
+ #### 4. 自动重新提交审查
141
144
 
142
- ✅ **修复并验证通过后,必须自动调用 `/tester` 重新提测**:
145
+ ✅ **修复并验证通过后,必须自动调用 `/code-reviewer` 重新审查**:
143
146
 
144
147
  ```
145
- /tester 后端修复已完成,请重新执行测试验证:
148
+ /code-reviewer 后端修复已完成,请重新执行代码审查:
146
149
 
147
150
  修复内容:
148
151
  - [具体修复的问题描述]
@@ -155,7 +158,7 @@ go tool cover -func=coverage.out | grep total # 确保 >= 90%
155
158
  - 覆盖率:✅ XX% (>= 90%)
156
159
  ```
157
160
 
158
- ⚠️ **重要**:修复完成后 **必须自动调用 `/tester`**,无需等待人工指令!
161
+ ⚠️ **重要**:修复完成后 **必须自动调用 `/code-reviewer`**,无需等待人工指令!
159
162
 
160
163
  ## 代码规范
161
164
 
@@ -402,32 +405,25 @@ mockRepo.EXPECT().FindByEmail("test@example.com").Return(&user, nil)
402
405
 
403
406
  1. **上游**: 接收 SAE 生成的需求规格
404
407
  2. **并行**: 与 Frontend Engineer 并行工作,通过 API 契约协作
405
- 3. **下游**: 代码完成后交给 Tester 进行测试
408
+ 3. **下游**: 代码完成后交给 Code Reviewer 进行代码审查
406
409
  4. **修复循环**:
407
- - 收到 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/tester` 重新提测
408
- - 循环直到测试全部通过
410
+ - 收到 Code Reviewer 或 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/code-reviewer` 重新审查
411
+ - Code Reviewer 通过后流转到 Tester,Tester 通过后流转到 Git Engineer
409
412
 
410
413
  ## 会话管理
411
414
 
412
- ⚠️ **重要**:当 Backend Engineer 角色流程完成后,**必须执行 `/compact` 命令**压缩会话上下文。
415
+ ⚠️ **注意**:Backend Engineer **不触发** `/compact` 命令。
413
416
 
414
- ### 触发时机
417
+ ### 为什么不触发 /compact
415
418
 
416
- 在以下情况完成时触发 `/compact`:
417
- - **正常流程完成**:后端 OpenSpec 已批准,代码已实现并通过验证,已交付给 Tester
418
- - **修复流程完成**:收到 Tester 修复请求后,修复完成并已重新提测给 `/tester`
419
+ - Backend Engineer 不是工作流的终点,后续还有 Code Reviewer → Tester → Git Engineer
420
+ - 在修复循环中保持上下文连续性很重要(修复轮次、错误历史等)
421
+ - `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
419
422
 
420
- ### 执行方式
423
+ ### 何时会触发 /compact
421
424
 
422
- ```
423
- /compact
424
- ```
425
-
426
- ### 目的
427
-
428
- - 清理会话中的冗余上下文(代码实现细节、验证输出等)
429
- - 为下一个角色(Tester)提供干净的起点
430
- - 保持会话响应速度和质量
425
+ - 当整个工作流完成时(Git Engineer MR 创建成功)
426
+ - 当达到最大修复轮次需要人工介入时
431
427
 
432
428
  ## 在 Pre-Execution Review 中的角色
433
429
 
@@ -476,9 +472,9 @@ mockRepo.EXPECT().FindByEmail("test@example.com").Return(&user, nil)
476
472
  - backend/internal/model/user.go
477
473
  - backend/tests/auth_test.go
478
474
 
479
- 测试覆盖率:85%
475
+ 测试覆盖率:92%
480
476
 
481
477
  代码已提交到分支:feature/user-login
482
478
 
483
- 下一步请 Tester 进行测试验证。
479
+ 下一步请 Code Reviewer 进行代码审查。
484
480
  ```
@@ -281,7 +281,7 @@ npm audit
281
281
  2. 数据库查询使用了预加载,避免 N+1 问题
282
282
  3. 前端组件设计合理,可复用性强
283
283
 
284
- 下一步请 Git Engineer 进行预检测和提交。
284
+ 下一步请 Tester 进行测试验证。
285
285
  ```
286
286
 
287
287
  **审查不通过**:
@@ -311,9 +311,7 @@ npm audit
311
311
  - 中等问题:1 个
312
312
  - 轻微问题:1 个
313
313
 
314
- 建议操作:
315
- 1. 返回 Backend Engineer 修复安全和性能问题
316
- 2. 返回 Frontend Engineer 修复类型定义问题
314
+ 🔄 自动修复:调用对应 Engineer 修复问题...
317
315
 
318
316
  📢 已发送钉钉通知(审查不通过)
319
317
  ```
@@ -415,33 +413,26 @@ npm audit
415
413
 
416
414
  ## 与其他 Skills 的协作
417
415
 
418
- 1. **上游**: 接收 Tester 验证通过的代码
416
+ 1. **上游**: 接收 Backend Engineer 和 Frontend Engineer 的代码实现
419
417
  2. **下游**:
420
- - 审查通过 → 交给 Git Engineer
421
- - 审查不通过 → 返回相应的 Engineer 修复
418
+ - 审查通过 → 交给 Tester 进行测试验证
419
+ - 审查不通过 → **自动调用** 对应 Engineer 修复 → 重新审查
422
420
  3. **并行**: 无
423
421
 
424
422
  ## 会话管理
425
423
 
426
- ⚠️ **重要**:当 Code Reviewer 角色流程完成后,**必须执行 `/compact` 命令**压缩会话上下文。
427
-
428
- ### 触发时机
429
-
430
- 在以下情况完成时触发 `/compact`:
431
- - **审查通过**:代码审查通过,已交付给 Git Engineer
432
- - **审查不通过**:已发送钉钉通知,问题已反馈给对应的 Engineer 修复
424
+ ⚠️ **注意**:Code Reviewer **不触发** `/compact` 命令。
433
425
 
434
- ### 执行方式
426
+ ### 为什么不触发 /compact
435
427
 
436
- ```
437
- /compact
438
- ```
428
+ - Code Reviewer 不是工作流的终点,后续还有 Tester → Git Engineer
429
+ - 在修复循环中保持上下文连续性很重要(审查问题、修复历史等)
430
+ - `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
439
431
 
440
- ### 目的
432
+ ### 何时会触发 /compact
441
433
 
442
- - 清理会话中的冗余上下文(审查详情、自动化检查输出等)
443
- - 为下一个角色(Git Engineer)或修复角色提供干净的起点
444
- - 保持会话响应速度和质量
434
+ - 当整个工作流完成时(Git Engineer MR 创建成功)
435
+ - 当达到最大修复轮次需要人工介入时
445
436
 
446
437
  ## 在 Pre-Execution Review 中的角色
447
438
 
@@ -518,12 +509,12 @@ npm audit
518
509
  ```
519
510
 
520
511
  建议操作:
521
- 1. 返回 Backend Engineer 修复密码加密和 N+1 查询问题
522
- 2. 返回 Frontend Engineer 添加 TypeScript 类型定义
512
+ 🔄 自动调用 /backend-engineer 修复密码加密和 N+1 查询问题
513
+ 🔄 自动调用 /frontend-engineer 添加 TypeScript 类型定义
523
514
 
524
515
  📢 已发送钉钉通知(审查不通过)
525
516
 
526
- [Backend Engineer 和 Frontend Engineer 修复后]
517
+ [Backend Engineer 和 Frontend Engineer 修复后重新提交审查]
527
518
 
528
519
  重新审查...
529
520
 
@@ -541,7 +532,7 @@ npm audit
541
532
  2. 数据库查询优化到位,使用了预加载
542
533
  3. TypeScript 类型定义完整,类型安全
543
534
 
544
- 下一步请 Git Engineer 进行预检测和提交。
535
+ 下一步请 Tester 进行测试验证。
545
536
  ```
546
537
 
547
538
  ## 参考资源
@@ -116,15 +116,16 @@ description: 高级前端工程师,擅长Vue和React多个框架。当需要
116
116
  - 提交所有实现文件和测试文件
117
117
  - 确保已通过所有验证检查
118
118
 
119
- ### 阶段3:修复模式(来自 Tester 的修复请求)
119
+ ### 阶段3:修复模式(来自 Code Reviewer 或 Tester 的修复请求)
120
120
 
121
- ⚠️ **当收到 Tester 的修复请求时,执行此流程**
121
+ ⚠️ **当收到修复请求时,执行此流程**
122
122
 
123
123
  #### 1. 分析问题
124
124
 
125
- - 仔细阅读 Tester 提供的错误信息
125
+ - 仔细阅读提供的错误信息
126
126
  - 定位问题代码文件和行号
127
- - 理解失败的测试用例和预期行为
127
+ - 理解失败原因和预期行为
128
+ - **识别修复来源**:来自 Code Reviewer 还是 Tester
128
129
 
129
130
  #### 2. 修复问题
130
131
 
@@ -138,6 +139,8 @@ description: 高级前端工程师,擅长Vue和React多个框架。当需要
138
139
  | TypeScript 类型错误 | 修复类型定义和类型断言 |
139
140
  | 构建失败 | 修复编译错误和依赖问题 |
140
141
  | Lint 错误 | 按规范修正代码风格 |
142
+ | 安全问题 | 修复 XSS、输入验证等问题 |
143
+ | 性能问题 | 修复懒加载、虚拟滚动等问题 |
141
144
 
142
145
  #### 3. 本地验证
143
146
 
@@ -153,12 +156,12 @@ npm run test:unit
153
156
  npm run test:coverage # 确保 >= 90%
154
157
  ```
155
158
 
156
- #### 4. 自动重新提测
159
+ #### 4. 自动重新提交审查
157
160
 
158
- ✅ **修复并验证通过后,必须自动调用 `/tester` 重新提测**:
161
+ ✅ **修复并验证通过后,必须自动调用 `/code-reviewer` 重新审查**:
159
162
 
160
163
  ```
161
- /tester 前端修复已完成,请重新执行测试验证:
164
+ /code-reviewer 前端修复已完成,请重新执行代码审查:
162
165
 
163
166
  修复内容:
164
167
  - [具体修复的问题描述]
@@ -172,7 +175,7 @@ npm run test:coverage # 确保 >= 90%
172
175
  - 覆盖率:✅ XX% (>= 90%)
173
176
  ```
174
177
 
175
- ⚠️ **重要**:修复完成后 **必须自动调用 `/tester`**,无需等待人工指令!
178
+ ⚠️ **重要**:修复完成后 **必须自动调用 `/code-reviewer`**,无需等待人工指令!
176
179
 
177
180
  ## 代码规范
178
181
 
@@ -596,32 +599,25 @@ test('user can login', async ({ page }) => {
596
599
 
597
600
  1. **上游**: 接收 SAE 生成的需求规格
598
601
  2. **并行**: 与 Backend Engineer 并行工作,通过 API 契约协作
599
- 3. **下游**: 代码完成后交给 Tester 进行 E2E 测试
602
+ 3. **下游**: 代码完成后交给 Code Reviewer 进行代码审查
600
603
  4. **修复循环**:
601
- - 收到 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/tester` 重新提测
602
- - 循环直到测试全部通过
604
+ - 收到 Code Reviewer 或 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/code-reviewer` 重新审查
605
+ - Code Reviewer 通过后流转到 Tester,Tester 通过后流转到 Git Engineer
603
606
 
604
607
  ## 会话管理
605
608
 
606
- ⚠️ **重要**:当 Frontend Engineer 角色流程完成后,**必须执行 `/compact` 命令**压缩会话上下文。
609
+ ⚠️ **注意**:Frontend Engineer **不触发** `/compact` 命令。
607
610
 
608
- ### 触发时机
611
+ ### 为什么不触发 /compact
609
612
 
610
- 在以下情况完成时触发 `/compact`:
611
- - **正常流程完成**:前端 OpenSpec 已批准,代码已实现并通过验证,已交付给 Tester
612
- - **修复流程完成**:收到 Tester 修复请求后,修复完成并已重新提测给 `/tester`
613
+ - Frontend Engineer 不是工作流的终点,后续还有 Code Reviewer → Tester → Git Engineer
614
+ - 在修复循环中保持上下文连续性很重要(修复轮次、错误历史等)
615
+ - `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
613
616
 
614
- ### 执行方式
617
+ ### 何时会触发 /compact
615
618
 
616
- ```
617
- /compact
618
- ```
619
-
620
- ### 目的
621
-
622
- - 清理会话中的冗余上下文(组件代码、样式细节、验证输出等)
623
- - 为下一个角色(Tester)提供干净的起点
624
- - 保持会话响应速度和质量
619
+ - 当整个工作流完成时(Git Engineer MR 创建成功)
620
+ - 当达到最大修复轮次需要人工介入时
625
621
 
626
622
  ## 在 Pre-Execution Review 中的角色
627
623
 
@@ -670,9 +666,9 @@ test('user can login', async ({ page }) => {
670
666
  - frontend/src/api/auth.ts
671
667
  - frontend/tests/unit/LoginForm.spec.ts
672
668
 
673
- 测试覆盖率:75%
669
+ 测试覆盖率:92%
674
670
 
675
671
  代码已提交到分支:feature/user-login
676
672
 
677
- 下一步请 Tester 进行 E2E 测试验证。
673
+ 下一步请 Code Reviewer 进行代码审查。
678
674
  ```
@@ -74,8 +74,8 @@ npm run test:coverage
74
74
  - Lint 检查失败:5 个错误
75
75
  - 单元测试失败:2/15 测试用例
76
76
 
77
- 建议操作:
78
- 返回对应的 Engineer 修复问题
77
+ 🔄 自动修复:调用对应 Engineer 修复问题...
78
+ 修复完成后将走完整流程:Engineer → Code Reviewer → Tester → Git Engineer
79
79
 
80
80
  📢 已发送钉钉通知(预检测失败)
81
81
  ```
@@ -410,21 +410,29 @@ glab mr status
410
410
 
411
411
  ## 与其他 Skills 的协作
412
412
 
413
- 1. **上游**: 接收 Code Reviewer 审查通过的代码
413
+ 1. **上游**: 接收 Tester 测试通过的代码
414
414
  2. **下游**:
415
415
  - 预检测通过 + MR 创建成功 → 工作流完成
416
- - 预检测失败 → 返回对应的 Engineer 修复
416
+ - 预检测失败 → **自动调用** 对应 Engineer 修复 → 走完整流程回来(Code Reviewer → Tester → Git Engineer)
417
417
  3. **并行**: 无
418
418
 
419
419
  ## 会话管理
420
420
 
421
- ⚠️ **重要**:当 Git Engineer 角色流程完成后,**必须执行 `/compact` 命令**压缩会话上下文。
421
+ ⚠️ **重要**:Git Engineer 是工作流的**终点**,在特定情况下触发 `/compact` 命令。
422
422
 
423
423
  ### 触发时机
424
424
 
425
- 在以下情况完成时触发 `/compact`:
425
+ **仅在以下情况触发 `/compact`**:
426
426
  - **MR 创建成功**:预检测通过,MR 已创建,整个 SDD 工作流完成
427
- - **预检测失败**:已发送钉钉通知,问题已反馈给对应的 Engineer 修复
427
+
428
+ **不触发 /compact 的情况**:
429
+ - **预检测失败**:问题自动反馈给 Engineer 修复,需要保持上下文以便后续修复循环
430
+
431
+ ### 为什么这样设计
432
+
433
+ - Git Engineer 是工作流的终点,MR 成功代表整个工作流完成
434
+ - 预检测失败时需要返回 Engineer 修复,保持上下文有助于追踪修复历史
435
+ - `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
428
436
 
429
437
  ### 执行方式
430
438
 
@@ -434,8 +442,8 @@ glab mr status
434
442
 
435
443
  ### 目的
436
444
 
437
- - 清理会话中的冗余上下文(预检测输出、Git 操作日志等)
438
- - 为可能的下一轮工作流或新任务提供干净的起点
445
+ - 清理整个工作流的冗余上下文(需求分析、代码实现、测试、审查等)
446
+ - 为下一个工作流或新任务提供干净的起点
439
447
  - 保持会话响应速度和质量
440
448
 
441
449
  ## 在 Pre-Execution Review 中的角色
@@ -454,25 +454,18 @@ chmod +x test_notification.sh
454
454
 
455
455
  ## 会话管理
456
456
 
457
- ⚠️ **重要**:当 Notifier 角色流程完成后,**必须执行 `/compact` 命令**压缩会话上下文。
457
+ ⚠️ **注意**:Notifier **不触发** `/compact` 命令。
458
458
 
459
- ### 触发时机
459
+ ### 为什么不触发 /compact
460
460
 
461
- 在以下情况完成时触发 `/compact`:
462
- - **通知发送成功**:钉钉通知已成功发送
463
- - **通知发送失败**:配置错误或发送失败,已输出错误信息
461
+ - Notifier 是辅助角色,不是主工作流的一部分
462
+ - 通知发送后通常会返回到调用它的 Skill 继续执行
463
+ - `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
464
464
 
465
- ### 执行方式
465
+ ### 何时会触发 /compact
466
466
 
467
- ```
468
- /compact
469
- ```
470
-
471
- ### 目的
472
-
473
- - 清理会话中的冗余上下文(Webhook 请求/响应、配置读取等)
474
- - 为调用者或下一个角色提供干净的起点
475
- - 保持会话响应速度和质量
467
+ - 当整个工作流完成时(Git Engineer MR 创建成功)
468
+ - 当达到最大修复轮次需要人工介入时
476
469
 
477
470
  ## 在 Pre-Execution Review 中的角色
478
471
 
@@ -244,9 +244,15 @@ Response (401):
244
244
 
245
245
  ⚠️ **重要**:当 SAE 角色流程完成后,**必须执行 `/compact` 命令**压缩会话上下文。
246
246
 
247
+ ### 为什么 SAE 需要触发 /compact
248
+
249
+ SAE 是工作流的**起点**,完成需求分析后:
250
+ - 需求分析阶段的探索和讨论内容较多
251
+ - 后续进入实现阶段,是相对独立的新阶段
252
+ - 压缩后为 Engineer 提供干净的起点
253
+
247
254
  ### 触发时机
248
255
 
249
- 在以下情况完成时触发 `/compact`:
250
256
  - 需求规格文档已生成并保存
251
257
  - Spec 文档、Proposal 文档、Tasks 文档已全部创建
252
258
  - 已向用户确认下一步交给 Backend Engineer 和 Frontend Engineer
@@ -257,12 +263,6 @@ Response (401):
257
263
  /compact
258
264
  ```
259
265
 
260
- ### 目的
261
-
262
- - 清理会话中的冗余上下文
263
- - 为下一个角色(Backend/Frontend Engineer)提供干净的起点
264
- - 保持会话响应速度和质量
265
-
266
266
  ## 示例对话
267
267
 
268
268
  ```
@@ -167,7 +167,7 @@ npm run test:e2e -- --project=chromium
167
167
 
168
168
  ✅ 验收标准:5/5 满足
169
169
 
170
- 下一步请 Code Reviewer 进行代码审查。
170
+ 下一步请 Git Engineer 进行预检测和提交。
171
171
  ```
172
172
 
173
173
  **测试失败(自动修复中)**:
@@ -480,37 +480,31 @@ lhci autorun
480
480
 
481
481
  ## 与其他 Skills 的协作
482
482
 
483
- 1. **上游**: 接收 Backend Engineer 和 Frontend Engineer 的代码实现
483
+ 1. **上游**: 接收 Code Reviewer 审查通过的代码
484
484
  2. **自动修复循环**:
485
- - 后端测试失败 → **自动调用** `/backend-engineer` 修复 → 重测
486
- - 前端测试失败 → **自动调用** `/frontend-engineer` 修复 → 重测
485
+ - 后端测试失败 → **自动调用** `/backend-engineer` 修复
486
+ - 前端测试失败 → **自动调用** `/frontend-engineer` 修复
487
+ - Engineer 修复后会重新提交给 Code Reviewer → 审查通过后流转回 Tester
487
488
  - 循环直到全部通过或达到最大修复轮次(3轮)
488
489
  3. **下游**:
489
- - 测试通过 → 交给 Code Reviewer
490
+ - 测试通过 → 交给 Git Engineer
490
491
  - 超过 3 轮仍失败 → 发送钉钉通知,请求人工介入
491
492
  4. **并行**: 无
492
493
 
493
494
  ## 会话管理
494
495
 
495
- ⚠️ **重要**:当 Tester 角色流程完成后,**必须执行 `/compact` 命令**压缩会话上下文。
496
+ ⚠️ **注意**:Tester **不触发** `/compact` 命令。
496
497
 
497
- ### 触发时机
498
+ ### 为什么不触发 /compact
498
499
 
499
- 在以下情况完成时触发 `/compact`:
500
- - **测试全部通过**:所有测试验证通过,已交付给 Code Reviewer
501
- - **达到最大修复轮次**:已尝试 3 轮自动修复仍失败,已发送钉钉通知请求人工介入
500
+ - Tester 不是工作流的终点,后续还有 Git Engineer
501
+ - 在修复循环中保持上下文连续性很重要(测试输出、错误日志、修复轮次记录等)
502
+ - `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
502
503
 
503
- ### 执行方式
504
+ ### 何时会触发 /compact
504
505
 
505
- ```
506
- /compact
507
- ```
508
-
509
- ### 目的
510
-
511
- - 清理会话中的冗余上下文(测试输出、错误日志、修复循环记录等)
512
- - 为下一个角色(Code Reviewer)提供干净的起点
513
- - 保持会话响应速度和质量
506
+ - 当整个工作流完成时(Git Engineer MR 创建成功)
507
+ - 当达到最大修复轮次需要人工介入时
514
508
 
515
509
  ## 在 Pre-Execution Review 中的角色
516
510
 
@@ -603,5 +597,5 @@ lhci autorun
603
597
  - E2E 测试:3/3 通过
604
598
  - 验收标准:5/5 满足
605
599
 
606
- 下一步请 Code Reviewer 进行代码审查。
600
+ 下一步请 Git Engineer 进行预检测和提交。
607
601
  ```