@pigcloud/skills 1.0.11 → 1.1.2

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 (298) hide show
  1. package/CHANGELOG.md +25 -20
  2. package/README.en.md +41 -75
  3. package/README.md +26 -39
  4. package/bin/cli.js +260 -151
  5. package/bin/rules-loader.js +271 -484
  6. package/codex-commands/README.md +25 -23
  7. package/codex-commands/commands/analyze.md +21 -22
  8. package/codex-commands/commands/build.md +22 -22
  9. package/codex-commands/commands/design.md +21 -22
  10. package/codex-commands/commands/distill.md +21 -21
  11. package/codex-commands/commands/doc.md +21 -22
  12. package/codex-commands/commands/infra.md +21 -21
  13. package/codex-commands/commands/init.md +20 -20
  14. package/codex-commands/commands/kb.md +21 -20
  15. package/codex-commands/commands/perf.md +21 -21
  16. package/codex-commands/commands/prd.md +21 -22
  17. package/codex-commands/commands/review.md +21 -22
  18. package/codex-commands/commands/security.md +21 -22
  19. package/codex-commands/commands/test.md +21 -21
  20. package/codex-commands/commands/workflow.md +21 -20
  21. package/package.json +5 -2
  22. package/rules/core/index.md +26 -41
  23. package/rules/delivery/index.md +25 -0
  24. package/rules/design/index.md +25 -0
  25. package/rules/discovery/index.md +25 -0
  26. package/rules/implementation/index.md +25 -0
  27. package/rules/index.md +24 -39
  28. package/rules/overlays/index.md +19 -19
  29. package/rules/overlays/pig-cloud.md +20 -45
  30. package/rules/shared/index.md +25 -0
  31. package/rules/skill-stage-map.json +26 -0
  32. package/rules/stages.json +48 -0
  33. package/rules/validation/index.md +25 -0
  34. package/scripts/add-skill-reference-nav.js +3 -0
  35. package/scripts/bootstrap-skill-specs.js +96 -0
  36. package/scripts/ci-validator.sh +51 -114
  37. package/scripts/generate-skill-prompt-library.js +3 -0
  38. package/scripts/golden-prompt-suite.current.js +211 -0
  39. package/scripts/migrate-skill-packages.js +309 -0
  40. package/scripts/run-golden-replays.js +110 -79
  41. package/scripts/validate-rules.js +128 -125
  42. package/scripts/validate-skill-replay-signals.js +45 -57
  43. package/scripts/validate-skill-shapes.js +153 -127
  44. package/scripts/validate-skill-stop-rules.js +54 -46
  45. package/skills/01-discovery/ambiguity-detection/SKILL.md +30 -0
  46. package/skills/01-discovery/ambiguity-detection/assets/golden-prompt-suite.current.js +22 -0
  47. package/skills/01-discovery/ambiguity-detection/references/README.md +17 -0
  48. package/skills/01-discovery/ambiguity-detection/references/cases.md +26 -0
  49. package/skills/01-discovery/ambiguity-detection/references/prompt-template.md +18 -0
  50. package/skills/01-discovery/ambiguity-detection/skill-spec.json +26 -0
  51. package/skills/01-discovery/business-analysis/SKILL.md +30 -0
  52. package/skills/01-discovery/business-analysis/assets/golden-prompt-suite.current.js +22 -0
  53. package/skills/01-discovery/business-analysis/references/README.md +17 -0
  54. package/skills/01-discovery/business-analysis/references/cases.md +26 -0
  55. package/skills/01-discovery/business-analysis/references/prompt-template.md +18 -0
  56. package/skills/01-discovery/business-analysis/skill-spec.json +26 -0
  57. package/skills/01-discovery/impact-analysis/SKILL.md +30 -0
  58. package/skills/01-discovery/impact-analysis/assets/golden-prompt-suite.current.js +22 -0
  59. package/skills/01-discovery/impact-analysis/references/README.md +17 -0
  60. package/skills/01-discovery/impact-analysis/references/cases.md +26 -0
  61. package/skills/01-discovery/impact-analysis/references/prompt-template.md +18 -0
  62. package/skills/01-discovery/impact-analysis/skill-spec.json +26 -0
  63. package/skills/01-discovery/requirement-discovery/SKILL.md +30 -0
  64. package/skills/01-discovery/requirement-discovery/assets/golden-prompt-suite.current.js +24 -0
  65. package/skills/01-discovery/requirement-discovery/references/README.md +17 -0
  66. package/skills/01-discovery/requirement-discovery/references/cases.md +28 -0
  67. package/skills/01-discovery/requirement-discovery/references/prompt-template.md +18 -0
  68. package/skills/01-discovery/requirement-discovery/skill-spec.json +26 -0
  69. package/skills/02-design/api-design/SKILL.md +29 -0
  70. package/skills/02-design/api-design/assets/golden-prompt-suite.current.js +22 -0
  71. package/skills/02-design/api-design/references/README.md +17 -0
  72. package/skills/02-design/api-design/references/cases.md +26 -0
  73. package/skills/02-design/api-design/references/prompt-template.md +18 -0
  74. package/skills/02-design/api-design/skill-spec.json +25 -0
  75. package/skills/02-design/architecture-design/SKILL.md +29 -0
  76. package/skills/02-design/architecture-design/assets/golden-prompt-suite.current.js +22 -0
  77. package/skills/02-design/architecture-design/references/README.md +17 -0
  78. package/skills/02-design/architecture-design/references/cases.md +26 -0
  79. package/skills/02-design/architecture-design/references/prompt-template.md +18 -0
  80. package/skills/02-design/architecture-design/skill-spec.json +25 -0
  81. package/skills/02-design/database-design/SKILL.md +29 -0
  82. package/skills/02-design/database-design/assets/golden-prompt-suite.current.js +22 -0
  83. package/skills/02-design/database-design/references/README.md +17 -0
  84. package/skills/02-design/database-design/references/cases.md +26 -0
  85. package/skills/02-design/database-design/references/prompt-template.md +18 -0
  86. package/skills/02-design/database-design/skill-spec.json +25 -0
  87. package/skills/02-design/task-breakdown/SKILL.md +29 -0
  88. package/skills/02-design/task-breakdown/assets/golden-prompt-suite.current.js +22 -0
  89. package/skills/02-design/task-breakdown/references/README.md +17 -0
  90. package/skills/02-design/task-breakdown/references/cases.md +26 -0
  91. package/skills/02-design/task-breakdown/references/prompt-template.md +18 -0
  92. package/skills/02-design/task-breakdown/skill-spec.json +25 -0
  93. package/skills/03-implementation/backend-development/SKILL.md +29 -0
  94. package/skills/03-implementation/backend-development/assets/golden-prompt-suite.current.js +22 -0
  95. package/skills/03-implementation/backend-development/references/README.md +17 -0
  96. package/skills/03-implementation/backend-development/references/cases.md +26 -0
  97. package/skills/03-implementation/backend-development/references/prompt-template.md +18 -0
  98. package/skills/03-implementation/backend-development/skill-spec.json +25 -0
  99. package/skills/03-implementation/bug-fix/SKILL.md +29 -0
  100. package/skills/03-implementation/bug-fix/assets/golden-prompt-suite.current.js +22 -0
  101. package/skills/03-implementation/bug-fix/references/README.md +17 -0
  102. package/skills/03-implementation/bug-fix/references/cases.md +26 -0
  103. package/skills/03-implementation/bug-fix/references/prompt-template.md +18 -0
  104. package/skills/03-implementation/bug-fix/skill-spec.json +25 -0
  105. package/skills/03-implementation/database-change/SKILL.md +29 -0
  106. package/skills/03-implementation/database-change/assets/golden-prompt-suite.current.js +22 -0
  107. package/skills/03-implementation/database-change/references/README.md +17 -0
  108. package/skills/03-implementation/database-change/references/cases.md +26 -0
  109. package/skills/03-implementation/database-change/references/prompt-template.md +18 -0
  110. package/skills/03-implementation/database-change/skill-spec.json +25 -0
  111. package/skills/03-implementation/frontend-development/SKILL.md +29 -0
  112. package/skills/03-implementation/frontend-development/assets/golden-prompt-suite.current.js +22 -0
  113. package/skills/03-implementation/frontend-development/references/README.md +17 -0
  114. package/skills/03-implementation/frontend-development/references/cases.md +26 -0
  115. package/skills/03-implementation/frontend-development/references/prompt-template.md +18 -0
  116. package/skills/03-implementation/frontend-development/skill-spec.json +25 -0
  117. package/skills/04-validation/code-review/SKILL.md +29 -0
  118. package/skills/04-validation/code-review/assets/golden-prompt-suite.current.js +22 -0
  119. package/skills/04-validation/code-review/references/README.md +17 -0
  120. package/skills/04-validation/code-review/references/cases.md +26 -0
  121. package/skills/04-validation/code-review/references/prompt-template.md +18 -0
  122. package/skills/04-validation/code-review/skill-spec.json +25 -0
  123. package/skills/04-validation/performance-review/SKILL.md +29 -0
  124. package/skills/04-validation/performance-review/assets/golden-prompt-suite.current.js +22 -0
  125. package/skills/04-validation/performance-review/references/README.md +17 -0
  126. package/skills/04-validation/performance-review/references/cases.md +26 -0
  127. package/skills/04-validation/performance-review/references/prompt-template.md +18 -0
  128. package/skills/04-validation/performance-review/skill-spec.json +25 -0
  129. package/skills/04-validation/regression-check/SKILL.md +29 -0
  130. package/skills/04-validation/regression-check/assets/golden-prompt-suite.current.js +22 -0
  131. package/skills/04-validation/regression-check/references/README.md +17 -0
  132. package/skills/04-validation/regression-check/references/cases.md +26 -0
  133. package/skills/04-validation/regression-check/references/prompt-template.md +18 -0
  134. package/skills/04-validation/regression-check/skill-spec.json +25 -0
  135. package/skills/04-validation/security-review/SKILL.md +29 -0
  136. package/skills/04-validation/security-review/assets/golden-prompt-suite.current.js +22 -0
  137. package/skills/04-validation/security-review/references/README.md +17 -0
  138. package/skills/04-validation/security-review/references/cases.md +26 -0
  139. package/skills/04-validation/security-review/references/prompt-template.md +18 -0
  140. package/skills/04-validation/security-review/skill-spec.json +25 -0
  141. package/skills/04-validation/unit-test/SKILL.md +29 -0
  142. package/skills/04-validation/unit-test/assets/golden-prompt-suite.current.js +22 -0
  143. package/skills/04-validation/unit-test/references/README.md +17 -0
  144. package/skills/04-validation/unit-test/references/cases.md +26 -0
  145. package/skills/04-validation/unit-test/references/prompt-template.md +18 -0
  146. package/skills/04-validation/unit-test/skill-spec.json +25 -0
  147. package/skills/05-delivery/change-log/SKILL.md +29 -0
  148. package/skills/05-delivery/change-log/assets/golden-prompt-suite.current.js +22 -0
  149. package/skills/05-delivery/change-log/references/README.md +17 -0
  150. package/skills/05-delivery/change-log/references/cases.md +26 -0
  151. package/skills/05-delivery/change-log/references/prompt-template.md +18 -0
  152. package/skills/05-delivery/change-log/skill-spec.json +25 -0
  153. package/skills/05-delivery/deployment-guide/SKILL.md +29 -0
  154. package/skills/05-delivery/deployment-guide/assets/golden-prompt-suite.current.js +22 -0
  155. package/skills/05-delivery/deployment-guide/references/README.md +17 -0
  156. package/skills/05-delivery/deployment-guide/references/cases.md +26 -0
  157. package/skills/05-delivery/deployment-guide/references/prompt-template.md +18 -0
  158. package/skills/05-delivery/deployment-guide/skill-spec.json +25 -0
  159. package/skills/05-delivery/release-check/SKILL.md +29 -0
  160. package/skills/05-delivery/release-check/assets/golden-prompt-suite.current.js +22 -0
  161. package/skills/05-delivery/release-check/references/README.md +17 -0
  162. package/skills/05-delivery/release-check/references/cases.md +26 -0
  163. package/skills/05-delivery/release-check/references/prompt-template.md +18 -0
  164. package/skills/05-delivery/release-check/skill-spec.json +25 -0
  165. package/skills/05-delivery/release-validation/SKILL.md +29 -0
  166. package/skills/05-delivery/release-validation/assets/golden-prompt-suite.current.js +22 -0
  167. package/skills/05-delivery/release-validation/references/README.md +17 -0
  168. package/skills/05-delivery/release-validation/references/cases.md +26 -0
  169. package/skills/05-delivery/release-validation/references/prompt-template.md +18 -0
  170. package/skills/05-delivery/release-validation/skill-spec.json +25 -0
  171. package/skills/shared/codebase-learning/SKILL.md +29 -0
  172. package/skills/shared/codebase-learning/assets/golden-prompt-suite.current.js +22 -0
  173. package/skills/shared/codebase-learning/references/README.md +17 -0
  174. package/skills/shared/codebase-learning/references/cases.md +26 -0
  175. package/skills/shared/codebase-learning/references/prompt-template.md +18 -0
  176. package/skills/shared/codebase-learning/skill-spec.json +25 -0
  177. package/skills/shared/evidence-collector/SKILL.md +29 -0
  178. package/skills/shared/evidence-collector/assets/golden-prompt-suite.current.js +22 -0
  179. package/skills/shared/evidence-collector/references/README.md +17 -0
  180. package/skills/shared/evidence-collector/references/cases.md +26 -0
  181. package/skills/shared/evidence-collector/references/prompt-template.md +18 -0
  182. package/skills/shared/evidence-collector/skill-spec.json +25 -0
  183. package/skills/shared/framework-guide/SKILL.md +28 -0
  184. package/skills/shared/framework-guide/assets/golden-prompt-suite.current.js +22 -0
  185. package/skills/shared/framework-guide/references/README.md +17 -0
  186. package/skills/shared/framework-guide/references/cases.md +26 -0
  187. package/skills/shared/framework-guide/references/prompt-template.md +18 -0
  188. package/skills/shared/framework-guide/skill-spec.json +24 -0
  189. package/rules/bundles.json +0 -358
  190. package/rules/coding/analysis.md +0 -27
  191. package/rules/coding/backend/cache-invalidation.md +0 -30
  192. package/rules/coding/backend/cache-keying.md +0 -30
  193. package/rules/coding/backend/cache.md +0 -37
  194. package/rules/coding/backend/database.md +0 -32
  195. package/rules/coding/backend/feign.md +0 -30
  196. package/rules/coding/backend/index.md +0 -42
  197. package/rules/coding/backend/query.md +0 -32
  198. package/rules/coding/backend/remote.md +0 -33
  199. package/rules/coding/backend/transaction-boundary.md +0 -30
  200. package/rules/coding/backend/transaction-rollback.md +0 -30
  201. package/rules/coding/backend/transaction.md +0 -38
  202. package/rules/coding/boundary.md +0 -25
  203. package/rules/coding/implementation.md +0 -26
  204. package/rules/coding/index.md +0 -38
  205. package/rules/coding/scaffold.md +0 -28
  206. package/rules/coding/testing.md +0 -29
  207. package/rules/coding/validation.md +0 -29
  208. package/rules/core/code-quality.md +0 -30
  209. package/rules/core/evidence.md +0 -26
  210. package/rules/core/interface.md +0 -26
  211. package/rules/core/iteration.md +0 -26
  212. package/rules/core/layer-boundary.md +0 -25
  213. package/rules/core/logging.md +0 -26
  214. package/rules/core/security.md +0 -26
  215. package/rules/core/task-boundary.md +0 -27
  216. package/rules/docs/api.md +0 -34
  217. package/rules/docs/capture-summary.md +0 -29
  218. package/rules/docs/capture.md +0 -34
  219. package/rules/docs/contract.md +0 -30
  220. package/rules/docs/decision-log.md +0 -32
  221. package/rules/docs/examples.md +0 -28
  222. package/rules/docs/index.md +0 -49
  223. package/rules/docs/reference.md +0 -32
  224. package/rules/overlays/pig-cloud/controller.md +0 -33
  225. package/rules/overlays/pig-cloud/dto-vo.md +0 -33
  226. package/rules/overlays/pig-cloud/entity.md +0 -32
  227. package/rules/overlays/pig-cloud/exception.md +0 -32
  228. package/rules/overlays/pig-cloud/layering.md +0 -31
  229. package/rules/overlays/pig-cloud/mapper.md +0 -32
  230. package/rules/overlays/pig-cloud/query-style.md +0 -32
  231. package/rules/overlays/pig-cloud/rest-response.md +0 -33
  232. package/rules/overlays/pig-cloud/service.md +0 -33
  233. package/rules/overlays/pig-cloud/transactions.md +0 -32
  234. package/rules/overlays/pig-cloud/validation.md +0 -33
  235. package/rules/product/acceptance.md +0 -25
  236. package/rules/product/briefing.md +0 -27
  237. package/rules/product/index.md +0 -36
  238. package/rules/product/intake.md +0 -27
  239. package/rules/product/modeling.md +0 -25
  240. package/rules/product/project-context.md +0 -29
  241. package/rules/review/code.md +0 -35
  242. package/rules/review/evidence.md +0 -31
  243. package/rules/review/index.md +0 -50
  244. package/rules/review/java.md +0 -42
  245. package/rules/review/performance.md +0 -38
  246. package/rules/review/rubric.md +0 -28
  247. package/rules/review/security.md +0 -38
  248. package/rules/review/ts.md +0 -33
  249. package/rules/review/vue.md +0 -33
  250. package/rules/skill-profile-map.json +0 -59
  251. package/rules/skill-profile-map.md +0 -29
  252. package/rules/workflow/handoff.md +0 -25
  253. package/rules/workflow/index.md +0 -37
  254. package/rules/workflow/refinement.md +0 -29
  255. package/rules/workflow/router.md +0 -25
  256. package/rules/workflow/selection.md +0 -25
  257. package/rules/workflow/stop.md +0 -25
  258. package/skills/api-contract-docs/SKILL.md +0 -77
  259. package/skills/business-fact-extraction/SKILL.md +0 -337
  260. package/skills/business-fact-extraction/scripts/write-knowledge-base.js +0 -228
  261. package/skills/code-review/SKILL.md +0 -136
  262. package/skills/code-review/references/findings-template.md +0 -51
  263. package/skills/code-review/references/performance-checklist.md +0 -213
  264. package/skills/code-review/references/rubric.md +0 -232
  265. package/skills/code-review/references/rules.md +0 -32
  266. package/skills/code-review/references/security-checklist.md +0 -178
  267. package/skills/code-review/references/stack-notes.md +0 -25
  268. package/skills/code-review/references/template-review.md +0 -39
  269. package/skills/code-review/scripts/lint-code-review.mjs +0 -431
  270. package/skills/domain-modeling/SKILL.md +0 -81
  271. package/skills/domain-modeling/references/README.md +0 -134
  272. package/skills/domain-modeling/references/distillation-checklist.md +0 -44
  273. package/skills/domain-modeling/references/test-cases-template.md +0 -128
  274. package/skills/environment-deploy/SKILL.md +0 -81
  275. package/skills/feature-build/SKILL.md +0 -122
  276. package/skills/feature-build/references/coding-checklist.md +0 -97
  277. package/skills/feature-build/references/comment-specification.md +0 -89
  278. package/skills/knowledge-capture/SKILL.md +0 -93
  279. package/skills/performance-audit/SKILL.md +0 -118
  280. package/skills/project-bootstrap/SKILL.md +0 -81
  281. package/skills/references/anti-rationalization.md +0 -144
  282. package/skills/references/business-fact-extraction.md +0 -415
  283. package/skills/references/engineering-delivery-method.md +0 -64
  284. package/skills/references/engineering-delivery-template.md +0 -81
  285. package/skills/references/golden-prompt-suite.js +0 -436
  286. package/skills/references/golden-prompt-suite.md +0 -33
  287. package/skills/references/project-requirement-alignment.md +0 -42
  288. package/skills/references/rule-loading-map.md +0 -117
  289. package/skills/references/skill-authoring-standard.md +0 -74
  290. package/skills/references/skill-boundary-template.md +0 -71
  291. package/skills/references/skill-enhanced-template.md +0 -103
  292. package/skills/references/skill-reference-matrix.md +0 -62
  293. package/skills/security-audit/SKILL.md +0 -119
  294. package/skills/spec-refinement/SKILL.md +0 -149
  295. package/skills/technical-design/SKILL.md +0 -106
  296. package/skills/technical-design/references/solid-checklist.md +0 -199
  297. package/skills/test-design/SKILL.md +0 -92
  298. package/skills/workflow-router/SKILL.md +0 -86
@@ -1,199 +0,0 @@
1
- # SOLID 检查清单
2
-
3
- > 面向对象设计五大原则检查项
4
-
5
- ---
6
-
7
- ## S - Single Responsibility Principle (单一职责原则)
8
-
9
- **定义**:一个类应该只有一个引起它变化的原因
10
-
11
- | 检查项 | 问题信号 | 修复方案 |
12
- |--------|----------|----------|
13
- | 类职责过多 | 类名包含"And"或"Or" | 拆分为多个类 |
14
- | 方法类型混杂 | CRUD + 业务逻辑 + 工具方法 | 分离到不同类 |
15
- | 字段分组明显 | 字段可按功能分组 | 拆分为多个类 |
16
- | 变更频率不同 | 部分方法频繁变更,部分不变 | 拆分为多个类 |
17
-
18
- **示例**:
19
- ```java
20
- // ❌ 违反 SRP:订单类同时处理订单数据和邮件通知
21
- public class Order {
22
- private Long id;
23
- private String orderNo;
24
-
25
- public void calculateTotal() { }
26
- public void sendEmail() { } // 应分离到 NotificationService
27
- }
28
-
29
- // ✅ 符合 SRP:职责分离
30
- public class OrderEntity {
31
- private Long id;
32
- private String orderNo;
33
- public void calculateTotal() { }
34
- }
35
-
36
- public class NotificationService {
37
- public void sendOrderEmail(OrderEntity order) { }
38
- }
39
- ```
40
-
41
- ---
42
-
43
- ## O - Open/Closed Principle (开闭原则)
44
-
45
- **定义**:对扩展开放,对修改关闭
46
-
47
- | 检查项 | 问题信号 | 修复方案 |
48
- |--------|----------|----------|
49
- | 硬编码条件 | if-else 类型判断 | 使用策略模式/多态 |
50
- | 新增类型需修改现有代码 | 添加新类型需修改 switch | 使用接口+实现类 |
51
- | 逻辑固定 | 业务规则硬编码 | 使用配置/规则引擎 |
52
-
53
- **示例**:
54
- ```java
55
- // ❌ 违反 OCP:新增支付方式需修改现有代码
56
- public class PaymentService {
57
- public void pay(String type) {
58
- if (type.equals("ALIPAY")) { }
59
- else if (type.equals("WECHAT")) { }
60
- // 新增支付方式需修改此处
61
- }
62
- }
63
-
64
- // ✅ 符合 OCP:使用策略模式
65
- public interface PaymentStrategy {
66
- void pay();
67
- }
68
-
69
- public class AlipayStrategy implements PaymentStrategy { }
70
- public class WechatStrategy implements PaymentStrategy { }
71
- // 新增支付方式只需添加新实现类
72
- ```
73
-
74
- ---
75
-
76
- ## L - Liskov Substitution Principle (里氏替换原则)
77
-
78
- **定义**:子类必须能够替换其父类
79
-
80
- | 检查项 | 问题信号 | 修复方案 |
81
- |--------|----------|----------|
82
- | 子类抛出新异常 | 父类不抛出,子类抛出 | 保持异常一致 |
83
- | 子类返回不同类型 | 返回类型不兼容 | 保持返回类型一致 |
84
- | 子类行为不一致 | 相同输入不同输出 | 保持行为一致 |
85
- | 子类限制更强 | 子类拒绝父类接受的输入 | 放宽限制或重新设计 |
86
-
87
- **示例**:
88
- ```java
89
- // ❌ 违反 LSP:子类行为不一致
90
- public class Rectangle {
91
- public void setWidth(int w) { width = w; }
92
- public void setHeight(int h) { height = h; }
93
- }
94
-
95
- public class Square extends Rectangle {
96
- @Override
97
- public void setWidth(int w) {
98
- width = w;
99
- height = w; // 强制宽高相等,行为不一致
100
- }
101
- }
102
-
103
- // ✅ 符合 LSP:不使用继承,使用组合
104
- public class Shape { }
105
- public class Rectangle extends Shape { }
106
- public class Square extends Shape { }
107
- ```
108
-
109
- ---
110
-
111
- ## I - Interface Segregation Principle (接口隔离原则)
112
-
113
- **定义**:客户端不应该依赖它不需要的接口
114
-
115
- | 检查项 | 问题信号 | 修复方案 |
116
- |--------|----------|----------|
117
- | 接口方法过多 | 接口方法数 > 10 | 拆分为多个接口 |
118
- | 实现类空方法 | 实现类有空方法体 | 拆分接口 |
119
- | 客户端只使用部分方法 | 客户端调用 < 50% 方法 | 拆分接口 |
120
- | 接口职责混杂 | 接口包含不同职责方法 | 拆分接口 |
121
-
122
- **示例**:
123
- ```java
124
- // ❌ 违反 ISP:接口方法过多
125
- public interface Worker {
126
- void work();
127
- void eat();
128
- void sleep(); // Robot 不需要 sleep
129
- }
130
-
131
- // ✅ 符合 ISP:接口拆分
132
- public interface Workable {
133
- void work();
134
- }
135
-
136
- public interface Feedable {
137
- void eat();
138
- }
139
-
140
- public class Human implements Workable, Feedable { }
141
- public class Robot implements Workable { }
142
- ```
143
-
144
- ---
145
-
146
- ## D - Dependency Inversion Principle (依赖倒置原则)
147
-
148
- **定义**:高层模块不应该依赖低层模块,两者都应该依赖抽象
149
-
150
- | 检查项 | 问题信号 | 修复方案 |
151
- |--------|----------|----------|
152
- | 直接 new 对象 | Service 中 new Mapper() | 使用依赖注入 |
153
- | 依赖具体类 | 依赖具体实现类 | 依赖接口/抽象类 |
154
- | 硬编码依赖 | 依赖类型硬编码 | 使用配置/注入 |
155
-
156
- **示例**:
157
- ```java
158
- // ❌ 违反 DIP:Service 直接依赖具体 Mapper
159
- public class OrderService {
160
- private OrderMapper mapper = new OrderMapper(); // 直接 new
161
- }
162
-
163
- // ✅ 符合 DIP:依赖注入
164
- public class OrderServiceImpl implements OrderService {
165
- private final OrderMapper mapper; // 注入抽象
166
-
167
- public OrderServiceImpl(OrderMapper mapper) {
168
- this.mapper = mapper;
169
- }
170
- }
171
- ```
172
-
173
- ---
174
-
175
- ## Anti-rationalization Table (Design)
176
-
177
- | 常见借口 | 反驳理由 | 正确做法 |
178
- |---------|---------|---------|
179
- | "先实现功能,设计文档以后补" | 无文档的设计无法维护 | 先设计后实现 |
180
- | "这个实体很简单,不需要设计" | 简单实体也会变复杂 | 完整设计 |
181
- | "状态流转很直观,不用画图" | 直观的流转也有边界情况 | 绘制状态图 |
182
- | "接口定义很清楚,不需要文档" | 清楚的定义也需要确认 | 编写API文档 |
183
- | "这个依赖关系很简单" | 简单依赖也会产生循环 | 分析依赖图 |
184
- | "SOLID检查太耗时" | 违反SOLID的代码更耗时维护 | 执行SOLID检查 |
185
- | "这个功能单体和微服务都一样" | 架构差异影响设计决策 | 明确架构类型 |
186
- | "这个类以后会扩展" | 未预留扩展点会导致修改 | 使用开闭原则 |
187
-
188
- ---
189
-
190
- ## Verification Gates
191
-
192
- | 门禁 | 检查方法 | 通过条件 | 失败处理 |
193
- |------|---------|---------|---------|
194
- | SRP检查 | 类职责分析 | 每个类职责单一 | 拆分类 |
195
- | OCP检查 | 扩展点分析 | 新功能无需修改现有代码 | 添加扩展点 |
196
- | LSP检查 | 子类行为测试 | 子类可替换父类 | 修复行为不一致 |
197
- | ISP检查 | 接口方法数 | 接口方法 <= 10 | 拆分接口 |
198
- | DIP检查 | 依赖分析 | 无直接 new 对象 | 使用依赖注入 |
199
- | 用户确认 | 设计文档评审 | 用户确认设计 | 修改设计 |
@@ -1,92 +0,0 @@
1
- ---
2
- name: test-design
3
- description: 当需要验证回归风险或边界场景时,为已实现的变更设计并验证测试覆盖
4
- lifecycle_stage: verify
5
- rule_profile: testing
6
- dependencies:
7
- - feature-build
8
- triggers:
9
- - test
10
- - validation
11
- - coverage
12
- - regression
13
- - edge case
14
- - verification
15
- inputs:
16
- - implementation notes
17
- - executable spec-refinement
18
- - design constraints
19
- - self-test evidence
20
- outputs:
21
- - test strategy
22
- - test cases
23
- - regression matrix
24
- - validation result
25
- - gap report
26
- workflow:
27
- - confirm the implementation scope
28
- - review the self-test evidence and implementation notes
29
- - design test cases and coverage boundaries
30
- - run validation or prepare execution steps
31
- - hand off a validation result to code-review
32
- gates:
33
- - stop at verification
34
- - do not modify production code
35
- - do not rewrite the PRD
36
- - do not replace code review
37
- refs:
38
- - skills/references/rule-loading-map.md
39
- - skills/references/flow-test-cases.md
40
- - skills/references/full-chain-replay-scenarios.md
41
- - skills/references/prompt-replay-checklist.md
42
- - rules/index.md
43
- ---
44
-
45
- # Test Design
46
-
47
- ## Purpose
48
-
49
- Design and validate test coverage for the implemented change.
50
-
51
- ## Suitable / Unsuitable
52
-
53
- - Suitable: test strategy, test cases, coverage, regression, boundary validation
54
- - Unsuitable: modifying production code, rewriting the PRD, replacing code review
55
-
56
- ## Workflow
57
-
58
- 1. Confirm the implementation scope and risk areas.
59
- 2. Review self-test evidence and identify coverage gaps.
60
- 3. Design coverage, boundaries, and regression cases.
61
- 4. Execute or prepare validation steps.
62
- 5. Hand off a validation result to `code-review`.
63
-
64
- ## Replay Signals
65
-
66
- - Input signal: implementation notes, risk areas, coverage gaps, or verification request.
67
- - Output to verify: test strategy, test cases, regression matrix, validation result, gap report.
68
- - Stop signal: modifying production code, rewriting the PRD, or replacing code review.
69
- - Handoff signal: a validation result is ready for `code-review`.
70
-
71
- ## Examples
72
-
73
- - Input: "The feature is implemented; design coverage and run the validation steps."
74
- - Output: test strategy, test cases, regression matrix, validation result, gap report
75
- - Stop: do not change production code
76
-
77
- ## Stop Rules
78
-
79
- - Stop at verification.
80
- - Do not modify production code.
81
- - Do not rewrite the PRD.
82
- - Do not replace code review.
83
- - Do not skip the self-test evidence.
84
-
85
- ## References
86
-
87
- - `skills/references/rule-loading-map.md`
88
- - `skills/references/flow-test-cases.md`
89
- - `skills/references/engineering-delivery-method.md`
90
- - `skills/references/engineering-delivery-template.md`
91
- - `rules/index.md`
92
-
@@ -1,86 +0,0 @@
1
- ---
2
- name: workflow-router
3
- description: 当意图、归属或交接不清楚时,将工作路由到下一技能和阶段
4
- lifecycle_stage: routing
5
- rule_profile: router
6
- dependencies: []
7
- triggers:
8
- - unclear stage
9
- - unclear intent
10
- - next step
11
- - route
12
- - handoff
13
- inputs:
14
- - user intent
15
- - current stage
16
- - available artifacts
17
- outputs:
18
- - next skill
19
- - stage decision
20
- - handoff note
21
- workflow:
22
- - identify the intent type
23
- - select the next stage and skill
24
- - attach the needed inputs
25
- - hand off to the target skill
26
- gates:
27
- - stop after routing
28
- - do not perform the target skill's work
29
- - do not add rule details
30
- refs:
31
- - skills/references/skill-reference-matrix.md
32
- - skills/references/rule-loading-map.md
33
- - skills/references/flow-test-cases.md
34
- - skills/references/prompt-replay-checklist.md
35
- - skills/references/full-chain-replay-scenarios.md
36
- ---
37
-
38
- # Workflow Router
39
-
40
- ## Purpose
41
-
42
- Route a request to the right stage and skill. This skill ends when the next skill is selected.
43
-
44
- ## Suitable / Unsuitable
45
-
46
- - Suitable: stage selection, handoff, intent disambiguation
47
- - Unsuitable: requirement analysis, design, implementation, review, capture
48
-
49
- ## Workflow
50
-
51
- 1. Identify the intent type.
52
- 2. Select the next stage and skill.
53
- 3. Attach the needed inputs.
54
- 4. Hand off to the target skill.
55
-
56
- ## Replay Signals
57
-
58
- - Input signal: user intent, current stage, or available artifacts.
59
- - Output to verify: next skill, stage decision, handoff note.
60
- - Stop signal: any target-skill work or rule loading.
61
- - Handoff signal: the next skill is selected and ready.
62
-
63
- ## Examples
64
-
65
- - Input: "We need a new feature but the stage is unclear."
66
- - Output: selected next skill and handoff note
67
- - Stop: do not start analysis or implementation
68
-
69
- - Input: "Just tell me which step comes next."
70
- - Output: next skill decision and minimal handoff note
71
- - Stop: do not begin the target work
72
-
73
- ## Stop Rules
74
-
75
- - Stop after routing.
76
- - Do not perform the target skill's work.
77
- - Do not perform the next skill's work.
78
- - Do not add rule details.
79
-
80
- ## References
81
-
82
- - `skills/references/skill-reference-matrix.md`
83
- - `skills/references/rule-loading-map.md`
84
- - `skills/references/flow-test-cases.md`
85
- - `skills/references/prompt-replay-checklist.md`
86
- - `skills/references/full-chain-replay-scenarios.md`