sdd-skills 1.1.2 → 1.1.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdd-skills",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Spec-Driven Development Skills for Claude Code - SAE/ADE workflow automation",
5
5
  "type": "module",
6
6
  "main": "install.js",
@@ -54,6 +54,17 @@ description: 高级Golang后端工程师,负责后端API设计与实现。当
54
54
  - 单元测试(覆盖率 >= 90%)
55
55
 
56
56
  3. **验证检查(必须全部通过才能流转)**
57
+
58
+ ⚠️ **提测前必须使用项目 Taskfile 命令验证**:
59
+ ```bash
60
+ # 使用项目 Taskfile 进行快速验证(推荐)
61
+ task lint # 代码规范检查
62
+ task build # 编译检查
63
+ task test # 运行单元测试
64
+ task coverage # 检查测试覆盖率
65
+ ```
66
+
67
+ 或手动执行以下命令:
57
68
  ```bash
58
69
  cd backend
59
70
 
@@ -90,6 +101,62 @@ description: 高级Golang后端工程师,负责后端API设计与实现。当
90
101
  - 提交所有实现文件和测试文件
91
102
  - 确保已通过所有验证检查
92
103
 
104
+ ### 阶段3:修复模式(来自 Tester 的修复请求)
105
+
106
+ ⚠️ **当收到 Tester 的修复请求时,执行此流程**
107
+
108
+ #### 1. 分析问题
109
+
110
+ - 仔细阅读 Tester 提供的错误信息
111
+ - 定位问题代码文件和行号
112
+ - 理解失败的测试用例和预期行为
113
+
114
+ #### 2. 修复问题
115
+
116
+ 根据问题类型进行修复:
117
+
118
+ | 问题类型 | 修复方式 |
119
+ |---------|---------|
120
+ | 单元测试失败 | 修复业务逻辑或修正测试断言 |
121
+ | 覆盖率不达标 | 补充缺失的测试用例 |
122
+ | 编译错误 | 修复语法和类型错误 |
123
+ | Lint 错误 | 按规范修正代码风格 |
124
+ | API 响应错误 | 修复 Handler/Service 逻辑 |
125
+
126
+ #### 3. 本地验证
127
+
128
+ 修复后必须在本地验证:
129
+ ```bash
130
+ # 使用 Taskfile(推荐)
131
+ task lint && task build && task test && task coverage
132
+
133
+ # 或手动执行
134
+ cd backend
135
+ go vet ./... && go build ./... && golangci-lint run && go test ./... -v
136
+ go test ./... -coverprofile=coverage.out
137
+ go tool cover -func=coverage.out | grep total # 确保 >= 90%
138
+ ```
139
+
140
+ #### 4. 自动重新提测
141
+
142
+ ✅ **修复并验证通过后,必须自动调用 `/tester` 重新提测**:
143
+
144
+ ```
145
+ /tester 后端修复已完成,请重新执行测试验证:
146
+
147
+ 修复内容:
148
+ - [具体修复的问题描述]
149
+ - [修改的文件列表]
150
+
151
+ 本地验证结果:
152
+ - 编译:✅ 通过
153
+ - Lint:✅ 通过
154
+ - 单元测试:✅ 全部通过
155
+ - 覆盖率:✅ XX% (>= 90%)
156
+ ```
157
+
158
+ ⚠️ **重要**:修复完成后 **必须自动调用 `/tester`**,无需等待人工指令!
159
+
93
160
  ## 代码规范
94
161
 
95
162
  ### 项目结构
@@ -336,6 +403,9 @@ mockRepo.EXPECT().FindByEmail("test@example.com").Return(&user, nil)
336
403
  1. **上游**: 接收 SAE 生成的需求规格
337
404
  2. **并行**: 与 Frontend Engineer 并行工作,通过 API 契约协作
338
405
  3. **下游**: 代码完成后交给 Tester 进行测试
406
+ 4. **修复循环**:
407
+ - 收到 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/tester` 重新提测
408
+ - 循环直到测试全部通过
339
409
 
340
410
  ## 在 Pre-Execution Review 中的角色
341
411
 
@@ -70,6 +70,17 @@ description: 高级前端工程师,擅长Vue和React多个框架。当需要
70
70
  - 组件测试(覆盖率 >= 90%)
71
71
 
72
72
  3. **验证检查(必须全部通过才能流转)**
73
+
74
+ ⚠️ **提测前必须使用项目 Taskfile 命令验证**:
75
+ ```bash
76
+ # 使用项目 Taskfile 进行快速验证(推荐)
77
+ task lint # 代码规范检查
78
+ task build # 编译检查
79
+ task test # 运行单元测试
80
+ task coverage # 检查测试覆盖率
81
+ ```
82
+
83
+ 或手动执行以下命令:
73
84
  ```bash
74
85
  cd frontend
75
86
 
@@ -105,6 +116,64 @@ description: 高级前端工程师,擅长Vue和React多个框架。当需要
105
116
  - 提交所有实现文件和测试文件
106
117
  - 确保已通过所有验证检查
107
118
 
119
+ ### 阶段3:修复模式(来自 Tester 的修复请求)
120
+
121
+ ⚠️ **当收到 Tester 的修复请求时,执行此流程**
122
+
123
+ #### 1. 分析问题
124
+
125
+ - 仔细阅读 Tester 提供的错误信息
126
+ - 定位问题代码文件和行号
127
+ - 理解失败的测试用例和预期行为
128
+
129
+ #### 2. 修复问题
130
+
131
+ 根据问题类型进行修复:
132
+
133
+ | 问题类型 | 修复方式 |
134
+ |---------|---------|
135
+ | 单元测试失败 | 修复组件逻辑或修正测试断言 |
136
+ | 覆盖率不达标 | 补充缺失的测试用例 |
137
+ | E2E 测试失败 | 修复页面交互逻辑、路由跳转等 |
138
+ | TypeScript 类型错误 | 修复类型定义和类型断言 |
139
+ | 构建失败 | 修复编译错误和依赖问题 |
140
+ | Lint 错误 | 按规范修正代码风格 |
141
+
142
+ #### 3. 本地验证
143
+
144
+ 修复后必须在本地验证:
145
+ ```bash
146
+ # 使用 Taskfile(推荐)
147
+ task lint && task build && task test && task coverage
148
+
149
+ # 或手动执行
150
+ cd frontend
151
+ npm run type-check && npm run build && npm run lint
152
+ npm run test:unit
153
+ npm run test:coverage # 确保 >= 90%
154
+ ```
155
+
156
+ #### 4. 自动重新提测
157
+
158
+ ✅ **修复并验证通过后,必须自动调用 `/tester` 重新提测**:
159
+
160
+ ```
161
+ /tester 前端修复已完成,请重新执行测试验证:
162
+
163
+ 修复内容:
164
+ - [具体修复的问题描述]
165
+ - [修改的文件列表]
166
+
167
+ 本地验证结果:
168
+ - TypeScript 类型检查:✅ 通过
169
+ - 构建:✅ 通过
170
+ - Lint:✅ 通过
171
+ - 单元测试:✅ 全部通过
172
+ - 覆盖率:✅ XX% (>= 90%)
173
+ ```
174
+
175
+ ⚠️ **重要**:修复完成后 **必须自动调用 `/tester`**,无需等待人工指令!
176
+
108
177
  ## 代码规范
109
178
 
110
179
  ### 项目结构
@@ -528,6 +597,9 @@ test('user can login', async ({ page }) => {
528
597
  1. **上游**: 接收 SAE 生成的需求规格
529
598
  2. **并行**: 与 Backend Engineer 并行工作,通过 API 契约协作
530
599
  3. **下游**: 代码完成后交给 Tester 进行 E2E 测试
600
+ 4. **修复循环**:
601
+ - 收到 Tester 修复请求 → 修复问题 → 本地验证 → **自动调用** `/tester` 重新提测
602
+ - 循环直到测试全部通过
531
603
 
532
604
  ## 在 Pre-Execution Review 中的角色
533
605
 
@@ -94,7 +94,65 @@ npm run test:e2e -- --project=chromium
94
94
  - [ ] 标准 5:测试覆盖率达标(后端 >= 90%, 前端 >= 90%)
95
95
  ```
96
96
 
97
- ### 阶段4:测试报告
97
+ ### 阶段4:自动修复与重测(关键)
98
+
99
+ ⚠️ **重要**:测试失败时 **必须自动触发修复**,无需人工介入!
100
+
101
+ #### 自动修复流程
102
+
103
+ ```
104
+ 测试失败 → 分析问题归属 → 自动调用对应 Skill → 重新测试 → 循环直到通过
105
+ ```
106
+
107
+ #### 1. 后端问题自动修复
108
+
109
+ 当检测到以下后端问题时,**立即调用 `/backend-engineer`**:
110
+
111
+ - 后端单元测试失败
112
+ - 后端覆盖率不达标 (< 90%)
113
+ - 后端集成测试失败
114
+ - Go 编译错误、lint 错误
115
+ - API 响应不符合预期
116
+
117
+ **自动修复指令**:
118
+ ```
119
+ /backend-engineer 修复以下测试问题:
120
+ [具体的错误信息和失败的测试用例]
121
+ 修复完成后重新运行测试验证。
122
+ ```
123
+
124
+ #### 2. 前端问题自动修复
125
+
126
+ 当检测到以下前端问题时,**立即调用 `/frontend-engineer`**:
127
+
128
+ - 前端单元测试失败
129
+ - 前端覆盖率不达标 (< 90%)
130
+ - E2E 测试失败
131
+ - TypeScript 类型错误
132
+ - 构建失败、lint 错误
133
+ - UI 交互问题
134
+
135
+ **自动修复指令**:
136
+ ```
137
+ /frontend-engineer 修复以下测试问题:
138
+ [具体的错误信息和失败的测试用例]
139
+ 修复完成后重新运行测试验证。
140
+ ```
141
+
142
+ #### 3. 混合问题处理
143
+
144
+ 如果前端和后端都有问题,**按顺序处理**:
145
+ 1. 先调用 `/backend-engineer` 修复后端问题
146
+ 2. 后端修复完成后,调用 `/frontend-engineer` 修复前端问题
147
+ 3. 全部修复后重新执行完整测试
148
+
149
+ #### 4. 修复循环控制
150
+
151
+ - **最大修复轮次**:3 轮
152
+ - 超过 3 轮仍未通过,发送钉钉通知并请求人工介入
153
+ - 每轮修复后必须重新执行完整测试
154
+
155
+ ### 阶段5:测试报告
98
156
 
99
157
  **测试通过**:
100
158
  ```
@@ -104,7 +162,7 @@ npm run test:e2e -- --project=chromium
104
162
  - 后端单元测试:45/45 通过
105
163
  - 后端覆盖率:92%
106
164
  - 前端单元测试:32/32 通过
107
- - 前端覆盖率:75%
165
+ - 前端覆盖率:91%
108
166
  - E2E 测试:8/8 通过
109
167
 
110
168
  ✅ 验收标准:5/5 满足
@@ -112,9 +170,9 @@ npm run test:e2e -- --project=chromium
112
170
  下一步请 Code Reviewer 进行代码审查。
113
171
  ```
114
172
 
115
- **测试失败**:
173
+ **测试失败(自动修复中)**:
116
174
  ```
117
- 测试验证失败
175
+ 测试验证失败(第 1 轮)
118
176
 
119
177
  ❌ 失败详情:
120
178
  1. 后端测试失败:
@@ -125,16 +183,21 @@ npm run test:e2e -- --project=chromium
125
183
  - 后端覆盖率:85% (要求 >= 90%)
126
184
  - 未覆盖模块:user_service.go:45-60
127
185
 
128
- 3. E2E 测试失败:
129
- - 用户登录流程测试失败
130
- - 原因:登录成功后未正确跳转到 /dashboard
186
+ 🔄 自动修复:调用 /backend-engineer 修复后端问题...
187
+
188
+ [Backend Engineer 修复完成后自动重新测试]
189
+ ```
190
+
191
+ **测试失败(需人工介入)**:
192
+ ```
193
+ ❌ 测试验证失败(已尝试 3 轮自动修复)
194
+
195
+ ❌ 仍存在的问题:
196
+ [问题详情]
131
197
 
132
- 建议操作:
133
- 1. 返回 Backend Engineer 修复 API 错误处理
134
- 2. 补充 user_service.go 的单元测试
135
- 3. 返回 Frontend Engineer 修复路由跳转逻辑
198
+ ⚠️ 已达到最大修复轮次,需要人工介入。
136
199
 
137
- 📢 已发送钉钉通知(失败告警)
200
+ 📢 已发送钉钉通知(需人工介入)
138
201
  ```
139
202
 
140
203
  ## 测试规范
@@ -418,10 +481,14 @@ lhci autorun
418
481
  ## 与其他 Skills 的协作
419
482
 
420
483
  1. **上游**: 接收 Backend Engineer 和 Frontend Engineer 的代码实现
421
- 2. **下游**:
484
+ 2. **自动修复循环**:
485
+ - 后端测试失败 → **自动调用** `/backend-engineer` 修复 → 重测
486
+ - 前端测试失败 → **自动调用** `/frontend-engineer` 修复 → 重测
487
+ - 循环直到全部通过或达到最大修复轮次(3轮)
488
+ 3. **下游**:
422
489
  - 测试通过 → 交给 Code Reviewer
423
- - 测试失败 返回相应的 Engineer 修复
424
- 3. **并行**: 无
490
+ - 超过 3 轮仍失败 发送钉钉通知,请求人工介入
491
+ 4. **并行**: 无
425
492
 
426
493
  ## 在 Pre-Execution Review 中的角色
427
494
 
@@ -444,7 +511,7 @@ lhci autorun
444
511
 
445
512
  📊 后端测试结果:
446
513
  - 单元测试:✅ 12/12 通过
447
- - 覆盖率:✅ 92% (>= 90%)
514
+ - 覆盖率:❌ 85% (要求 >= 90%)
448
515
  - 集成测试:✅ 5/5 通过
449
516
 
450
517
  📊 前端测试结果:
@@ -452,32 +519,65 @@ lhci autorun
452
519
  - 覆盖率:✅ 92% (>= 90%)
453
520
  - E2E 测试:❌ 1/3 失败
454
521
 
455
- E2E 测试失败详情:
456
- - 测试:用户登录成功后跳转到 Dashboard
457
- - 失败原因:登录成功后停留在 /login,未跳转到 /dashboard
458
- - 涉及文件:frontend/src/components/LoginForm.vue:45
522
+ 测试验证失败(第 1 轮)
523
+
524
+ 🔄 自动修复流程启动...
525
+
526
+ ---
527
+ 【自动调用 /backend-engineer】
528
+
529
+ /backend-engineer 修复以下测试问题:
530
+
531
+ 1. 后端覆盖率不达标:85% (要求 >= 90%)
532
+ - 未覆盖文件:user_service.go:45-60
533
+ - 需要补充的测试场景:
534
+ - 用户邮箱格式验证
535
+ - 密码强度验证
536
+
537
+ 请补充单元测试并确保覆盖率 >= 90%。
538
+
539
+ ---
540
+ [Backend Engineer 修复完成]
541
+
542
+ 🔄 重新执行后端测试...
543
+
544
+ 📊 后端测试结果:
545
+ - 单元测试:✅ 15/15 通过
546
+ - 覆盖率:✅ 92% (>= 90%)
547
+ - 集成测试:✅ 5/5 通过
459
548
 
460
- 验收标准检查:
461
- - [x] 用户可以成功完成核心操作
462
- - [x] 错误情况下有友好提示
463
- - [x] 性能满足要求
464
- - [x] 通过安全测试
465
- - [ ] E2E 测试全部通过 ❌
549
+ ✅ 后端测试通过!
466
550
 
467
- 建议操作:
468
- 返回 Frontend Engineer 修复路由跳转逻辑
551
+ ---
552
+ 【自动调用 /frontend-engineer】
469
553
 
470
- 📢 已发送钉钉通知(失败告警)
554
+ /frontend-engineer 修复以下测试问题:
471
555
 
472
- [Frontend Engineer 修复后]
556
+ 1. E2E 测试失败:用户登录成功后跳转到 Dashboard
557
+ - 失败原因:登录成功后停留在 /login,未跳转到 /dashboard
558
+ - 涉及文件:frontend/src/views/LoginView.vue:45
559
+ - 预期行为:登录成功后应跳转到 /dashboard
560
+
561
+ 请修复路由跳转逻辑。
562
+
563
+ ---
564
+ [Frontend Engineer 修复完成]
473
565
 
474
- 重新执行测试...
566
+ 🔄 重新执行前端测试...
475
567
 
476
- 所有测试通过!
568
+ 📊 前端测试结果:
569
+ - 单元测试:✅ 8/8 通过
570
+ - 覆盖率:✅ 92% (>= 90%)
571
+ - E2E 测试:✅ 3/3 通过
572
+
573
+ ✅ 前端测试通过!
574
+
575
+ ---
576
+ ✅ 所有测试通过!(第 2 轮)
477
577
 
478
578
  📊 最终测试统计:
479
- - 后端单元测试:12/12 通过,覆盖率 92%
480
- - 前端单元测试:8/8 通过,覆盖率 75%
579
+ - 后端单元测试:15/15 通过,覆盖率 92%
580
+ - 前端单元测试:8/8 通过,覆盖率 92%
481
581
  - E2E 测试:3/3 通过
482
582
  - 验收标准:5/5 满足
483
583