pdd-skills 3.1.13 → 3.2.3

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.
Files changed (51) hide show
  1. package/LICENSE +21 -21
  2. package/package.json +1 -1
  3. package/scaffolds/python-fullstack/.github/workflows/ci.yml +1 -1
  4. package/scaffolds/python-fullstack/Dockerfile +1 -1
  5. package/scaffolds/python-fullstack/docker-compose.yml +1 -1
  6. package/scaffolds/python-fullstack/frontend/Dockerfile +1 -1
  7. package/scaffolds/python-fullstack/frontend/nginx.conf +1 -1
  8. package/scaffolds/python-fullstack/frontend/postcss.config.js +1 -1
  9. package/scaffolds/python-fullstack/frontend/src/api/client.ts +1 -1
  10. package/scaffolds/python-fullstack/frontend/src/composables/useResponsive.ts +1 -1
  11. package/scaffolds/python-fullstack/frontend/src/router/index.ts +1 -1
  12. package/scaffolds/python-fullstack/frontend/src/stores/user.ts +1 -1
  13. package/scaffolds/python-fullstack/frontend/src/styles/responsive.css +1 -1
  14. package/scaffolds/python-fullstack/frontend/src/styles/variables.css +1 -1
  15. package/scaffolds/python-fullstack/frontend/src/views/DashboardView.vue +1 -1
  16. package/scaffolds/python-fullstack/frontend/src/views/HomeView.vue +1 -1
  17. package/scaffolds/python-fullstack/frontend/src/views/LoginView.vue +1 -1
  18. package/scaffolds/python-fullstack/frontend/tailwind.config.js +1 -1
  19. package/skills/core/official-doc-writer/README.md +232 -232
  20. package/skills/core/official-doc-writer/SKILL.md +4 -7
  21. package/skills/core/official-doc-writer/fonts/FONTS_LIST.md +44 -44
  22. package/skills/core/official-doc-writer/references/GBT_9704-2012_/345/205/232/346/224/277/346/234/272/345/205/263/345/205/254/346/226/207/346/240/274/345/274/217.md +422 -422
  23. package/skills/core/pdd-ba/SKILL.md +1 -11
  24. package/skills/core/pdd-entropy-reduction/SKILL.md +1 -9
  25. package/skills/core/pdd-extract-features/SKILL.md +1 -10
  26. package/skills/core/pdd-generate-spec/SKILL.md +1 -10
  27. package/skills/core/pdd-main/evals/evals.json +215 -215
  28. package/skills/core/pdd-verify-feature/SKILL.md +1 -10
  29. package/skills/core/pdd-vm/SKILL.md +1 -11
  30. package/skills/entropy/expert-arch-enforcer/SKILL.md +292 -292
  31. package/skills/entropy/expert-auto-refactor/SKILL.md +316 -327
  32. package/skills/entropy/expert-code-quality/SKILL.md +468 -468
  33. package/skills/entropy/expert-entropy-auditor/SKILL.md +276 -276
  34. package/skills/expert/expert-activiti/SKILL.md +488 -497
  35. package/skills/expert/expert-bug-fixer/SKILL.md +1 -26
  36. package/skills/expert/expert-mysql/SKILL.md +832 -832
  37. package/skills/expert/expert-ruoyi/SKILL.md +664 -674
  38. package/skills/expert/expert-springcloud/SKILL.md +1 -10
  39. package/skills/expert/expert-vue3/SKILL.md +1 -10
  40. package/skills/expert/testcase-agent/SKILL.md +5 -0
  41. package/skills/expert/testcase-modeler/SKILL.md +40 -2
  42. package/skills/pr/pdd-multi-review/SKILL.md +534 -534
  43. package/skills/pr/pdd-pr-batch/SKILL.md +303 -303
  44. package/skills/pr/pdd-pr-create/SKILL.md +344 -344
  45. package/skills/pr/pdd-pr-merge/SKILL.md +286 -286
  46. package/skills/pr/pdd-pr-review/SKILL.md +217 -217
  47. package/skills/pr/pdd-task-manager/SKILL.md +636 -636
  48. package/skills/pr/pdd-template-engine/SKILL.md +386 -386
  49. package/tests/login_manager.py +5 -30
  50. package/tests/recorder.py +362 -294
  51. package/tests/testcase-ai.py +1184 -11
@@ -1,534 +1,534 @@
1
- ---
2
- name: pdd-multi-review
3
- description: |
4
- PDD多轮审查技能,提供分层次代码审查能力。当功能点代码实现完成、用户请求代码审查review、检查代码、代码有问题吗、验收、质量检查、代码审核、代码质量验证等场景时自动触发。通过规则检查、AI审查、交叉验证三轮审查,弥补国产模型在复杂逻辑推理上的能力短板,将问题发现率从60%提升至90%+。即使用户只说"审查一下"、"检查代码"、"代码有问题吗"等简短表述,也应触发此Skill。
5
- license: MIT
6
- compatibility: 需要开发规格文档 (spec.md)
7
- metadata:
8
- author: "neuqik@hotmail.com"
9
- version: "1.0"
10
- ---
11
-
12
- # PDD多轮审查技能
13
-
14
- ## 技能描述
15
-
16
- PDD多轮审查技能提供分层次的代码审查能力,通过规则检查、AI审查和交叉验证三轮审查,弥补国产模型在复杂逻辑推理上的能力短板,确保代码质量和业务逻辑正确性。
17
-
18
- ## 触发条件
19
-
20
- - 功能点代码实现完成后
21
- - 用户请求"审查代码"、"review"等命令
22
- - pdd-implement-feature 完成代码生成后自动触发
23
-
24
- ## 核心能力
25
-
26
- ### 1. 三轮审查机制
27
-
28
- ```yaml
29
- 审查流程:
30
- 第一轮: 规则检查 (Rule Check)
31
- 类型: 自动化静态分析
32
- 速度: 快速
33
- 覆盖: 代码风格、安全漏洞、常见错误模式
34
-
35
- 第二轮: AI审查 (AI Review)
36
- 类型: 智能分析
37
- 速度: 中等
38
- 覆盖: 业务逻辑、代码质量、最佳实践
39
-
40
- 第三轮: 交叉验证 (Cross Validation)
41
- 类型: 规格对照
42
- 速度: 较慢
43
- 覆盖: 接口完整性、数据模型一致性、业务规则正确性
44
- ```
45
-
46
- ### 2. 审查清单标准化
47
-
48
- ```yaml
49
- 审查维度:
50
- 接口实现:
51
- - 所有接口是否都已实现
52
- - 接口参数是否与规格一致
53
- - 返回值是否与规格一致
54
- - 异常处理是否完整
55
-
56
- 数据模型:
57
- - 实体字段是否与数据库表一致
58
- - 字段类型是否正确
59
- - 必填字段是否有验证
60
- - 关联关系是否正确
61
-
62
- 业务逻辑:
63
- - 业务规则是否正确实现
64
- - 状态转换是否符合定义
65
- - 边界条件是否处理
66
- - 并发场景是否考虑
67
-
68
- 安全性:
69
- - 是否有SQL注入风险
70
- - 是否有XSS风险
71
- - 权限控制是否完整
72
- - 敏感数据是否加密
73
-
74
- 性能:
75
- - 是否有N+1查询问题
76
- - 是否有性能瓶颈
77
- - 缓存使用是否合理
78
- - 分页是否正确
79
-
80
- 代码质量:
81
- - 代码是否清晰易读
82
- - 命名是否规范
83
- - 注释是否充分
84
- - 是否有重复代码
85
- ```
86
-
87
- ### 3. 问题分级标准
88
-
89
- ```yaml
90
- 问题级别:
91
- Critical (严重):
92
- 定义: 阻塞功能正常运行的问题
93
- 示例:
94
- - 接口实现缺失
95
- - 业务逻辑错误
96
- - 安全漏洞
97
- - 数据丢失风险
98
- 处理: 必须立即修复,阻塞后续流程
99
-
100
- Warning (警告):
101
- 定义: 影响代码质量或性能的问题
102
- 示例:
103
- - 代码风格不一致
104
- - 缺少异常处理
105
- - 性能隐患
106
- - 注释缺失
107
- 处理: 建议修复,不阻塞流程
108
-
109
- Suggestion (建议):
110
- 定义: 改进建议
111
- 示例:
112
- - 代码可读性改进
113
- - 重构建议
114
- - 最佳实践建议
115
- 处理: 可选修复,记录备查
116
- ```
117
-
118
- ### 4. 反馈循环机制
119
-
120
- ```yaml
121
- 反馈流程:
122
- 发现问题 → 记录问题 → 分配修复 → 验证修复 → 关闭问题
123
-
124
- 问题记录格式:
125
- id: ISS-001
126
- round: 2 # 审查轮次
127
- level: Critical
128
- category: 业务逻辑
129
- location:
130
- file: EquityTransferApplyServiceImpl.java
131
- line: 45-50
132
- description: 转让底价验证逻辑错误,应该大于等于评估价值
133
- expected: 转让底价 >= 评估价值
134
- actual: 转让底价 > 评估价值(缺少等于的情况)
135
- suggestion: 修改为 >= 判断
136
- status: open
137
- assignee: AI
138
- createdAt: 2026-03-31T11:00:00Z
139
- history:
140
- - action: created
141
- timestamp: 2026-03-31T11:00:00Z
142
- - action: assigned
143
- timestamp: 2026-03-31T11:01:00Z
144
- ```
145
-
146
- ## 审查流程详解
147
-
148
- ### 第一轮:规则检查
149
-
150
- ```yaml
151
- 检查项目:
152
- 代码风格:
153
- - 命名规范检查
154
- - 代码格式检查
155
- - 导入语句检查
156
- - 注释规范检查
157
-
158
- 安全检查:
159
- - SQL注入检查
160
- - XSS检查
161
- - 敏感信息泄露检查
162
- - 权限注解检查
163
-
164
- 常见错误:
165
- - 空指针检查
166
- - 资源泄露检查
167
- - 异常处理检查
168
- - 并发安全检查
169
-
170
- 检查工具:
171
- - Checkstyle (Java)
172
- - ESLint (JavaScript)
173
- - PMD (Java)
174
- - SpotBugs (Java)
175
-
176
- 输出格式:
177
- rule-check-report.md:
178
- 检查时间: 2026-03-31T11:00:00Z
179
- 检查范围: 15个文件
180
- 问题统计:
181
- Critical: 0
182
- Warning: 5
183
- Suggestion: 10
184
- 问题列表:
185
- - 文件: xxx.java
186
- 规则: naming-convention
187
- 级别: Warning
188
- 描述: 变量名不符合驼峰命名规范
189
- ```
190
-
191
- ### 第二轮:AI审查
192
-
193
- ```yaml
194
- 审查维度:
195
- 业务逻辑正确性:
196
- - 需求理解是否正确
197
- - 业务规则是否完整实现
198
- - 边界条件是否处理
199
- - 异常场景是否考虑
200
-
201
- 代码质量:
202
- - 代码结构是否清晰
203
- - 是否遵循设计模式
204
- - 是否有代码重复
205
- - 是否有过度设计
206
-
207
- 最佳实践:
208
- - 是否遵循框架规范
209
- - 是否使用推荐方式
210
- - 是否避免反模式
211
-
212
- 审查方法:
213
- - 逐文件审查
214
- - 业务逻辑追踪
215
- - 代码路径分析
216
- - 依赖关系检查
217
-
218
- 输出格式:
219
- ai-review-report.md:
220
- 审查时间: 2026-03-31T11:15:00Z
221
- 审查范围: 15个文件
222
- 问题统计:
223
- Critical: 2
224
- Warning: 8
225
- Suggestion: 15
226
- 问题列表:
227
- - id: ISS-001
228
- 类别: 业务逻辑
229
- 级别: Critical
230
- 文件: EquityTransferApplyServiceImpl.java
231
- 行号: 45-50
232
- 描述: 转让底价验证逻辑错误
233
- 建议: 修改为 >= 判断
234
- ```
235
-
236
- ### 第三轮:交叉验证
237
-
238
- ```yaml
239
- 验证项目:
240
- 接口完整性验证:
241
- 方法: 对照spec.md逐项检查
242
- 内容:
243
- - 所有接口是否都已实现
244
- - 接口参数是否与规格一致
245
- - 返回值是否与规格一致
246
-
247
- 数据模型一致性验证:
248
- 方法: 对照数据库设计检查
249
- 内容:
250
- - 实体字段是否与表结构一致
251
- - 字段类型是否匹配
252
- - 关联关系是否正确
253
-
254
- 业务规则正确性验证:
255
- 方法: 对照业务规则定义检查
256
- 内容:
257
- - 验证规则是否完整
258
- - 状态转换是否正确
259
- - 计算逻辑是否正确
260
-
261
- 验证方法:
262
- - 规格对照表
263
- - 字段映射检查
264
- - 接口映射检查
265
- - 业务规则追踪
266
-
267
- 输出格式:
268
- cross-validation-report.md:
269
- 验证时间: 2026-03-31T11:30:00Z
270
- 验证范围: spec.md vs 实现代码
271
- 验证结果:
272
- 接口完整性: 100% (10/10)
273
- 数据模型一致性: 95% (19/20)
274
- 业务规则正确性: 90% (9/10)
275
- 问题列表:
276
- - id: ISS-002
277
- 类别: 数据模型
278
- 级别: Warning
279
- 描述: 实体类缺少remark字段
280
- 规格: 有remark字段
281
- 实际: 未实现
282
- ```
283
-
284
- ## 审查报告模板
285
-
286
- ```markdown
287
- # 多轮审查报告
288
-
289
- ## 审查概要
290
-
291
- | 项目 | 内容 |
292
- |------|------|
293
- | 功能点ID | FP-ZCCZ1-001 |
294
- | 功能名称 | 国有产权转让申请 |
295
- | 审查时间 | 2026-03-31 11:00:00 - 11:30:00 |
296
- | 审查范围 | 15个文件 |
297
-
298
- ## 问题统计
299
-
300
- | 轮次 | Critical | Warning | Suggestion | 合计 |
301
- |------|----------|---------|------------|------|
302
- | 第一轮:规则检查 | 0 | 5 | 10 | 15 |
303
- | 第二轮:AI审查 | 2 | 8 | 15 | 25 |
304
- | 第三轮:交叉验证 | 1 | 3 | 5 | 9 |
305
- | **合计** | **3** | **16** | **30** | **49** |
306
-
307
- ## Critical问题详情
308
-
309
- ### ISS-001: 转让底价验证逻辑错误
310
-
311
- | 属性 | 内容 |
312
- |------|------|
313
- | 来源 | 第二轮:AI审查 |
314
- | 类别 | 业务逻辑 |
315
- | 文件 | EquityTransferApplyServiceImpl.java |
316
- | 行号 | 45-50 |
317
- | 描述 | 转让底价验证逻辑错误,应该大于等于评估价值 |
318
- | 预期 | 转让底价 >= 评估价值 |
319
- | 实际 | 转让底价 > 评估价值(缺少等于的情况) |
320
- | 建议 | 修改为 >= 判断 |
321
-
322
- **代码片段**:
323
- ```java
324
- // 当前代码
325
- if (transferFloorPrice > evaluationValue) {
326
- throw new BusinessException("转让底价不得低于评估价值");
327
- }
328
-
329
- // 建议修改
330
- if (transferFloorPrice < evaluationValue) {
331
- throw new BusinessException("转让底价不得低于评估价值");
332
- }
333
- ```
334
-
335
- ### ISS-002: 缺少权限注解
336
-
337
- | 属性 | 内容 |
338
- |------|------|
339
- | 来源 | 第一轮:规则检查 |
340
- | 类别 | 安全性 |
341
- | 文件 | EquityTransferApplyController.java |
342
- | 行号 | 35 |
343
- | 描述 | 删除接口缺少权限注解 |
344
- | 建议 | 添加 @PreAuthorize("@ss.hasPermi('equity:transfer:remove')") |
345
-
346
- ### ISS-003: 接口返回值与规格不一致
347
-
348
- | 属性 | 内容 |
349
- |------|------|
350
- | 来源 | 第三轮:交叉验证 |
351
- | 类别 | 接口完整性 |
352
- | 文件 | EquityTransferApplyController.java |
353
- | 行号 | 50 |
354
- | 描述 | 详情接口返回值缺少附件列表 |
355
- | 规格 | 返回 { entity, attachments } |
356
- | 实际 | 只返回 { entity } |
357
- | 建议 | 添加附件列表查询并返回 |
358
-
359
- ## Warning问题列表
360
-
361
- | ID | 来源 | 类别 | 文件 | 描述 |
362
- |----|------|------|------|------|
363
- | W-001 | 第一轮 | 代码风格 | Entity.java | 变量名不符合驼峰命名规范 |
364
- | W-002 | 第二轮 | 代码质量 | ServiceImpl.java | 方法过长,建议拆分 |
365
- | W-003 | 第三轮 | 数据模型 | Entity.java | 缺少remark字段 |
366
- | ... | ... | ... | ... | ... |
367
-
368
- ## Suggestion问题列表
369
-
370
- | ID | 来源 | 类别 | 文件 | 描述 |
371
- |----|------|------|------|------|
372
- | S-001 | 第一轮 | 代码风格 | Controller.java | 建议添加接口注释 |
373
- | S-002 | 第二轮 | 最佳实践 | ServiceImpl.java | 建议使用Optional避免空指针 |
374
- | ... | ... | ... | ... | ... |
375
-
376
- ## 验证结果
377
-
378
- ### 接口完整性验证
379
-
380
- | 接口 | 规格 | 实现 | 状态 |
381
- |------|------|------|------|
382
- | POST /equity-transfer | 新增申请 | ✅ 已实现 | 通过 |
383
- | PUT /equity-transfer | 修改申请 | ✅ 已实现 | 通过 |
384
- | DELETE /equity-transfer/{id} | 删除申请 | ✅ 已实现 | 通过 |
385
- | GET /equity-transfer/{id} | 查询详情 | ✅ 已实现 | ⚠️ 返回值不完整 |
386
- | GET /equity-transfer/list | 查询列表 | ✅ 已实现 | 通过 |
387
-
388
- ### 数据模型一致性验证
389
-
390
- | 字段 | 数据库 | 实体类 | 状态 |
391
- |------|--------|--------|------|
392
- | id | bigint | Long | 通过 |
393
- | transfer_type | varchar | String | 通过 |
394
- | transfer_reason | varchar | String | 通过 |
395
- | remark | varchar | - | ⚠️ 缺失 |
396
-
397
- ### 业务规则正确性验证
398
-
399
- | 规则ID | 规则描述 | 实现状态 | 验证结果 |
400
- |--------|---------|---------|---------|
401
- | BR-001 | 转让底价 >= 评估价值 | ✅ 已实现 | ❌ 逻辑错误 |
402
- | BR-002 | 转让原因必填 | ✅ 已实现 | 通过 |
403
- | BR-003 | 附件必传 | ✅ 已实现 | 通过 |
404
-
405
- ## 审查结论
406
-
407
- | 结论 | 内容 |
408
- |------|------|
409
- | 是否通过 | ❌ 不通过 |
410
- | 原因 | 存在3个Critical问题需要修复 |
411
- | 下一步 | 修复Critical问题后重新审查 |
412
-
413
- ## 修复建议
414
-
415
- 1. **ISS-001**: 修改转让底价验证逻辑
416
- 2. **ISS-002**: 添加权限注解
417
- 3. **ISS-003**: 补充附件列表返回
418
- ```
419
-
420
- ## 反馈循环流程
421
-
422
- ```
423
- 审查完成
424
-
425
-
426
- ┌─────────────────────────────────┐
427
- │ 1. 问题分类与优先级排序 │
428
- │ - Critical问题优先处理 │
429
- │ - Warning问题次优先 │
430
- │ - Suggestion记录备查 │
431
- └─────────────────────────────────┘
432
-
433
-
434
- ┌─────────────────────────────────┐
435
- │ 2. 问题分配 │
436
- │ - 自动修复:简单问题 │
437
- │ - AI修复:复杂问题 │
438
- │ - 人工修复:需要确认的问题 │
439
- └─────────────────────────────────┘
440
-
441
-
442
- ┌─────────────────────────────────┐
443
- │ 3. 执行修复 │
444
- │ - 记录修复过程 │
445
- │ - 更新代码文件 │
446
- │ - 标记问题状态 │
447
- └─────────────────────────────────┘
448
-
449
-
450
- ┌─────────────────────────────────┐
451
- │ 4. 验证修复 │
452
- │ - 重新运行相关检查 │
453
- │ - 确认问题已解决 │
454
- │ - 检查是否引入新问题 │
455
- └─────────────────────────────────┘
456
-
457
- ├─ 所有问题已解决 ──────────────┐
458
- │ │
459
- ▼ ▼
460
- ┌─────────────────────────────────┐
461
- │ 5. 关闭问题 │
462
- │ - 更新问题状态为已关闭 │
463
- │ - 记录修复历史 │
464
- │ - 生成最终报告 │
465
- └─────────────────────────────────┘
466
- ```
467
-
468
- ## 问题修复记录模板
469
-
470
- ```yaml
471
- 问题修复记录:
472
- 问题ID: ISS-001
473
- 修复人: AI
474
- 修复时间: 2026-03-31T12:00:00Z
475
-
476
- 修复前代码: |
477
- if (transferFloorPrice > evaluationValue) {
478
- throw new BusinessException("转让底价不得低于评估价值");
479
- }
480
-
481
- 修复后代码: |
482
- if (transferFloorPrice < evaluationValue) {
483
- throw new BusinessException("转让底价不得低于评估价值");
484
- }
485
-
486
- 验证结果: 通过
487
- 验证人: AI
488
- 验证时间: 2026-03-31T12:05:00Z
489
-
490
- 备注: 修改判断条件为正确的逻辑
491
- ```
492
-
493
- ## 学习机制
494
-
495
- ```yaml
496
- 学习内容:
497
- 问题模式学习:
498
- - 记录常见问题类型
499
- - 建立问题模式库
500
- - 优化审查规则
501
-
502
- 修复方案学习:
503
- - 记录有效修复方案
504
- - 建立修复知识库
505
- - 提高自动修复率
506
-
507
- 规则优化:
508
- - 根据问题统计优化规则
509
- - 添加新的检查规则
510
- - 调整问题级别
511
-
512
- 学习输出:
513
- - common-issues.yaml: 常见问题库
514
- - fix-patterns.yaml: 修复模式库
515
- - review-rules.yaml: 审查规则库
516
- ```
517
-
518
- ## Guardrails
519
-
520
- - Critical问题必须全部修复才能通过
521
- - 每个问题必须有明确的修复方案
522
- - 修复后必须重新验证
523
- - 问题修复历史必须完整记录
524
- - 审查报告必须保存到 docs/reviews/
525
-
526
- ## 与其他技能协作
527
-
528
- | 协作技能 | 协作方式 | 传入数据 | 期望输出 |
529
- |---------|---------|---------|---------|
530
- | **pdd-implement-feature** | 被调用 | 代码文件 | 审查报告 |
531
- | **expert-ruoyi** | 咨询 | 若依相关问题 | 解决方案 |
532
- | **expert-activiti** | 咨询 | 工作流相关问题 | 解决方案 |
533
- | **expert-code-quality** | 咨询 | 代码质量问题 | 重构建议 |
534
- | **pdd-feedback-learner** | 调用 | 问题记录 | 学习结果 |
1
+ ---
2
+ name: pdd-multi-review
3
+ description: |
4
+ PDD多轮审查技能,提供分层次代码审查能力。当功能点代码实现完成、用户请求代码审查review、检查代码、代码有问题吗、验收、质量检查、代码审核、代码质量验证等场景时自动触发。通过规则检查、AI审查、交叉验证三轮审查,弥补国产模型在复杂逻辑推理上的能力短板,将问题发现率从60%提升至90%+。即使用户只说"审查一下"、"检查代码"、"代码有问题吗"等简短表述,也应触发此Skill。
5
+ license: MIT
6
+ compatibility: 需要开发规格文档 (spec.md)
7
+ metadata:
8
+ author: "neuqik@hotmail.com"
9
+ version: "1.0"
10
+ ---
11
+
12
+ # PDD多轮审查技能
13
+
14
+ ## 技能描述
15
+
16
+ PDD多轮审查技能提供分层次的代码审查能力,通过规则检查、AI审查和交叉验证三轮审查,弥补国产模型在复杂逻辑推理上的能力短板,确保代码质量和业务逻辑正确性。
17
+
18
+ ## 触发条件
19
+
20
+ - 功能点代码实现完成后
21
+ - 用户请求"审查代码"、"review"等命令
22
+ - pdd-implement-feature 完成代码生成后自动触发
23
+
24
+ ## 核心能力
25
+
26
+ ### 1. 三轮审查机制
27
+
28
+ ```yaml
29
+ 审查流程:
30
+ 第一轮: 规则检查 (Rule Check)
31
+ 类型: 自动化静态分析
32
+ 速度: 快速
33
+ 覆盖: 代码风格、安全漏洞、常见错误模式
34
+
35
+ 第二轮: AI审查 (AI Review)
36
+ 类型: 智能分析
37
+ 速度: 中等
38
+ 覆盖: 业务逻辑、代码质量、最佳实践
39
+
40
+ 第三轮: 交叉验证 (Cross Validation)
41
+ 类型: 规格对照
42
+ 速度: 较慢
43
+ 覆盖: 接口完整性、数据模型一致性、业务规则正确性
44
+ ```
45
+
46
+ ### 2. 审查清单标准化
47
+
48
+ ```yaml
49
+ 审查维度:
50
+ 接口实现:
51
+ - 所有接口是否都已实现
52
+ - 接口参数是否与规格一致
53
+ - 返回值是否与规格一致
54
+ - 异常处理是否完整
55
+
56
+ 数据模型:
57
+ - 实体字段是否与数据库表一致
58
+ - 字段类型是否正确
59
+ - 必填字段是否有验证
60
+ - 关联关系是否正确
61
+
62
+ 业务逻辑:
63
+ - 业务规则是否正确实现
64
+ - 状态转换是否符合定义
65
+ - 边界条件是否处理
66
+ - 并发场景是否考虑
67
+
68
+ 安全性:
69
+ - 是否有SQL注入风险
70
+ - 是否有XSS风险
71
+ - 权限控制是否完整
72
+ - 敏感数据是否加密
73
+
74
+ 性能:
75
+ - 是否有N+1查询问题
76
+ - 是否有性能瓶颈
77
+ - 缓存使用是否合理
78
+ - 分页是否正确
79
+
80
+ 代码质量:
81
+ - 代码是否清晰易读
82
+ - 命名是否规范
83
+ - 注释是否充分
84
+ - 是否有重复代码
85
+ ```
86
+
87
+ ### 3. 问题分级标准
88
+
89
+ ```yaml
90
+ 问题级别:
91
+ Critical (严重):
92
+ 定义: 阻塞功能正常运行的问题
93
+ 示例:
94
+ - 接口实现缺失
95
+ - 业务逻辑错误
96
+ - 安全漏洞
97
+ - 数据丢失风险
98
+ 处理: 必须立即修复,阻塞后续流程
99
+
100
+ Warning (警告):
101
+ 定义: 影响代码质量或性能的问题
102
+ 示例:
103
+ - 代码风格不一致
104
+ - 缺少异常处理
105
+ - 性能隐患
106
+ - 注释缺失
107
+ 处理: 建议修复,不阻塞流程
108
+
109
+ Suggestion (建议):
110
+ 定义: 改进建议
111
+ 示例:
112
+ - 代码可读性改进
113
+ - 重构建议
114
+ - 最佳实践建议
115
+ 处理: 可选修复,记录备查
116
+ ```
117
+
118
+ ### 4. 反馈循环机制
119
+
120
+ ```yaml
121
+ 反馈流程:
122
+ 发现问题 → 记录问题 → 分配修复 → 验证修复 → 关闭问题
123
+
124
+ 问题记录格式:
125
+ id: ISS-001
126
+ round: 2 # 审查轮次
127
+ level: Critical
128
+ category: 业务逻辑
129
+ location:
130
+ file: EquityTransferApplyServiceImpl.java
131
+ line: 45-50
132
+ description: 转让底价验证逻辑错误,应该大于等于评估价值
133
+ expected: 转让底价 >= 评估价值
134
+ actual: 转让底价 > 评估价值(缺少等于的情况)
135
+ suggestion: 修改为 >= 判断
136
+ status: open
137
+ assignee: AI
138
+ createdAt: 2026-03-31T11:00:00Z
139
+ history:
140
+ - action: created
141
+ timestamp: 2026-03-31T11:00:00Z
142
+ - action: assigned
143
+ timestamp: 2026-03-31T11:01:00Z
144
+ ```
145
+
146
+ ## 审查流程详解
147
+
148
+ ### 第一轮:规则检查
149
+
150
+ ```yaml
151
+ 检查项目:
152
+ 代码风格:
153
+ - 命名规范检查
154
+ - 代码格式检查
155
+ - 导入语句检查
156
+ - 注释规范检查
157
+
158
+ 安全检查:
159
+ - SQL注入检查
160
+ - XSS检查
161
+ - 敏感信息泄露检查
162
+ - 权限注解检查
163
+
164
+ 常见错误:
165
+ - 空指针检查
166
+ - 资源泄露检查
167
+ - 异常处理检查
168
+ - 并发安全检查
169
+
170
+ 检查工具:
171
+ - Checkstyle (Java)
172
+ - ESLint (JavaScript)
173
+ - PMD (Java)
174
+ - SpotBugs (Java)
175
+
176
+ 输出格式:
177
+ rule-check-report.md:
178
+ 检查时间: 2026-03-31T11:00:00Z
179
+ 检查范围: 15个文件
180
+ 问题统计:
181
+ Critical: 0
182
+ Warning: 5
183
+ Suggestion: 10
184
+ 问题列表:
185
+ - 文件: xxx.java
186
+ 规则: naming-convention
187
+ 级别: Warning
188
+ 描述: 变量名不符合驼峰命名规范
189
+ ```
190
+
191
+ ### 第二轮:AI审查
192
+
193
+ ```yaml
194
+ 审查维度:
195
+ 业务逻辑正确性:
196
+ - 需求理解是否正确
197
+ - 业务规则是否完整实现
198
+ - 边界条件是否处理
199
+ - 异常场景是否考虑
200
+
201
+ 代码质量:
202
+ - 代码结构是否清晰
203
+ - 是否遵循设计模式
204
+ - 是否有代码重复
205
+ - 是否有过度设计
206
+
207
+ 最佳实践:
208
+ - 是否遵循框架规范
209
+ - 是否使用推荐方式
210
+ - 是否避免反模式
211
+
212
+ 审查方法:
213
+ - 逐文件审查
214
+ - 业务逻辑追踪
215
+ - 代码路径分析
216
+ - 依赖关系检查
217
+
218
+ 输出格式:
219
+ ai-review-report.md:
220
+ 审查时间: 2026-03-31T11:15:00Z
221
+ 审查范围: 15个文件
222
+ 问题统计:
223
+ Critical: 2
224
+ Warning: 8
225
+ Suggestion: 15
226
+ 问题列表:
227
+ - id: ISS-001
228
+ 类别: 业务逻辑
229
+ 级别: Critical
230
+ 文件: EquityTransferApplyServiceImpl.java
231
+ 行号: 45-50
232
+ 描述: 转让底价验证逻辑错误
233
+ 建议: 修改为 >= 判断
234
+ ```
235
+
236
+ ### 第三轮:交叉验证
237
+
238
+ ```yaml
239
+ 验证项目:
240
+ 接口完整性验证:
241
+ 方法: 对照spec.md逐项检查
242
+ 内容:
243
+ - 所有接口是否都已实现
244
+ - 接口参数是否与规格一致
245
+ - 返回值是否与规格一致
246
+
247
+ 数据模型一致性验证:
248
+ 方法: 对照数据库设计检查
249
+ 内容:
250
+ - 实体字段是否与表结构一致
251
+ - 字段类型是否匹配
252
+ - 关联关系是否正确
253
+
254
+ 业务规则正确性验证:
255
+ 方法: 对照业务规则定义检查
256
+ 内容:
257
+ - 验证规则是否完整
258
+ - 状态转换是否正确
259
+ - 计算逻辑是否正确
260
+
261
+ 验证方法:
262
+ - 规格对照表
263
+ - 字段映射检查
264
+ - 接口映射检查
265
+ - 业务规则追踪
266
+
267
+ 输出格式:
268
+ cross-validation-report.md:
269
+ 验证时间: 2026-03-31T11:30:00Z
270
+ 验证范围: spec.md vs 实现代码
271
+ 验证结果:
272
+ 接口完整性: 100% (10/10)
273
+ 数据模型一致性: 95% (19/20)
274
+ 业务规则正确性: 90% (9/10)
275
+ 问题列表:
276
+ - id: ISS-002
277
+ 类别: 数据模型
278
+ 级别: Warning
279
+ 描述: 实体类缺少remark字段
280
+ 规格: 有remark字段
281
+ 实际: 未实现
282
+ ```
283
+
284
+ ## 审查报告模板
285
+
286
+ ```markdown
287
+ # 多轮审查报告
288
+
289
+ ## 审查概要
290
+
291
+ | 项目 | 内容 |
292
+ |------|------|
293
+ | 功能点ID | FP-ZCCZ1-001 |
294
+ | 功能名称 | 国有产权转让申请 |
295
+ | 审查时间 | 2026-03-31 11:00:00 - 11:30:00 |
296
+ | 审查范围 | 15个文件 |
297
+
298
+ ## 问题统计
299
+
300
+ | 轮次 | Critical | Warning | Suggestion | 合计 |
301
+ |------|----------|---------|------------|------|
302
+ | 第一轮:规则检查 | 0 | 5 | 10 | 15 |
303
+ | 第二轮:AI审查 | 2 | 8 | 15 | 25 |
304
+ | 第三轮:交叉验证 | 1 | 3 | 5 | 9 |
305
+ | **合计** | **3** | **16** | **30** | **49** |
306
+
307
+ ## Critical问题详情
308
+
309
+ ### ISS-001: 转让底价验证逻辑错误
310
+
311
+ | 属性 | 内容 |
312
+ |------|------|
313
+ | 来源 | 第二轮:AI审查 |
314
+ | 类别 | 业务逻辑 |
315
+ | 文件 | EquityTransferApplyServiceImpl.java |
316
+ | 行号 | 45-50 |
317
+ | 描述 | 转让底价验证逻辑错误,应该大于等于评估价值 |
318
+ | 预期 | 转让底价 >= 评估价值 |
319
+ | 实际 | 转让底价 > 评估价值(缺少等于的情况) |
320
+ | 建议 | 修改为 >= 判断 |
321
+
322
+ **代码片段**:
323
+ ```java
324
+ // 当前代码
325
+ if (transferFloorPrice > evaluationValue) {
326
+ throw new BusinessException("转让底价不得低于评估价值");
327
+ }
328
+
329
+ // 建议修改
330
+ if (transferFloorPrice < evaluationValue) {
331
+ throw new BusinessException("转让底价不得低于评估价值");
332
+ }
333
+ ```
334
+
335
+ ### ISS-002: 缺少权限注解
336
+
337
+ | 属性 | 内容 |
338
+ |------|------|
339
+ | 来源 | 第一轮:规则检查 |
340
+ | 类别 | 安全性 |
341
+ | 文件 | EquityTransferApplyController.java |
342
+ | 行号 | 35 |
343
+ | 描述 | 删除接口缺少权限注解 |
344
+ | 建议 | 添加 @PreAuthorize("@ss.hasPermi('equity:transfer:remove')") |
345
+
346
+ ### ISS-003: 接口返回值与规格不一致
347
+
348
+ | 属性 | 内容 |
349
+ |------|------|
350
+ | 来源 | 第三轮:交叉验证 |
351
+ | 类别 | 接口完整性 |
352
+ | 文件 | EquityTransferApplyController.java |
353
+ | 行号 | 50 |
354
+ | 描述 | 详情接口返回值缺少附件列表 |
355
+ | 规格 | 返回 { entity, attachments } |
356
+ | 实际 | 只返回 { entity } |
357
+ | 建议 | 添加附件列表查询并返回 |
358
+
359
+ ## Warning问题列表
360
+
361
+ | ID | 来源 | 类别 | 文件 | 描述 |
362
+ |----|------|------|------|------|
363
+ | W-001 | 第一轮 | 代码风格 | Entity.java | 变量名不符合驼峰命名规范 |
364
+ | W-002 | 第二轮 | 代码质量 | ServiceImpl.java | 方法过长,建议拆分 |
365
+ | W-003 | 第三轮 | 数据模型 | Entity.java | 缺少remark字段 |
366
+ | ... | ... | ... | ... | ... |
367
+
368
+ ## Suggestion问题列表
369
+
370
+ | ID | 来源 | 类别 | 文件 | 描述 |
371
+ |----|------|------|------|------|
372
+ | S-001 | 第一轮 | 代码风格 | Controller.java | 建议添加接口注释 |
373
+ | S-002 | 第二轮 | 最佳实践 | ServiceImpl.java | 建议使用Optional避免空指针 |
374
+ | ... | ... | ... | ... | ... |
375
+
376
+ ## 验证结果
377
+
378
+ ### 接口完整性验证
379
+
380
+ | 接口 | 规格 | 实现 | 状态 |
381
+ |------|------|------|------|
382
+ | POST /equity-transfer | 新增申请 | ✅ 已实现 | 通过 |
383
+ | PUT /equity-transfer | 修改申请 | ✅ 已实现 | 通过 |
384
+ | DELETE /equity-transfer/{id} | 删除申请 | ✅ 已实现 | 通过 |
385
+ | GET /equity-transfer/{id} | 查询详情 | ✅ 已实现 | ⚠️ 返回值不完整 |
386
+ | GET /equity-transfer/list | 查询列表 | ✅ 已实现 | 通过 |
387
+
388
+ ### 数据模型一致性验证
389
+
390
+ | 字段 | 数据库 | 实体类 | 状态 |
391
+ |------|--------|--------|------|
392
+ | id | bigint | Long | 通过 |
393
+ | transfer_type | varchar | String | 通过 |
394
+ | transfer_reason | varchar | String | 通过 |
395
+ | remark | varchar | - | ⚠️ 缺失 |
396
+
397
+ ### 业务规则正确性验证
398
+
399
+ | 规则ID | 规则描述 | 实现状态 | 验证结果 |
400
+ |--------|---------|---------|---------|
401
+ | BR-001 | 转让底价 >= 评估价值 | ✅ 已实现 | ❌ 逻辑错误 |
402
+ | BR-002 | 转让原因必填 | ✅ 已实现 | 通过 |
403
+ | BR-003 | 附件必传 | ✅ 已实现 | 通过 |
404
+
405
+ ## 审查结论
406
+
407
+ | 结论 | 内容 |
408
+ |------|------|
409
+ | 是否通过 | ❌ 不通过 |
410
+ | 原因 | 存在3个Critical问题需要修复 |
411
+ | 下一步 | 修复Critical问题后重新审查 |
412
+
413
+ ## 修复建议
414
+
415
+ 1. **ISS-001**: 修改转让底价验证逻辑
416
+ 2. **ISS-002**: 添加权限注解
417
+ 3. **ISS-003**: 补充附件列表返回
418
+ ```
419
+
420
+ ## 反馈循环流程
421
+
422
+ ```
423
+ 审查完成
424
+
425
+
426
+ ┌─────────────────────────────────┐
427
+ │ 1. 问题分类与优先级排序 │
428
+ │ - Critical问题优先处理 │
429
+ │ - Warning问题次优先 │
430
+ │ - Suggestion记录备查 │
431
+ └─────────────────────────────────┘
432
+
433
+
434
+ ┌─────────────────────────────────┐
435
+ │ 2. 问题分配 │
436
+ │ - 自动修复:简单问题 │
437
+ │ - AI修复:复杂问题 │
438
+ │ - 人工修复:需要确认的问题 │
439
+ └─────────────────────────────────┘
440
+
441
+
442
+ ┌─────────────────────────────────┐
443
+ │ 3. 执行修复 │
444
+ │ - 记录修复过程 │
445
+ │ - 更新代码文件 │
446
+ │ - 标记问题状态 │
447
+ └─────────────────────────────────┘
448
+
449
+
450
+ ┌─────────────────────────────────┐
451
+ │ 4. 验证修复 │
452
+ │ - 重新运行相关检查 │
453
+ │ - 确认问题已解决 │
454
+ │ - 检查是否引入新问题 │
455
+ └─────────────────────────────────┘
456
+
457
+ ├─ 所有问题已解决 ──────────────┐
458
+ │ │
459
+ ▼ ▼
460
+ ┌─────────────────────────────────┐
461
+ │ 5. 关闭问题 │
462
+ │ - 更新问题状态为已关闭 │
463
+ │ - 记录修复历史 │
464
+ │ - 生成最终报告 │
465
+ └─────────────────────────────────┘
466
+ ```
467
+
468
+ ## 问题修复记录模板
469
+
470
+ ```yaml
471
+ 问题修复记录:
472
+ 问题ID: ISS-001
473
+ 修复人: AI
474
+ 修复时间: 2026-03-31T12:00:00Z
475
+
476
+ 修复前代码: |
477
+ if (transferFloorPrice > evaluationValue) {
478
+ throw new BusinessException("转让底价不得低于评估价值");
479
+ }
480
+
481
+ 修复后代码: |
482
+ if (transferFloorPrice < evaluationValue) {
483
+ throw new BusinessException("转让底价不得低于评估价值");
484
+ }
485
+
486
+ 验证结果: 通过
487
+ 验证人: AI
488
+ 验证时间: 2026-03-31T12:05:00Z
489
+
490
+ 备注: 修改判断条件为正确的逻辑
491
+ ```
492
+
493
+ ## 学习机制
494
+
495
+ ```yaml
496
+ 学习内容:
497
+ 问题模式学习:
498
+ - 记录常见问题类型
499
+ - 建立问题模式库
500
+ - 优化审查规则
501
+
502
+ 修复方案学习:
503
+ - 记录有效修复方案
504
+ - 建立修复知识库
505
+ - 提高自动修复率
506
+
507
+ 规则优化:
508
+ - 根据问题统计优化规则
509
+ - 添加新的检查规则
510
+ - 调整问题级别
511
+
512
+ 学习输出:
513
+ - common-issues.yaml: 常见问题库
514
+ - fix-patterns.yaml: 修复模式库
515
+ - review-rules.yaml: 审查规则库
516
+ ```
517
+
518
+ ## Guardrails
519
+
520
+ - Critical问题必须全部修复才能通过
521
+ - 每个问题必须有明确的修复方案
522
+ - 修复后必须重新验证
523
+ - 问题修复历史必须完整记录
524
+ - 审查报告必须保存到 docs/reviews/
525
+
526
+ ## 与其他技能协作
527
+
528
+ | 协作技能 | 协作方式 | 传入数据 | 期望输出 |
529
+ |---------|---------|---------|---------|
530
+ | **pdd-implement-feature** | 被调用 | 代码文件 | 审查报告 |
531
+ | **expert-ruoyi** | 咨询 | 若依相关问题 | 解决方案 |
532
+ | **expert-activiti** | 咨询 | 工作流相关问题 | 解决方案 |
533
+ | **expert-code-quality** | 咨询 | 代码质量问题 | 重构建议 |
534
+ | **pdd-feedback-learner** | 调用 | 问题记录 | 学习结果 |