pdd-skills 3.0.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.
Files changed (261) hide show
  1. package/README.md +1478 -0
  2. package/bin/pdd.js +354 -0
  3. package/config/bpmn-rules.yaml +166 -0
  4. package/config/checkstyle.xml +105 -0
  5. package/config/eslint.config.js +48 -0
  6. package/config/pmd.xml +91 -0
  7. package/config/prd-rules.yaml +113 -0
  8. package/config/ruff.toml +45 -0
  9. package/config/sqlfluff.cfg +82 -0
  10. package/hooks/hook-executor.js +332 -0
  11. package/index.js +43 -0
  12. package/lib/api-routes.js +750 -0
  13. package/lib/api-server.js +408 -0
  14. package/lib/cache/cache-config.js +209 -0
  15. package/lib/cache/system-cache.js +852 -0
  16. package/lib/config-manager.js +373 -0
  17. package/lib/generate.js +528 -0
  18. package/lib/grpc/grpc-routes.js +1134 -0
  19. package/lib/grpc/grpc-server.js +912 -0
  20. package/lib/grpc/proto-definitions.js +1033 -0
  21. package/lib/init.js +172 -0
  22. package/lib/iteration/auto-fixer.js +1025 -0
  23. package/lib/iteration/auto-reviewer.js +923 -0
  24. package/lib/iteration/controller.js +577 -0
  25. package/lib/list.js +130 -0
  26. package/lib/mcp-server.js +548 -0
  27. package/lib/openclaw/api-integration.js +535 -0
  28. package/lib/openclaw/cli-integration.js +567 -0
  29. package/lib/openclaw/data-sync.js +845 -0
  30. package/lib/openclaw/openclaw-adapter.js +783 -0
  31. package/lib/plugin/example-plugins/code-stats/index.js +332 -0
  32. package/lib/plugin/example-plugins/code-stats/plugin.json +1 -0
  33. package/lib/plugin/example-plugins/custom-linter/index.js +472 -0
  34. package/lib/plugin/example-plugins/custom-linter/plugin.json +1 -0
  35. package/lib/plugin/example-plugins/hello-world/index.js +86 -0
  36. package/lib/plugin/example-plugins/hello-world/plugin.json +1 -0
  37. package/lib/plugin/plugin-manager.js +655 -0
  38. package/lib/plugin/plugin-sdk.js +565 -0
  39. package/lib/plugin/sandbox.js +627 -0
  40. package/lib/quality/rules/maintainability.js +418 -0
  41. package/lib/quality/rules/performance.js +498 -0
  42. package/lib/quality/rules/readability.js +441 -0
  43. package/lib/quality/rules/robustness.js +504 -0
  44. package/lib/quality/rules/security.js +444 -0
  45. package/lib/quality/scorer.js +576 -0
  46. package/lib/report.js +669 -0
  47. package/lib/sdk-base.js +301 -0
  48. package/lib/sdk-js.js +446 -0
  49. package/lib/sdk-python/README.md +546 -0
  50. package/lib/sdk-python/examples/basic_usage.py +450 -0
  51. package/lib/sdk-python/pdd_sdk/__init__.py +180 -0
  52. package/lib/sdk-python/pdd_sdk/client.py +1170 -0
  53. package/lib/sdk-python/pdd_sdk/events.py +423 -0
  54. package/lib/sdk-python/pdd_sdk/exceptions.py +158 -0
  55. package/lib/sdk-python/pdd_sdk/models.py +518 -0
  56. package/lib/sdk-python/pdd_sdk/utils.py +759 -0
  57. package/lib/token/budget-alert.js +367 -0
  58. package/lib/token/budget-manager.js +485 -0
  59. package/lib/update.js +54 -0
  60. package/lib/utils/logger.js +88 -0
  61. package/lib/verify.js +741 -0
  62. package/lib/version.js +52 -0
  63. package/lib/vm/README.md +102 -0
  64. package/lib/vm/dashboard/api-routes.js +669 -0
  65. package/lib/vm/dashboard/server.js +391 -0
  66. package/lib/vm/dashboard/sse.js +358 -0
  67. package/lib/vm/dashboard/static/css/dashboard.css +1378 -0
  68. package/lib/vm/dashboard/static/index.html +118 -0
  69. package/lib/vm/dashboard/static/js/app.js +949 -0
  70. package/lib/vm/dashboard/static/js/charts.js +913 -0
  71. package/lib/vm/dashboard/static/js/kanban-view.js +1053 -0
  72. package/lib/vm/dashboard/static/js/pipeline-view.js +463 -0
  73. package/lib/vm/dashboard/static/js/quality-view.js +598 -0
  74. package/lib/vm/dashboard/static/js/system-view.js +1021 -0
  75. package/lib/vm/data-provider.js +1191 -0
  76. package/lib/vm/event-bus.js +402 -0
  77. package/lib/vm/hooks/extract-hook.js +307 -0
  78. package/lib/vm/hooks/generate-hook.js +374 -0
  79. package/lib/vm/hooks/hook-interface.js +458 -0
  80. package/lib/vm/hooks/report-hook.js +331 -0
  81. package/lib/vm/hooks/verify-hook.js +454 -0
  82. package/lib/vm/models.js +1003 -0
  83. package/lib/vm/reconciler.js +855 -0
  84. package/lib/vm/scanner.js +988 -0
  85. package/lib/vm/state-schema.js +955 -0
  86. package/lib/vm/state-store.js +733 -0
  87. package/lib/vm/tui/components/card.js +339 -0
  88. package/lib/vm/tui/components/progress-bar.js +368 -0
  89. package/lib/vm/tui/components/sparkline.js +327 -0
  90. package/lib/vm/tui/components/status-light.js +294 -0
  91. package/lib/vm/tui/components/table.js +370 -0
  92. package/lib/vm/tui/input.js +335 -0
  93. package/lib/vm/tui/renderer.js +548 -0
  94. package/lib/vm/tui/screens/kanban-screen.js +397 -0
  95. package/lib/vm/tui/screens/overview-screen.js +357 -0
  96. package/lib/vm/tui/screens/quality-screen.js +336 -0
  97. package/lib/vm/tui/screens/system-screen.js +379 -0
  98. package/lib/vm/tui/tui.js +805 -0
  99. package/package.json +1 -0
  100. package/scripts/cso-analyzer.js +198 -0
  101. package/scripts/eval-runner.js +359 -0
  102. package/scripts/i18n-checker.js +109 -0
  103. package/scripts/linter/activiti-linter.js +272 -0
  104. package/scripts/linter/prd-linter.js +162 -0
  105. package/scripts/linter/report-generator.js +207 -0
  106. package/scripts/linter/run-linters.js +285 -0
  107. package/scripts/linter/sql-linter.js +166 -0
  108. package/scripts/token-analyzer.js +162 -0
  109. package/scripts/vm-test.js +180 -0
  110. package/skills/core/official-doc-writer/LICENSE +21 -0
  111. package/skills/core/official-doc-writer/README.md +232 -0
  112. package/skills/core/official-doc-writer/SKILL.md +475 -0
  113. package/skills/core/official-doc-writer/_meta.json +1 -0
  114. package/skills/core/official-doc-writer/document_generator.py +580 -0
  115. package/skills/core/official-doc-writer/evals/default-evals.json +1 -0
  116. package/skills/core/official-doc-writer/examples.md +150 -0
  117. package/skills/core/official-doc-writer/fonts/FONTS_LIST.md +45 -0
  118. package/skills/core/official-doc-writer/fonts/README.md +141 -0
  119. package/skills/core/official-doc-writer/fonts/SIMFANG.TTF +0 -0
  120. package/skills/core/official-doc-writer/fonts/SIMHEI.TTF +0 -0
  121. package/skills/core/official-doc-writer/fonts/SIMKAI.TTF +0 -0
  122. package/skills/core/official-doc-writer/fonts/SIMSUN.TTC +0 -0
  123. package/skills/core/official-doc-writer/fonts//346/226/271/346/255/243/345/260/217/346/240/207/345/256/213GBK.TTF +0 -0
  124. 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 -0
  125. package/skills/core/official-doc-writer/scripts/__pycache__/generate_official_doc.cpython-313.pyc +0 -0
  126. package/skills/core/official-doc-writer/scripts/dialog_manager.py +564 -0
  127. package/skills/core/official-doc-writer/scripts/generate_official_doc.py +252 -0
  128. package/skills/core/official-doc-writer/scripts/install_fonts.py +390 -0
  129. package/skills/core/official-doc-writer/scripts/smart_prompts.py +363 -0
  130. package/skills/core/pdd-ba/SKILL.md +305 -0
  131. package/skills/core/pdd-ba/_meta.json +1 -0
  132. package/skills/core/pdd-ba/evals/default-evals.json +1 -0
  133. package/skills/core/pdd-code-reviewer/SKILL.md +378 -0
  134. package/skills/core/pdd-code-reviewer/_meta.json +1 -0
  135. package/skills/core/pdd-code-reviewer/evals/default-evals.json +1 -0
  136. package/skills/core/pdd-doc-change/SKILL.md +350 -0
  137. package/skills/core/pdd-doc-change/_meta.json +1 -0
  138. package/skills/core/pdd-doc-change/evals/default-evals.json +1 -0
  139. package/skills/core/pdd-doc-gardener/SKILL.md +248 -0
  140. package/skills/core/pdd-doc-gardener/_meta.json +1 -0
  141. package/skills/core/pdd-doc-gardener/evals/default-evals.json +1 -0
  142. package/skills/core/pdd-entropy-reduction/SKILL.md +360 -0
  143. package/skills/core/pdd-entropy-reduction/_meta.json +1 -0
  144. package/skills/core/pdd-entropy-reduction/evals/default-evals.json +1 -0
  145. package/skills/core/pdd-entropy-reduction/references/entropy-report-template.md +287 -0
  146. package/skills/core/pdd-entropy-reduction/references/golden-principles.md +573 -0
  147. package/skills/core/pdd-entropy-reduction/scripts/entropy_scan.py +712 -0
  148. package/skills/core/pdd-extract-features/SKILL.md +320 -0
  149. package/skills/core/pdd-extract-features/_meta.json +1 -0
  150. package/skills/core/pdd-extract-features/evals/default-evals.json +1 -0
  151. package/skills/core/pdd-generate-spec/SKILL.md +418 -0
  152. package/skills/core/pdd-generate-spec/_meta.json +1 -0
  153. package/skills/core/pdd-generate-spec/evals/default-evals.json +1 -0
  154. package/skills/core/pdd-implement-feature/SKILL.md +332 -0
  155. package/skills/core/pdd-implement-feature/_meta.json +1 -0
  156. package/skills/core/pdd-implement-feature/evals/default-evals.json +1 -0
  157. package/skills/core/pdd-main/SKILL.md +540 -0
  158. package/skills/core/pdd-main/_meta.json +1 -0
  159. package/skills/core/pdd-main/evals/default-evals.json +1 -0
  160. package/skills/core/pdd-main/evals/evals.json +215 -0
  161. package/skills/core/pdd-verify-feature/SKILL.md +474 -0
  162. package/skills/core/pdd-verify-feature/_meta.json +1 -0
  163. package/skills/core/pdd-verify-feature/evals/default-evals.json +1 -0
  164. package/skills/core/pdd-vm/evals/default-evals.json +1 -0
  165. package/skills/core/traffic-accident-assessor/LICENSE +29 -0
  166. package/skills/core/traffic-accident-assessor/SKILL.md +439 -0
  167. package/skills/core/traffic-accident-assessor/evals/evals.json +1 -0
  168. package/skills/core/traffic-accident-assessor/references/accident-types.md +369 -0
  169. package/skills/core/traffic-accident-assessor/references/liability-rules.md +287 -0
  170. package/skills/core/traffic-accident-assessor/references/traffic-laws.md +226 -0
  171. package/skills/core/traffic-accident-assessor/references//351/253/230/345/260/224/345/244/253/350/257/264/346/230/216/344/271/246.pdf +32576 -106
  172. package/skills/core/traffic-accident-assessor/scripts/generate_official_statement.py +588 -0
  173. package/skills/core/traffic-accident-assessor/scripts/generate_report.py +495 -0
  174. package/skills/core/traffic-accident-assessor/scripts/generate_statement.py +528 -0
  175. package/skills/core/traffic-accident-assessor.zip +0 -0
  176. package/skills/entropy/expert-arch-enforcer/SKILL.md +292 -0
  177. package/skills/entropy/expert-arch-enforcer/_meta.json +1 -0
  178. package/skills/entropy/expert-arch-enforcer/evals/default-evals.json +1 -0
  179. package/skills/entropy/expert-auto-refactor/SKILL.md +327 -0
  180. package/skills/entropy/expert-auto-refactor/_meta.json +1 -0
  181. package/skills/entropy/expert-auto-refactor/evals/default-evals.json +1 -0
  182. package/skills/entropy/expert-code-quality/SKILL.md +468 -0
  183. package/skills/entropy/expert-code-quality/_meta.json +1 -0
  184. package/skills/entropy/expert-code-quality/evals/default-evals.json +1 -0
  185. package/skills/entropy/expert-code-quality/evals/evals.json +109 -0
  186. package/skills/entropy/expert-code-quality/references/code-smells.md +605 -0
  187. package/skills/entropy/expert-code-quality/references/design-patterns.md +1111 -0
  188. package/skills/entropy/expert-code-quality/references/refactoring-catalog.md +1281 -0
  189. package/skills/entropy/expert-code-quality/references/solid-principles.md +524 -0
  190. package/skills/entropy/expert-entropy-auditor/SKILL.md +276 -0
  191. package/skills/entropy/expert-entropy-auditor/_meta.json +1 -0
  192. package/skills/entropy/expert-entropy-auditor/evals/default-evals.json +1 -0
  193. package/skills/expert/expert-activiti/SKILL.md +497 -0
  194. package/skills/expert/expert-activiti/_meta.json +1 -0
  195. package/skills/expert/expert-mysql/SKILL.md +832 -0
  196. package/skills/expert/expert-mysql/_meta.json +1 -0
  197. package/skills/expert/expert-performance/SKILL.md +379 -0
  198. package/skills/expert/expert-performance/_meta.json +1 -0
  199. package/skills/expert/expert-performance/evals/default-evals.json +1 -0
  200. package/skills/expert/expert-ruoyi/SKILL.md +472 -0
  201. package/skills/expert/expert-ruoyi/_meta.json +1 -0
  202. package/skills/expert/expert-security/SKILL.md +1341 -0
  203. package/skills/expert/expert-security/_meta.json +1 -0
  204. package/skills/expert/expert-security/evals/default-evals.json +1 -0
  205. package/skills/expert/software-architect/SKILL.md +350 -0
  206. package/skills/expert/software-architect/_meta.json +1 -0
  207. package/skills/expert/software-engineer/SKILL.md +437 -0
  208. package/skills/expert/software-engineer/_meta.json +1 -0
  209. package/skills/expert/software-engineer/architecture.md +130 -0
  210. package/skills/expert/software-engineer/patterns.md +151 -0
  211. package/skills/expert/software-engineer/testing.md +135 -0
  212. package/skills/expert/system-architect/SKILL.md +628 -0
  213. package/skills/expert/system-architect/_meta.json +1 -0
  214. package/skills/expert/system-architect/assets/templates/ARCHITECTURE.md +25 -0
  215. package/skills/expert/system-architect/assets/templates/README.md +44 -0
  216. package/skills/expert/system-architect/references/js-ts-standards.md +18 -0
  217. package/skills/expert/system-architect/references/python-standards.md +19 -0
  218. package/skills/expert/system-architect/references/scaffolding.md +61 -0
  219. package/skills/expert/system-architect/references/security-checklist.md +21 -0
  220. package/skills/openspec/openspec-apply-change/SKILL.md +156 -0
  221. package/skills/openspec/openspec-apply-change/_meta.json +1 -0
  222. package/skills/openspec/openspec-archive-change/SKILL.md +114 -0
  223. package/skills/openspec/openspec-archive-change/_meta.json +1 -0
  224. package/skills/openspec/openspec-bulk-archive-change/SKILL.md +246 -0
  225. package/skills/openspec/openspec-bulk-archive-change/_meta.json +1 -0
  226. package/skills/openspec/openspec-continue-change/SKILL.md +118 -0
  227. package/skills/openspec/openspec-continue-change/_meta.json +1 -0
  228. package/skills/openspec/openspec-explore/SKILL.md +288 -0
  229. package/skills/openspec/openspec-explore/_meta.json +1 -0
  230. package/skills/openspec/openspec-ff-change/SKILL.md +101 -0
  231. package/skills/openspec/openspec-ff-change/_meta.json +1 -0
  232. package/skills/openspec/openspec-new-change/SKILL.md +74 -0
  233. package/skills/openspec/openspec-new-change/_meta.json +1 -0
  234. package/skills/openspec/openspec-onboard/SKILL.md +554 -0
  235. package/skills/openspec/openspec-onboard/_meta.json +1 -0
  236. package/skills/openspec/openspec-sync-specs/SKILL.md +138 -0
  237. package/skills/openspec/openspec-sync-specs/_meta.json +1 -0
  238. package/skills/openspec/openspec-verify-change/SKILL.md +168 -0
  239. package/skills/openspec/openspec-verify-change/_meta.json +1 -0
  240. package/skills/pr/pdd-multi-review/SKILL.md +534 -0
  241. package/skills/pr/pdd-multi-review/_meta.json +1 -0
  242. package/skills/pr/pdd-pr-batch/SKILL.md +303 -0
  243. package/skills/pr/pdd-pr-batch/_meta.json +1 -0
  244. package/skills/pr/pdd-pr-create/SKILL.md +344 -0
  245. package/skills/pr/pdd-pr-create/_meta.json +1 -0
  246. package/skills/pr/pdd-pr-merge/SKILL.md +286 -0
  247. package/skills/pr/pdd-pr-merge/_meta.json +1 -0
  248. package/skills/pr/pdd-pr-review/SKILL.md +217 -0
  249. package/skills/pr/pdd-pr-review/_meta.json +1 -0
  250. package/skills/pr/pdd-task-manager/SKILL.md +636 -0
  251. package/skills/pr/pdd-task-manager/_meta.json +1 -0
  252. package/skills/pr/pdd-template-engine/SKILL.md +306 -0
  253. package/skills/pr/pdd-template-engine/_meta.json +1 -0
  254. package/templates/behavior-shaping/iron-law-template.md +87 -0
  255. package/templates/behavior-shaping/rationalization-template.md +62 -0
  256. package/templates/behavior-shaping/red-flags-template.md +70 -0
  257. package/templates/bilingual-template.md +139 -0
  258. package/templates/config/default.yaml +47 -0
  259. package/templates/project/default/README.md +31 -0
  260. package/templates/project/frontend/README.md +46 -0
  261. package/templates/project/java/README.md +48 -0
@@ -0,0 +1,474 @@
1
+ ---
2
+ name: pdd-verify-feature
3
+ description: 验证功能点实现是否符合开发规格和验收标准,采用三维验证模型(完整性、正确性、一致性)。当用户需要验证功能或检查实现时自动触发。支持中文触发:验证功能、功能验证、验收检查、PDD验证。
4
+ license: MIT
5
+ compatibility: 需要功能点代码和验收标准
6
+ metadata:
7
+ author: "neuqik@hotmail.com"
8
+ version: "4.1"
9
+ parent: pdd-main
10
+ triggers:
11
+ - "验证功能" | "验收" | "/verify"
12
+ - "功能点验收" | "checklist验证"
13
+ ---
14
+
15
+ # PDD-Verify Feature - 功能点验证技能 / Feature Verification Skill
16
+
17
+ ## 核心概念 / Core Concepts
18
+
19
+ ### 🇨🇳
20
+
21
+ 验证功能点实现是否符合开发规格和验收标准,确保交付质量。采用**三维验证模型**:
22
+
23
+ | 维度 | 定义 | 验证要点 |
24
+ |------|------|---------|
25
+ | **Completeness (完整性)** | 所有规格要求的功能是否都已实现 | 接口完整 | 字段齐全 | 业务规则覆盖 |
26
+ | **Correctness (正确性)** | 实现是否符合规格定义 | 接口逻辑正确 | 数据处理准确 | 业务规则正确 |
27
+ | **Coherence (一致性)** | 前后端、文档与代码是否一致 | 前后端接口一致 | 文档与代码一致 | 命名规范统一 |
28
+
29
+ ### 问题分级
30
+
31
+ | 级别 | 符号 | 说明 | 处理方式 |
32
+ |------|------|------|---------|
33
+ | **Critical** | 🔴 | 必须修复,否则验收不通过 | 修复后重新验证 |
34
+ | **Warning** | 🟡 | 建议修复,不影响验收通过 | 记录,待后续处理 |
35
+ | **Suggestion** | 🔵 | 可选优化 | 记录,作为后续改进项 |
36
+
37
+ ### 🇺🇸
38
+
39
+ Verify that feature implementation conforms to development specifications and acceptance criteria, ensuring delivery quality. Adopts a **Three-Dimensional Verification Model**:
40
+
41
+ | Dimension | Definition | Verification Points |
42
+ |-----------|------------|-------------------|
43
+ | **Completeness** | Are all specified features implemented? | Interface complete | Fields complete | Business rules covered |
44
+ | **Correctness** | Does implementation match specification? | Interface logic correct | Data processing accurate | Business rules correct |
45
+ | **Coherence** | Are frontend/backend, docs, and code consistent? | Frontend-backend interfaces consistent | Docs consistent with code | Naming conventions unified |
46
+
47
+ ### Issue Classification
48
+
49
+ | Level | Symbol | Description | Action |
50
+ |-------|--------|-------------|--------|
51
+ | **Critical** | 🔴 | Must fix; otherwise acceptance fails | Re-verify after fix |
52
+ | **Warning** | 🟡 | Recommended fix; does not block acceptance | Log for follow-up |
53
+ | **Suggestion** | 🔵 | Optional optimization | Log as future improvement item |
54
+
55
+ ## 验证流程 / Verification Process
56
+
57
+ ### 🇨🇳
58
+
59
+ ### Step 1: 收集验证材料
60
+
61
+ **代码文件**: 后端(Controller/Service/Mapper) | 前端(Vue组件/API接口) | 数据库脚本(SQL)
62
+
63
+ **规格文档**: spec.md(开发规格) | checklist.md(验收标准)
64
+
65
+ **其他**: 业务分析报告 | PRD文档
66
+
67
+ ### Step 2: Completeness 验证 (完整性)
68
+
69
+ **接口完整性**: 对照规格逐一检查每个API是否已实现(路径/方法/参数/响应/错误码)
70
+
71
+ **字段完整性**: 对照数据模型检查每个字段是否已实现(类型/长度/必填/格式)
72
+
73
+ **业务规则覆盖**: 检查所有业务规则是否都有对应的校验逻辑
74
+
75
+ ### Step 3: Correctness 验证 (正确性)
76
+
77
+ **接口逻辑正确性**: 检查请求处理流程是否符合规格描述的业务流程
78
+
79
+ **业务规则正确性**: 逐条验证每个业务规则的实现是否准确(边界条件/异常情况)
80
+
81
+ **数据处理正确性**: 验证数据转换/计算/持久化是否准确
82
+
83
+ ### Step 4: Coherence 验证 (一致性)
84
+
85
+ **前后端一致性**: 对比接口定义(路径/字段名/数据类型/校验规则)
86
+
87
+ **文档代码一致性**: 对比规格文档与实际代码实现(接口路径/响应结构/命名)
88
+
89
+ **命名规范性**: 检查代码命名是否符合项目约定
90
+
91
+ ### 🇺🇸
92
+
93
+ ### Step 1: Gather Verification Materials
94
+
95
+ **Code Files**: Backend (Controller/Service/Mapper) | Frontend (Vue components/API interfaces) | Database scripts (SQL)
96
+
97
+ **Specification Documents**: spec.md (development specification) | checklist.md (acceptance criteria)
98
+
99
+ **Others**: Business analysis report | PRD documents
100
+
101
+ ### Step 2: Completeness Verification
102
+
103
+ **Interface Completeness**: Check each API against specification for implementation (path/method/params/response/error codes)
104
+
105
+ **Field Completeness**: Check each field against data model for implementation (type/length/required/format)
106
+
107
+ **Business Rule Coverage**: Verify all business rules have corresponding validation logic
108
+
109
+ ### Step 3: Correctness Verification
110
+
111
+ **Interface Logic Correctness**: Verify request handling flow matches specification-described business process
112
+
113
+ **Business Rule Correctness**: Validate each business rule implementation for accuracy (edge cases/exceptions)
114
+
115
+ **Data Processing Correctness**: Verify data transformation/computation/persistence accuracy
116
+
117
+ ### Step 4: Coherence Verification
118
+
119
+ **Frontend-Backend Consistency**: Compare interface definitions (path/field names/data types/validation rules)
120
+
121
+ **Doc-Code Consistency**: Compare specification documents with actual code implementation (interface path/response structure/naming)
122
+
123
+ **Naming Convention Compliance**: Check if code naming follows project conventions
124
+
125
+ ## 验证检查清单 / Verification Checklist
126
+
127
+ ### 🇨🇳
128
+
129
+ ### 接口验证
130
+ - [ ] 接口路径是否符合规格
131
+ - [ ] 请求方法是否正确
132
+ - [ ] 请求参数是否完整
133
+ - [ ] 响应结构是否符合规格
134
+ - [ ] 错误码是否正确
135
+
136
+ ### 业务逻辑验证
137
+ - [ ] 状态转换是否正确
138
+ - [ ] 业务规则是否执行
139
+ - [ ] 校验逻辑是否完整
140
+ - [ ] 异常处理是否得当
141
+
142
+ ### 数据验证
143
+ - [ ] 字段类型是否正确
144
+ - [ ] 字段长度是否足够
145
+ - [ ] 必填字段是否校验
146
+ - [ ] 数据格式是否正确
147
+
148
+ ### 权限验证
149
+ - [ ] 是否有权限注解
150
+ - [ ] 数据权限是否配置
151
+ - [ ] 按钮权限是否控制
152
+
153
+ ### 一致性验证
154
+ - [ ] 接口路径是否一致
155
+ - [ ] 字段名称是否一致
156
+ - [ ] 数据类型是否一致
157
+ - [ ] 校验规则是否一致
158
+
159
+ ### 🇺🇸
160
+
161
+ ### Interface Verification
162
+ - [ ] Interface path matches specification
163
+ - [ ] Request method is correct
164
+ - [ ] Request parameters are complete
165
+ - [ ] Response structure matches specification
166
+ - [ ] Error codes are correct
167
+
168
+ ### Business Logic Verification
169
+ - [ ] State transitions are correct
170
+ - [ ] Business rules are executed
171
+ - [ ] Validation logic is complete
172
+ - [ ] Exception handling is appropriate
173
+
174
+ ### Data Verification
175
+ - [ ] Field types are correct
176
+ - [ ] Field lengths are sufficient
177
+ - [ ] Required fields are validated
178
+ - [ ] Data formats are correct
179
+
180
+ ### Permission Verification
181
+ - [ ] Permission annotations present
182
+ - [ ] Data permissions configured
183
+ - [ ] Button permissions controlled
184
+
185
+ ### Consistency Verification
186
+ - [ ] Interface paths are consistent
187
+ - [ ] Field names are consistent
188
+ - [ ] Data types are consistent
189
+ - [ ] Validation rules are consistent
190
+
191
+ ## 输出规范 / Output Specification
192
+
193
+ ### 🇨🇳
194
+
195
+ ### 验收报告模板
196
+
197
+ ```markdown
198
+ # [功能点名称] 验收报告
199
+
200
+ ## 基本信息
201
+ | 项目 | 内容 |
202
+ |------|------|
203
+ | 功能点ID | FP-xxx |
204
+ | 验收日期 | yyyy-MM-dd |
205
+ | 验收人 | AI/人工 |
206
+ | 验收结果 | 通过/不通过 |
207
+
208
+ ## 三维度验证结果
209
+ ### Completeness (完整性)
210
+ | 验证项 | 结果 | 问题数 |
211
+ |-------|------|-------|
212
+ | 接口完整性 | 🟢/🟡/🔴 | N |
213
+
214
+ ### Correctness (正确性)
215
+ | 验证项 | 结果 | 问题数 |
216
+ |-------|------|-------|
217
+ | 接口逻辑 | 🟢/🟡/🔴 | N |
218
+
219
+ ### Coherence (一致性)
220
+ | 验证项 | 结果 | 问题数 |
221
+ |-------|------|-------|
222
+ | 前后端一致 | 🟢/🟡/🔴 | N |
223
+
224
+ ## 问题清单
225
+ ### 🔴 Critical问题
226
+ | 序号 | 问题描述 | 位置 | 建议修复 |
227
+ |------|---------|------|---------|
228
+
229
+ ### 🟡 Warning问题
230
+ | 序号 | 问题描述 | 位置 | 建议修复 |
231
+ |------|---------|------|---------|
232
+
233
+ ## 验收结论
234
+ - [ ] **通过验收**: 所有Critical问题已修复
235
+ - [ ] **有条件通过**: Critical问题已记录,待修复
236
+ - [ ] **不通过验收**: 存在未修复的Critical问题
237
+
238
+ ## 签名
239
+ | 角色 | 签名 | 日期 |
240
+ |------|------|------|
241
+ | AI验证 | | |
242
+ | 人工复核 | | |
243
+ ```
244
+
245
+ ### 🇺🇸
246
+
247
+ ### Acceptance Report Template
248
+
249
+ ```markdown
250
+ # [Feature Name] Acceptance Report
251
+
252
+ ## Basic Information
253
+ | Item | Content |
254
+ |------|---------|
255
+ | Feature ID | FP-xxx |
256
+ | Acceptance Date | yyyy-MM-dd |
257
+ | Verifier | AI/Human |
258
+ | Result | Pass/Fail |
259
+
260
+ ## Three-Dimension Verification Results
261
+ ### Completeness
262
+ | Verification Item | Result | Issue Count |
263
+ |-------------------|--------|-------------|
264
+ | Interface Completeness | 🟢/🟡/🔴 | N |
265
+
266
+ ### Correctness
267
+ | Verification Item | Result | Issue Count |
268
+ |-------------------|--------|-------------|
269
+ | Interface Logic | 🟢/🟡/🔴 | N |
270
+
271
+ ### Coherence
272
+ | Verification Item | Result | Issue Count |
273
+ |-------------------|--------|-------------|
274
+ | Frontend-Backend Consistency | 🟢/🟡/🔴 | N |
275
+
276
+ ## Issue List
277
+ ### 🔴 Critical Issues
278
+ | # | Description | Location | Suggested Fix |
279
+ |---|-------------|----------|---------------|
280
+
281
+ ### 🟡 Warning Issues
282
+ | # | Description | Location | Suggested Fix |
283
+ |---|-------------|----------|---------------|
284
+
285
+ ## Acceptance Conclusion
286
+ - [ ] **Pass**: All Critical issues fixed
287
+ - [ ] **Conditional Pass**: Critical issues logged, pending fix
288
+ - [ ] **Fail**: Unfixed Critical issues exist
289
+
290
+ ## Signatures
291
+ | Role | Signature | Date |
292
+ |------|-----------|------|
293
+ | AI Verification | | |
294
+ | Human Review | | |
295
+ ```
296
+
297
+ ## 验证启发式方法 / Verification Heuristics
298
+
299
+ ### 🇨🇳
300
+
301
+ ### 常见遗漏检查
302
+ - [ ] 分页参数处理 | [ ] 排序参数处理 | [ ] 导出功能 | [ ] 导入功能 | [ ] 批量操作
303
+
304
+ ### 常见错误检查
305
+ - [ ] 空指针异常处理 | [ ] 数组越界检查 | [ ] 类型转换检查 | [ ] 日期格式检查 | [ ] 数字精度检查
306
+
307
+ ### 降级处理策略
308
+ 当无法完整验证时:
309
+ 1. **代码审查降级**: 缺少测试→进行代码审查 | 缺少文档→参考现有代码
310
+ 2. **部分验证**: 核心功能优先验证 | 非核心功能标记"待验证"
311
+ 3. **记录未验证项**: 明确标记未验证内容 | 记录原因和风险
312
+
313
+ ### 🇺🇸
314
+
315
+ ### Common Omission Checks
316
+ - [ ] Pagination parameter handling | [ ] Sorting parameter handling | [ ] Export function | [ ] Import function | [ ] Batch operations
317
+
318
+ ### Common Error Checks
319
+ - [ ] Null pointer exception handling | [ ] Array bounds checking | [ ] Type conversion checks | [ ] Date format checks | [ ] Numeric precision checks
320
+
321
+ ### Degradation Strategies
322
+ When full verification is not possible:
323
+ 1. **Code Review Fallback**: Missing tests → perform code review | Missing docs → reference existing code
324
+ 2. **Partial Verification**: Prioritize core functionality verification | Mark non-core features as "pending verification"
325
+ 3. **Log Unverified Items**: Clearly mark unverified content | Record reasons and risks
326
+
327
+ ## Guardrails / Safety Guardrails
328
+
329
+ ### 🇨🇳
330
+
331
+ **必须验证项**:
332
+ - [ ] 所有Critical问题必须修复
333
+ - [ ] 验收报告必须完整
334
+ - [ ] 三维度验证必须覆盖
335
+
336
+ **避免事项**:
337
+ - ❌ 跳过任何Critical问题
338
+ - ❌ 口头验收无文档记录
339
+ - ❌ 降级处理无风险说明
340
+
341
+ ### 🇺🇸
342
+
343
+ **Mandatory Verification Items**:
344
+ - [ ] All Critical issues must be fixed
345
+ - [ ] Acceptance report must be complete
346
+ - [ ] Three-dimension verification must be covered
347
+
348
+ **Avoid**:
349
+ - ❌ Skip any Critical issues
350
+ - ❌ Verbal acceptance without documentation
351
+ - ❌ Degradation without risk explanation
352
+
353
+ ## 与其他技能协作 / Collaboration with Other Skills
354
+
355
+ | 协作技能 | 协作方式 | 传入数据 | 期望输出 |
356
+ |---------|---------|---------|---------|
357
+ | **pdd-code-reviewer** | Sequential | 审查报告 | 问题列表 |
358
+ | **pdd-implement-feature** | Loop | 验收不通过 | 修复代码 |
359
+ | **pdd-main** | Sequential | 验收报告 | 最终交付确认 |
360
+
361
+ ### 🇺🇸
362
+
363
+ | Collaborating Skill | Collaboration Mode | Input Data | Expected Output |
364
+ |---------------------|-------------------|------------|-----------------|
365
+ | **pdd-code-reviewer** | Sequential | Review report | Issue list |
366
+ | **pdd-implement-feature** | Loop | Acceptance failure | Fixed code |
367
+ | **pdd-main** | Sequential | Acceptance report | Final delivery confirmation |
368
+
369
+ ## 断点续传与错误处理规范 / Checkpoint Resume & Error Handling Specification
370
+
371
+ ### 🇨🇳
372
+
373
+ 本Skill遵循PDD框架实施规范,详见 [pdd-framework-design.md 第9章](../docs/pdd-framework-design.md#9-pdd-实施规范)。
374
+
375
+ **断点续传**:
376
+ - **状态文件**: `.pdd-state.json`
377
+ - **触发方式**: 用户发出"继续执行"命令
378
+ - **状态内容**: 当前阶段/已完成功能点/待处理功能点
379
+
380
+ **错误处理**:
381
+ - **重试限制**: 同一功能点最多3次
382
+ - **超过限制**: 暂停流程,等待人工决策
383
+ - **失败记录**: 记录到 `dev-specs/FP-{模块}-{序号}/review-report.md`
384
+
385
+ **质量改进任务**:
386
+ - **处理时机**: 模块所有功能点完成后统一处理
387
+ - **输出文件**: `dev-specs/FP-{模块}-{序号}/improvement-tasks.md`
388
+
389
+ ### 🇺🇸
390
+
391
+ This Skill follows PDD framework implementation standards. See [pdd-framework-design.md Chapter 9](../docs/pdd-framework-design.md#9-pdd-实施规范).
392
+
393
+ **Checkpoint Resume**:
394
+ - **State File**: `.pdd-state.json`
395
+ - **Trigger**: User issues "continue execution" command
396
+ - **State Content**: Current stage / Completed features / Pending features
397
+
398
+ **Error Handling**:
399
+ - **Retry Limit**: Maximum 3 times per feature point
400
+ - **Exceeding Limit**: Pause process, await human decision
401
+ - **Failure Log**: Record to `dev-specs/FP-{module}-{sequence}/review-report.md`
402
+
403
+ **Quality Improvement Tasks**:
404
+ - **Processing Timing**: Process uniformly after all feature points in module are complete
405
+ - **Output File**: `dev-specs/FP-{module}-{sequence}/improvement-tasks.md`
406
+
407
+ ---
408
+
409
+ ## Iron Law / Iron Laws
410
+
411
+ ### 🇨🇳
412
+
413
+ 1. **三维验证不可缺省**: 必须完整执行Completeness(完整性)、Correctness(正确性)、Coherence(一致性)三个维度的验证,不得因时间压力而跳过任一维度。
414
+ 2. **Critical问题一票否决**: 只要存在一个未修复的Critical级别问题,就不能通过验收。不得因为"其他都没问题"而放行。
415
+ 3. **证据驱动结论**: 每个验证结论都必须有明确的证据支撑(如:具体代码位置、规格引用章节、测试结果),不得给出模糊的"看起来没问题"式判断。
416
+ 4. **不假设运行环境**: 验证基于静态代码分析和规格对照,不假设代码在特定环境下能正常运行。如果需要运行验证,必须明确说明环境依赖。
417
+ 5. **验收报告必须可追溯**: 报告中的每个问题都必须精确到文件名、行号、规格引用,使开发者能直接定位和修复。
418
+
419
+ **违规示例**: ❌ 只检查接口完整性就标记通过(跳过Correctness和Coherence) | ❌ 存在Critical问题但认为"不影响主流程"而给予通过 | ❌ 写"业务逻辑基本正确"而不指出具体代码位置和规则 | ❌ 假设数据库连接配置好了而跳过数据访问层验证 | ❌ 问题清单只写"状态转换有问题"而不说明具体是哪个状态的哪个转换
420
+
421
+ **合规示例**: ✅ 输出三维验证矩阵,每个维度都有明确判定 | ✅ 发现Critical问题后直接判定为"不通过验收",并列出修复建议 | ✅ 每个问题都标注:TransferApplyServiceImpl.java:142 状态校验缺失,参考spec.md第4.3节 | ✅ 明确说明"数据访问层验证基于SQL语法分析,未执行实际数据库查询" | ✅ 问题描述精确:"申请提交接口缺少底价校验(TransferApplyController.java:68),违反规则BR-001"
422
+
423
+ ### 🇺🇸
424
+
425
+ 1. **Three-Dimensional Verification is Mandatory**: Must fully execute all three dimensions of verification — Completeness, Correctness, and Coherence. No dimension may be skipped due to time pressure.
426
+ 2. **Critical Issues Have Veto Power**: A single unresolved Critical-level issue means acceptance cannot be granted. Do not grant a pass because "everything else looks fine."
427
+ 3. **Evidence-Driven Conclusions**: Every verification conclusion must have clear evidence support (e.g., specific code locations, specification section references, test results). Never give vague "looks fine" judgments.
428
+ 4. **Do Not Assume Runtime Environment**: Verification is based on static code analysis and specification comparison. Do not assume code runs correctly in any specific environment. If runtime verification is needed, explicitly state environment dependencies.
429
+ 5. **Acceptance Reports Must Be Traceable**: Every issue in the report must be precise to filename, line number, and specification reference, enabling developers to directly locate and fix.
430
+
431
+ **Violation Examples**: ❌ Mark as pass after only checking interface completeness (skipping Correctness and Coherence) | ❌ Grant pass despite Critical issues claiming "doesn't affect main flow" | ❌ Write "business logic basically correct" without specifying code location and rules | ❌ Skip data access layer verification assuming database connection is configured | ❌ Issue list only says "state transition has problems" without specifying which state's which transition
432
+
433
+ **Compliance Examples**: ✅ Output three-dimension verification matrix with clear judgment for each dimension | ✅ Immediately judge as "acceptance failed" upon discovering Critical issues, list fix suggestions | ✅ Each issue annotated: TransferApplyServiceImpl.java:142 missing status validation, refer to spec.md Section 4.3 | ✅ Clearly state "data access layer verification based on SQL syntax analysis, actual database queries not executed" | ✅ Issue description precise: "Submit application interface missing floor price validation (TransferApplyController.java:68), violates rule BR-001"
434
+
435
+ ---
436
+
437
+ ## Rationalization Table / Rationalization Table
438
+
439
+ | # | Trap / 陷阱 | Question / 请问自己 | Action / 应该怎么做 |
440
+ |---|-------------|-------------------|---------------------|
441
+ | 1 | "这个Critical问题影响不大,算了吧" / "This Critical issue isn't that big a deal, let it go" | Critical的定义就是"必须修复",放宽标准会导致缺陷流入生产 / Critical means "must fix"; relaxing standards lets defects into production | 维持Critical的一票否决权,任何Critical问题都必须修复后重新验证 / Maintain Critical's veto power; any Critical issue must be fixed and re-verified |
442
+ | 2 | "代码看起来没问题,应该对的" / "Code looks fine, should be correct" | 视觉检查会遗漏大量细节问题,特别是逻辑错误 / Visual inspection misses many details, especially logic errors | 逐项对照checklist进行系统性验证,而非概览式检查 / Verify systematically against checklist item by item, not overview-style |
443
+ | 3 | "三维度太耗时,只验核心维度吧" / "Three dimensions take too long, just verify core ones" | 每个维度捕获不同类型的问题,跳过会导致特定类别缺陷漏检 / Each dimension catches different issues; skipping causes specific defect categories to be missed | 三维验证是最低要求,可以使用降级策略但不能完全跳过 / Three-dimension verification is minimum requirement; can use degradation but never skip entirely |
444
+ | 4 | "这个问题实现者肯定知道,不用写那么细" / "The implementer definitely knows this, no need to be so detailed" | 详细的问题是修复的直接依据,模糊描述会增加沟通成本 / Detailed issues are direct basis for fixes; vague descriptions increase communication cost | 每个问题都要包含:位置、现象、期望行为、实际行为、修复建议 / Every issue must include: location, phenomenon, expected behavior, actual behavior, fix suggestion |
445
+ | 5 | "差不多通过了,让code-reviewer再查一遍吧" / "It's mostly passing, let code-reviewer check again" | verify-feature是最终把关,不能寄希望于下游补救 / verify-feature is the final gate; cannot rely on downstream remediation | 坚守验收标准,不合格就是不合格 / Hold acceptance standards; unqualified means unqualified |
446
+
447
+ **常见陷阱** / **Common Traps**:
448
+ 1. **"宽松验收"陷阱 / "Lenient Acceptance" Trap**: 为了赶进度或避免冲突而放宽验收标准 → 建立"验收红线":Critical数量>0则绝对不通过 / Relaxing standards to meet deadlines or avoid conflict → Establish "acceptance red line": absolutely fail if Critical count > 0
449
+ 2. **"模糊报告"陷阱 / "Vague Report" Trap**: 问题描述笼统导致开发者无法定位 → 强制要求问题描述包含"五要素":文件、行号、现象、预期、实际 / Vague descriptions prevent developers from locating issues → Require "five elements" in every issue: file, line number, phenomenon, expected, actual
450
+ 3. **"单维验证"陷阱 / "Single-Dimension Verification" Trap**: 只关注代码是否写完而忽略规格符合性和前后端一致性 → 使用三维验证检查清单强制覆盖全部维度 / Only checking if code is written while ignoring spec compliance and frontend-backend consistency → Use three-dimension verification checklist to force full coverage
451
+ 4. **"乐观假设"陷阱 / "Optimistic Assumption" Trap**: 假设配置正确、依赖可用、环境就绪 → 明确标注验证前提和未验证项,不做隐含假设 / Assuming config is correct, dependencies available, environment ready → Clearly mark verification prerequisites and unverified items; make no implicit assumptions
452
+
453
+ ---
454
+
455
+ ## Red Flags / Red Flags
456
+
457
+ ### Layer 1: 输入检查 / Input Validation Guards
458
+ - **INPUT-VER-001**: 代码文件不存在或目录为空 / Code files missing or directory empty → 🔴 CRITICAL → 终止并提示先完成代码实现 / Terminate and prompt to complete code implementation first
459
+ - **INPUT-VER-002**: spec.md或checklist.md缺失 / spec.md or checklist.md missing → 🔴 CRITICAL → 终止并提示无法进行规格对照验证 / Terminate and prompt that specification comparison verification cannot proceed
460
+ - **INPUT-VER-003**: 代码文件与规格的功能点ID不匹配 / Code file feature ID does not match specification → 🟡 WARN → 提示用户确认是否验证了正确的功能点 / Prompt user to confirm if verifying the correct feature point
461
+
462
+ ### Layer 2: 执行检查 / Execution Validation Guards
463
+ - **EXEC-VER-001**: 跳过任一维度的验证(只做了Completeness没做Coherence) / Skipped any dimension of verification (e.g., did Completeness but not Coherence) → 🔴 CRITICAL → 补充完整的验证后再生成报告 / Complete full verification before generating report
464
+ - **EXEC-VER-002**: 存在Critical问题但仍判定为通过 / Critical issues exist but still judged as pass → 🔴 CRITICAL → 修正判定结果为"不通过" / Correct judgment result to "fail"
465
+ - **EXEC-VER-003**: 验收报告中存在无法追溯到具体代码或规格的问题描述 / Acceptance report contains issues not traceable to specific code or specification → 🟡 WARN → 补充具体的证据引用 / Add specific evidence references
466
+ - **EXEC-VER-004**: 前后端接口对比发现不一致但未记录 / Frontend-backend interface comparison found inconsistencies but not recorded → 🔴 CRITICAL → 将所有不一致项记入问题清单 / Record all inconsistent items in issue list
467
+
468
+ ### Layer 3: 输出检查 / Output Validation Guards
469
+ - **OUTPUT-VER-001**: 验收报告缺少三维验证结果汇总 / Acceptance report missing three-dimension verification summary → 🔴 CRITICAL → 补充完整性、正确性、一致性三个维度的验证结论 / Add verification conclusions for Completeness, Correctness, and Coherence dimensions
470
+ - **OUTPUT-VER-002**: 验收结论为"通过"但问题列表中存在Critical问题 / Acceptance conclusion is "pass" but Critical issues exist in issue list → 🔴 CRITICAL → 修正结论或补充修复说明 / Correct conclusion or add fix explanation
471
+ - **OUTPUT-VER-003**: 报告中缺少签名确认区域(AI验证+人工复核) / Report missing signature confirmation area (AI verification + human review) → 🟡 WARN → 补充签名字段 / Add signature fields
472
+
473
+ ### 触发Red Flag时的处理流程 / Red Flag Trigger Handling
474
+ 🔴 CRITICAL → 立即停止,报告问题详情,等待指示 / Immediately stop, report problem details, await instructions | 🟡 WARN → 记录警告到验证日志,尝试自动修复,在最终报告中标注 / Log warning to verification log, attempt auto-fix, annotate in final report | 🔵 INFO → 记录信息,正常继续 / Log information, continue normally
@@ -0,0 +1 @@
1
+ {"name": "pdd-verify-feature", "version": "1.0.0", "category": "core", "description": "Verify implemented features against development specifications and acceptance criteria. Invoke when users want to validate code quality, run acceptance tests, check feature completeness, or confirm PDD compliance. 支持中文触发:验证功能、功能验收、验收检查、功能验证、PDD验证。", "triggers": ["验证功能", "功能验证", "验收检查", "功能验收", "PDD验证", "verify feature", "acceptance test", "feature verification", "validate code", "PDD verify"]}
@@ -0,0 +1 @@
1
+ [{"name": "SKILL.md-exists", "description": "技能文件存在且格式正确", "type": "structure", "expect": {"exists": true, "hasDescription": true}, "checks": {"file_exists": "SKILL.md"}}, {"name": "_meta.json-valid", "description": "元数据文件格式正确", "type": "structure", "expect": {"exists": true, "hasName": true, "hasVersion": true, "hasTriggers": true}, "checks": {"file_exists": "_meta.json"}}, {"name": "has-behavior-shaping", "description": "包含完整的行为塑造章节", "type": "quality", "expect": {"complete": true}, "contains": ["Iron Law", "Rationalization", "Red Flags"]}, {"name": "verify-model-defined", "description": "定义了三维验证模型(完整性/正确性/一致性)", "type": "content", "contains": ["验证", "完整性", "正确性", "一致性", "验收"]}, {"name": "acceptance-checks-defined", "description": "定义了验收检查步骤和通过标准", "type": "content", "contains": ["验收", "检查", "通过", "PASS", "FAIL"]}]
@@ -0,0 +1 @@
1
+ {"name": "pdd-vm", "version": "1.0.0", "description": "PDD Visual Manager 核心模块评估测试", "evals": [{"id": "vm-data-model", "name": "Feature 数据模型验证", "description": "验证 Feature 模型能正确创建、序列化和反序列化", "input": "创建一个包含完整数据的Feature实例,调用toJSON()再fromJSON(),验证数据完整性", "expected_output": "反序列化后的Feature与原始对象所有字段一致", "assertions": ["id匹配", "stage为有效枚举值", "timeline数组长度不变", "quality字段完整保留", "tokens数据正确还原"]}, {"id": "vm-state-store", "name": "StateStore 原子写入验证", "description": "验证 StateStore 的 saveState/loadState 循环以及备份机制", "input": "创建临时 StateStore,saveState 一个含3个Feature的状态,loadState 验证,检查.bak备份文件存在", "expected_output": "加载的数据与保存的一致,备份文件已生成", "assertions": ["feature数量=3", "每个feature id正确", ".bak文件存在", "schema version正确"]}, {"id": "vm-scanner-inference", "name": "Scanner 阶段推断验证", "description": "验证 Scanner 能根据制品存在情况正确推断功能点阶段", "input": "模拟不同制品组合: 有spec无code→extracted/spec, 有code无report→implementing, 有report→verifying/done", "expected_output": "每种制品组合推断的阶段符合预期规则", "assertions": ["PRD+Spec→EXTRACTED或SPEC", "Code→IMPLEMENTING", "Report→VERIFYING或DONE"]}, {"id": "vm-reconciler-merge", "name": "Reconciler 三路合并验证", "description": "验证 Reconciler 的三路合并策略:state为主+scanner补充+孤儿检测", "input": "构造state有3个feature,scanner发现其中2个+1个新+1个orphan,执行reconcile()", "expected_output": "合并结果: 3个已存在(以state为主), 1个新增, 1个孤儿标记", "assertions": ["features总数=4", "newFeatures长度=1", "orphanFiles非空", "conflicts数组合理"]}, {"id": "vm-dataprovider-query", "name": "DataProvider 查询API验证", "description": "验证 DataProvider 的查询/筛选/排序/导出功能", "input": "初始化DataProvider(模拟数据),调用getFeatures/filter/sort/search/exportJSON/exportMarkdown/exportCSV", "expected_output": "所有查询返回正确结果,导出格式合法", "assertions": ["getFeatures返回全量", "filter按stage筛选正确", "sort按score降序正确", "search模糊匹配工作", "JSON导出合法", "MD导出含表头", "CSV可解析"]}]}
@@ -0,0 +1,29 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Traffic Accident Assessor Skill
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ DISCLAIMER: This skill provides traffic accident assessment reference information
26
+ based on publicly available laws and regulations of the People's Republic of China.
27
+ The assessment results generated by this skill are for reference only and shall not
28
+ replace official traffic accident determination documents issued by public security
29
+ organs. Users should consult qualified legal professionals for specific legal matters.