sdd-skills 1.1.5 → 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.
- package/docs/workflow-guide.md +35 -33
- package/package.json +1 -1
- package/skills/backend-engineer/SKILL.md +31 -13
- package/skills/code-reviewer/SKILL.md +24 -11
- package/skills/frontend-engineer/SKILL.md +31 -13
- package/skills/git-engineer/SKILL.md +34 -4
- package/skills/notifier/SKILL.md +15 -0
- package/skills/sae/SKILL.md +23 -0
- package/skills/tester/SKILL.md +22 -6
package/docs/workflow-guide.md
CHANGED
|
@@ -42,16 +42,18 @@ SAE (需求分析 + 架构设计)
|
|
|
42
42
|
↓
|
|
43
43
|
(前后端并行开发)
|
|
44
44
|
↓
|
|
45
|
-
|
|
45
|
+
Code Reviewer (代码审查) ← 先审查代码质量
|
|
46
46
|
↓
|
|
47
|
-
|
|
47
|
+
Tester (测试验证) ← 再进行功能测试
|
|
48
48
|
↓
|
|
49
49
|
Git Engineer (预检测 + 提交 + MR)
|
|
50
50
|
↓
|
|
51
51
|
完成 (等待 MR 批准)
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
**注意**:
|
|
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:
|
|
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
|
-
**成功**: 交给
|
|
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
|
@@ -101,15 +101,16 @@ description: 高级Golang后端工程师,负责后端API设计与实现。当
|
|
|
101
101
|
- 提交所有实现文件和测试文件
|
|
102
102
|
- 确保已通过所有验证检查
|
|
103
103
|
|
|
104
|
-
### 阶段3:修复模式(来自 Tester 的修复请求)
|
|
104
|
+
### 阶段3:修复模式(来自 Code Reviewer 或 Tester 的修复请求)
|
|
105
105
|
|
|
106
|
-
⚠️
|
|
106
|
+
⚠️ **当收到修复请求时,执行此流程**
|
|
107
107
|
|
|
108
108
|
#### 1. 分析问题
|
|
109
109
|
|
|
110
|
-
-
|
|
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
|
-
✅ **修复并验证通过后,必须自动调用 `/
|
|
145
|
+
✅ **修复并验证通过后,必须自动调用 `/code-reviewer` 重新审查**:
|
|
143
146
|
|
|
144
147
|
```
|
|
145
|
-
/
|
|
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
|
-
⚠️ **重要**:修复完成后 **必须自动调用 `/
|
|
161
|
+
⚠️ **重要**:修复完成后 **必须自动调用 `/code-reviewer`**,无需等待人工指令!
|
|
159
162
|
|
|
160
163
|
## 代码规范
|
|
161
164
|
|
|
@@ -402,10 +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. **下游**: 代码完成后交给
|
|
408
|
+
3. **下游**: 代码完成后交给 Code Reviewer 进行代码审查
|
|
406
409
|
4. **修复循环**:
|
|
407
|
-
- 收到 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/
|
|
408
|
-
-
|
|
410
|
+
- 收到 Code Reviewer 或 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/code-reviewer` 重新审查
|
|
411
|
+
- Code Reviewer 通过后流转到 Tester,Tester 通过后流转到 Git Engineer
|
|
412
|
+
|
|
413
|
+
## 会话管理
|
|
414
|
+
|
|
415
|
+
⚠️ **注意**:Backend Engineer **不触发** `/compact` 命令。
|
|
416
|
+
|
|
417
|
+
### 为什么不触发 /compact
|
|
418
|
+
|
|
419
|
+
- Backend Engineer 不是工作流的终点,后续还有 Code Reviewer → Tester → Git Engineer
|
|
420
|
+
- 在修复循环中保持上下文连续性很重要(修复轮次、错误历史等)
|
|
421
|
+
- `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
|
|
422
|
+
|
|
423
|
+
### 何时会触发 /compact
|
|
424
|
+
|
|
425
|
+
- 当整个工作流完成时(Git Engineer MR 创建成功)
|
|
426
|
+
- 当达到最大修复轮次需要人工介入时
|
|
409
427
|
|
|
410
428
|
## 在 Pre-Execution Review 中的角色
|
|
411
429
|
|
|
@@ -454,9 +472,9 @@ mockRepo.EXPECT().FindByEmail("test@example.com").Return(&user, nil)
|
|
|
454
472
|
- backend/internal/model/user.go
|
|
455
473
|
- backend/tests/auth_test.go
|
|
456
474
|
|
|
457
|
-
测试覆盖率:
|
|
475
|
+
测试覆盖率:92%
|
|
458
476
|
|
|
459
477
|
代码已提交到分支:feature/user-login
|
|
460
478
|
|
|
461
|
-
下一步请
|
|
479
|
+
下一步请 Code Reviewer 进行代码审查。
|
|
462
480
|
```
|
|
@@ -281,7 +281,7 @@ npm audit
|
|
|
281
281
|
2. 数据库查询使用了预加载,避免 N+1 问题
|
|
282
282
|
3. 前端组件设计合理,可复用性强
|
|
283
283
|
|
|
284
|
-
下一步请
|
|
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,12 +413,27 @@ npm audit
|
|
|
415
413
|
|
|
416
414
|
## 与其他 Skills 的协作
|
|
417
415
|
|
|
418
|
-
1. **上游**: 接收
|
|
416
|
+
1. **上游**: 接收 Backend Engineer 和 Frontend Engineer 的代码实现
|
|
419
417
|
2. **下游**:
|
|
420
|
-
- 审查通过 → 交给
|
|
421
|
-
- 审查不通过 →
|
|
418
|
+
- 审查通过 → 交给 Tester 进行测试验证
|
|
419
|
+
- 审查不通过 → **自动调用** 对应 Engineer 修复 → 重新审查
|
|
422
420
|
3. **并行**: 无
|
|
423
421
|
|
|
422
|
+
## 会话管理
|
|
423
|
+
|
|
424
|
+
⚠️ **注意**:Code Reviewer **不触发** `/compact` 命令。
|
|
425
|
+
|
|
426
|
+
### 为什么不触发 /compact
|
|
427
|
+
|
|
428
|
+
- Code Reviewer 不是工作流的终点,后续还有 Tester → Git Engineer
|
|
429
|
+
- 在修复循环中保持上下文连续性很重要(审查问题、修复历史等)
|
|
430
|
+
- `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
|
|
431
|
+
|
|
432
|
+
### 何时会触发 /compact
|
|
433
|
+
|
|
434
|
+
- 当整个工作流完成时(Git Engineer MR 创建成功)
|
|
435
|
+
- 当达到最大修复轮次需要人工介入时
|
|
436
|
+
|
|
424
437
|
## 在 Pre-Execution Review 中的角色
|
|
425
438
|
|
|
426
439
|
提供代码审查视角评估:
|
|
@@ -496,12 +509,12 @@ npm audit
|
|
|
496
509
|
```
|
|
497
510
|
|
|
498
511
|
建议操作:
|
|
499
|
-
|
|
500
|
-
|
|
512
|
+
🔄 自动调用 /backend-engineer 修复密码加密和 N+1 查询问题
|
|
513
|
+
🔄 自动调用 /frontend-engineer 添加 TypeScript 类型定义
|
|
501
514
|
|
|
502
515
|
📢 已发送钉钉通知(审查不通过)
|
|
503
516
|
|
|
504
|
-
[Backend Engineer 和 Frontend Engineer
|
|
517
|
+
[Backend Engineer 和 Frontend Engineer 修复后重新提交审查]
|
|
505
518
|
|
|
506
519
|
重新审查...
|
|
507
520
|
|
|
@@ -519,7 +532,7 @@ npm audit
|
|
|
519
532
|
2. 数据库查询优化到位,使用了预加载
|
|
520
533
|
3. TypeScript 类型定义完整,类型安全
|
|
521
534
|
|
|
522
|
-
下一步请
|
|
535
|
+
下一步请 Tester 进行测试验证。
|
|
523
536
|
```
|
|
524
537
|
|
|
525
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
|
-
⚠️
|
|
121
|
+
⚠️ **当收到修复请求时,执行此流程**
|
|
122
122
|
|
|
123
123
|
#### 1. 分析问题
|
|
124
124
|
|
|
125
|
-
-
|
|
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
|
-
✅ **修复并验证通过后,必须自动调用 `/
|
|
161
|
+
✅ **修复并验证通过后,必须自动调用 `/code-reviewer` 重新审查**:
|
|
159
162
|
|
|
160
163
|
```
|
|
161
|
-
/
|
|
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
|
-
⚠️ **重要**:修复完成后 **必须自动调用 `/
|
|
178
|
+
⚠️ **重要**:修复完成后 **必须自动调用 `/code-reviewer`**,无需等待人工指令!
|
|
176
179
|
|
|
177
180
|
## 代码规范
|
|
178
181
|
|
|
@@ -596,10 +599,25 @@ test('user can login', async ({ page }) => {
|
|
|
596
599
|
|
|
597
600
|
1. **上游**: 接收 SAE 生成的需求规格
|
|
598
601
|
2. **并行**: 与 Backend Engineer 并行工作,通过 API 契约协作
|
|
599
|
-
3. **下游**: 代码完成后交给
|
|
602
|
+
3. **下游**: 代码完成后交给 Code Reviewer 进行代码审查
|
|
600
603
|
4. **修复循环**:
|
|
601
|
-
- 收到 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/
|
|
602
|
-
-
|
|
604
|
+
- 收到 Code Reviewer 或 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/code-reviewer` 重新审查
|
|
605
|
+
- Code Reviewer 通过后流转到 Tester,Tester 通过后流转到 Git Engineer
|
|
606
|
+
|
|
607
|
+
## 会话管理
|
|
608
|
+
|
|
609
|
+
⚠️ **注意**:Frontend Engineer **不触发** `/compact` 命令。
|
|
610
|
+
|
|
611
|
+
### 为什么不触发 /compact
|
|
612
|
+
|
|
613
|
+
- Frontend Engineer 不是工作流的终点,后续还有 Code Reviewer → Tester → Git Engineer
|
|
614
|
+
- 在修复循环中保持上下文连续性很重要(修复轮次、错误历史等)
|
|
615
|
+
- `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
|
|
616
|
+
|
|
617
|
+
### 何时会触发 /compact
|
|
618
|
+
|
|
619
|
+
- 当整个工作流完成时(Git Engineer MR 创建成功)
|
|
620
|
+
- 当达到最大修复轮次需要人工介入时
|
|
603
621
|
|
|
604
622
|
## 在 Pre-Execution Review 中的角色
|
|
605
623
|
|
|
@@ -648,9 +666,9 @@ test('user can login', async ({ page }) => {
|
|
|
648
666
|
- frontend/src/api/auth.ts
|
|
649
667
|
- frontend/tests/unit/LoginForm.spec.ts
|
|
650
668
|
|
|
651
|
-
测试覆盖率:
|
|
669
|
+
测试覆盖率:92%
|
|
652
670
|
|
|
653
671
|
代码已提交到分支:feature/user-login
|
|
654
672
|
|
|
655
|
-
下一步请
|
|
673
|
+
下一步请 Code Reviewer 进行代码审查。
|
|
656
674
|
```
|
|
@@ -74,8 +74,8 @@ npm run test:coverage
|
|
|
74
74
|
- Lint 检查失败:5 个错误
|
|
75
75
|
- 单元测试失败:2/15 测试用例
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
🔄 自动修复:调用对应 Engineer 修复问题...
|
|
78
|
+
修复完成后将走完整流程:Engineer → Code Reviewer → Tester → Git Engineer
|
|
79
79
|
|
|
80
80
|
📢 已发送钉钉通知(预检测失败)
|
|
81
81
|
```
|
|
@@ -410,12 +410,42 @@ glab mr status
|
|
|
410
410
|
|
|
411
411
|
## 与其他 Skills 的协作
|
|
412
412
|
|
|
413
|
-
1. **上游**: 接收
|
|
413
|
+
1. **上游**: 接收 Tester 测试通过的代码
|
|
414
414
|
2. **下游**:
|
|
415
415
|
- 预检测通过 + MR 创建成功 → 工作流完成
|
|
416
|
-
- 预检测失败 →
|
|
416
|
+
- 预检测失败 → **自动调用** 对应 Engineer 修复 → 走完整流程回来(Code Reviewer → Tester → Git Engineer)
|
|
417
417
|
3. **并行**: 无
|
|
418
418
|
|
|
419
|
+
## 会话管理
|
|
420
|
+
|
|
421
|
+
⚠️ **重要**:Git Engineer 是工作流的**终点**,在特定情况下触发 `/compact` 命令。
|
|
422
|
+
|
|
423
|
+
### 触发时机
|
|
424
|
+
|
|
425
|
+
**仅在以下情况触发 `/compact`**:
|
|
426
|
+
- **MR 创建成功**:预检测通过,MR 已创建,整个 SDD 工作流完成
|
|
427
|
+
|
|
428
|
+
**不触发 /compact 的情况**:
|
|
429
|
+
- **预检测失败**:问题自动反馈给 Engineer 修复,需要保持上下文以便后续修复循环
|
|
430
|
+
|
|
431
|
+
### 为什么这样设计
|
|
432
|
+
|
|
433
|
+
- Git Engineer 是工作流的终点,MR 成功代表整个工作流完成
|
|
434
|
+
- 预检测失败时需要返回 Engineer 修复,保持上下文有助于追踪修复历史
|
|
435
|
+
- `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
|
|
436
|
+
|
|
437
|
+
### 执行方式
|
|
438
|
+
|
|
439
|
+
```
|
|
440
|
+
/compact
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### 目的
|
|
444
|
+
|
|
445
|
+
- 清理整个工作流的冗余上下文(需求分析、代码实现、测试、审查等)
|
|
446
|
+
- 为下一个工作流或新任务提供干净的起点
|
|
447
|
+
- 保持会话响应速度和质量
|
|
448
|
+
|
|
419
449
|
## 在 Pre-Execution Review 中的角色
|
|
420
450
|
|
|
421
451
|
提供 Git 和 CI/CD 视角评估:
|
package/skills/notifier/SKILL.md
CHANGED
|
@@ -452,6 +452,21 @@ chmod +x test_notification.sh
|
|
|
452
452
|
2. **被动角色**: Notifier 不主动判断,只负责接收参数并发送通知
|
|
453
453
|
3. **独立运行**: 不依赖其他 Skills,可独立测试
|
|
454
454
|
|
|
455
|
+
## 会话管理
|
|
456
|
+
|
|
457
|
+
⚠️ **注意**:Notifier **不触发** `/compact` 命令。
|
|
458
|
+
|
|
459
|
+
### 为什么不触发 /compact
|
|
460
|
+
|
|
461
|
+
- Notifier 是辅助角色,不是主工作流的一部分
|
|
462
|
+
- 通知发送后通常会返回到调用它的 Skill 继续执行
|
|
463
|
+
- `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
|
|
464
|
+
|
|
465
|
+
### 何时会触发 /compact
|
|
466
|
+
|
|
467
|
+
- 当整个工作流完成时(Git Engineer MR 创建成功)
|
|
468
|
+
- 当达到最大修复轮次需要人工介入时
|
|
469
|
+
|
|
455
470
|
## 在 Pre-Execution Review 中的角色
|
|
456
471
|
|
|
457
472
|
不参与 Pre-Execution Review,因为 Notifier 是纯执行角色,不涉及技术评估。
|
package/skills/sae/SKILL.md
CHANGED
|
@@ -240,6 +240,29 @@ Response (401):
|
|
|
240
240
|
- 评估架构复杂度
|
|
241
241
|
- 评估技术方案可行性
|
|
242
242
|
|
|
243
|
+
## 会话管理
|
|
244
|
+
|
|
245
|
+
⚠️ **重要**:当 SAE 角色流程完成后,**必须执行 `/compact` 命令**压缩会话上下文。
|
|
246
|
+
|
|
247
|
+
### 为什么 SAE 需要触发 /compact
|
|
248
|
+
|
|
249
|
+
SAE 是工作流的**起点**,完成需求分析后:
|
|
250
|
+
- 需求分析阶段的探索和讨论内容较多
|
|
251
|
+
- 后续进入实现阶段,是相对独立的新阶段
|
|
252
|
+
- 压缩后为 Engineer 提供干净的起点
|
|
253
|
+
|
|
254
|
+
### 触发时机
|
|
255
|
+
|
|
256
|
+
- 需求规格文档已生成并保存
|
|
257
|
+
- Spec 文档、Proposal 文档、Tasks 文档已全部创建
|
|
258
|
+
- 已向用户确认下一步交给 Backend Engineer 和 Frontend Engineer
|
|
259
|
+
|
|
260
|
+
### 执行方式
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
/compact
|
|
264
|
+
```
|
|
265
|
+
|
|
243
266
|
## 示例对话
|
|
244
267
|
|
|
245
268
|
```
|
package/skills/tester/SKILL.md
CHANGED
|
@@ -167,7 +167,7 @@ npm run test:e2e -- --project=chromium
|
|
|
167
167
|
|
|
168
168
|
✅ 验收标准:5/5 满足
|
|
169
169
|
|
|
170
|
-
下一步请
|
|
170
|
+
下一步请 Git Engineer 进行预检测和提交。
|
|
171
171
|
```
|
|
172
172
|
|
|
173
173
|
**测试失败(自动修复中)**:
|
|
@@ -480,16 +480,32 @@ lhci autorun
|
|
|
480
480
|
|
|
481
481
|
## 与其他 Skills 的协作
|
|
482
482
|
|
|
483
|
-
1. **上游**: 接收
|
|
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
|
-
- 测试通过 → 交给
|
|
490
|
+
- 测试通过 → 交给 Git Engineer
|
|
490
491
|
- 超过 3 轮仍失败 → 发送钉钉通知,请求人工介入
|
|
491
492
|
4. **并行**: 无
|
|
492
493
|
|
|
494
|
+
## 会话管理
|
|
495
|
+
|
|
496
|
+
⚠️ **注意**:Tester **不触发** `/compact` 命令。
|
|
497
|
+
|
|
498
|
+
### 为什么不触发 /compact
|
|
499
|
+
|
|
500
|
+
- Tester 不是工作流的终点,后续还有 Git Engineer
|
|
501
|
+
- 在修复循环中保持上下文连续性很重要(测试输出、错误日志、修复轮次记录等)
|
|
502
|
+
- `/compact` 只在工作流的**起点**(SAE)和**终点**(Git Engineer MR 成功)触发
|
|
503
|
+
|
|
504
|
+
### 何时会触发 /compact
|
|
505
|
+
|
|
506
|
+
- 当整个工作流完成时(Git Engineer MR 创建成功)
|
|
507
|
+
- 当达到最大修复轮次需要人工介入时
|
|
508
|
+
|
|
493
509
|
## 在 Pre-Execution Review 中的角色
|
|
494
510
|
|
|
495
511
|
提供测试策略评估:
|
|
@@ -581,5 +597,5 @@ lhci autorun
|
|
|
581
597
|
- E2E 测试:3/3 通过
|
|
582
598
|
- 验收标准:5/5 满足
|
|
583
599
|
|
|
584
|
-
下一步请
|
|
600
|
+
下一步请 Git Engineer 进行预检测和提交。
|
|
585
601
|
```
|