create-yss-spec 3.4.1 → 3.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -2
  3. package/template/.agents/skills/.strategic-design-skills-manifest.json +3 -3
  4. package/template/.agents/skills/archify/SKILL.md +1 -1
  5. package/template/.agents/skills/code-review/SKILL.md +12 -8
  6. package/template/.agents/skills/file-export-download/SKILL.md +1 -1
  7. package/template/.agents/skills/frontend-commit/SKILL.md +1 -1
  8. package/template/.agents/skills/java-backend-commit/SKILL.md +1 -1
  9. package/template/.agents/skills/llm-wiki/SKILL.md +1 -6
  10. package/template/.agents/skills/lombok/SKILL.md +10 -336
  11. package/template/.agents/skills/lombok/references/annotation-examples.md +307 -0
  12. package/template/.agents/skills/maintaining-skills/SKILL.md +2 -1
  13. package/template/.agents/skills/maintaining-skills/references/authoring.md +27 -0
  14. package/template/.agents/skills/mapstruct/SKILL.md +11 -318
  15. package/template/.agents/skills/mapstruct/references/annotation-examples.md +300 -0
  16. package/template/.agents/skills/page-form-module/SKILL.md +1 -1
  17. package/template/.agents/skills/page-skeleton/SKILL.md +1 -1
  18. package/template/.agents/skills/theme-token-usage/SKILL.md +1 -1
  19. package/template/.agents/skills/to-tickets/SKILL.md +1 -1
  20. package/template/.agents/skills/using-git-worktrees/SKILL.md +1 -1
  21. package/template/.agents/skills/wayfinder/SKILL.md +1 -1
  22. package/template/.agents/skills/yedit-table-usage/SKILL.md +1 -1
  23. package/template/.agents/skills/yss-api-integration/SKILL.md +1 -1
  24. package/template/.agents/skills/yss-audit-log/SKILL.md +1 -1
  25. package/template/.agents/skills/yss-cache/SKILL.md +1 -1
  26. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +16 -3
  27. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  28. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  29. package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  30. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  31. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  32. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  33. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  34. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  35. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  36. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  37. package/template/.agents/skills/yss-distributed-id/SKILL.md +1 -1
  38. package/template/.agents/skills/yss-dto/SKILL.md +5 -1
  39. package/template/.agents/skills/yss-excel-mvc/SKILL.md +1 -1
  40. package/template/.agents/skills/yss-exception/SKILL.md +5 -1
  41. package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +1 -1
  42. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +14 -6
  43. package/template/.agents/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  44. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  45. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  46. package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  47. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  48. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  49. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  50. package/template/.agents/skills/yss-mybatis/SKILL.md +4 -0
  51. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +1 -1
  52. package/template/.agents/skills/yss-openapi-governance/SKILL.md +1 -1
  53. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +4 -4
  54. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +29 -7
  55. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +6 -2
  56. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -1
  57. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +24 -4
  58. package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -1
  59. package/template/.agents/skills/yss-repository/SKILL.md +4 -0
  60. package/template/.agents/skills/yss-research/SKILL.md +1 -1
  61. package/template/.agents/skills/yss-resilience4j/SKILL.md +1 -1
  62. package/template/.agents/skills/yss-security-algorithm/SKILL.md +1 -1
  63. package/template/.agents/skills/yss-stage-decision/SKILL.md +1 -1
  64. package/template/.agents/skills/yss-stage-decision/references/domain-strategy-contract.md +2 -0
  65. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-contract.md +1 -1
  66. package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +3 -3
  67. package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +3 -3
  68. package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +33 -0
  69. package/template/.agents/skills/yss-tactical-design/SKILL.md +5 -1
  70. package/template/.agents/skills/yss-technical-design/SKILL.md +5 -1
  71. package/template/.agents/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  72. package/template/.agents/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  73. package/template/.agents/skills/yss-technical-design/tests/run-scenarios.mjs +1 -1
  74. package/template/.agents/skills/yss-ui/SKILL.md +1 -1
  75. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  76. package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
  77. package/template/.agents/skills/yss-use-table-height/SKILL.md +1 -1
  78. package/template/.agents/skills/yss-use-tree-height/SKILL.md +1 -1
  79. package/template/.agents/skills/yss-userinfo/SKILL.md +1 -1
  80. package/template/.agents/skills/yss-validation/SKILL.md +5 -1
  81. package/template/.agents/skills/yss-web-controller/SKILL.md +5 -1
  82. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  83. package/template/.agents/skills/ytable-usage/SKILL.md +1 -1
  84. package/template/.agents/skills/ytree-usage/SKILL.md +1 -1
  85. package/template/.codex/skills/archify/SKILL.md +1 -1
  86. package/template/.codex/skills/code-review/SKILL.md +12 -8
  87. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +1 -1
  88. package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +1 -1
  89. package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +1 -1
  90. package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +1 -1
  91. package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +1 -1
  92. package/template/.codex/skills/data-analytics/skills/index/SKILL.md +1 -1
  93. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +1 -1
  94. package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +1 -1
  95. package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +1 -1
  96. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +1 -1
  97. package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +1 -1
  98. package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +1 -1
  99. package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +1 -1
  100. package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +1 -1
  101. package/template/.codex/skills/file-export-download/SKILL.md +1 -1
  102. package/template/.codex/skills/frontend-commit/SKILL.md +1 -1
  103. package/template/.codex/skills/java-backend-commit/SKILL.md +1 -1
  104. package/template/.codex/skills/llm-wiki/SKILL.md +1 -6
  105. package/template/.codex/skills/lombok/SKILL.md +10 -336
  106. package/template/.codex/skills/lombok/references/annotation-examples.md +307 -0
  107. package/template/.codex/skills/maintaining-skills/SKILL.md +2 -1
  108. package/template/.codex/skills/maintaining-skills/references/authoring.md +27 -0
  109. package/template/.codex/skills/mapstruct/SKILL.md +11 -318
  110. package/template/.codex/skills/mapstruct/references/annotation-examples.md +300 -0
  111. package/template/.codex/skills/page-form-module/SKILL.md +1 -1
  112. package/template/.codex/skills/page-skeleton/SKILL.md +1 -1
  113. package/template/.codex/skills/product-design/skills/audit/SKILL.md +1 -1
  114. package/template/.codex/skills/product-design/skills/design-qa/SKILL.md +1 -1
  115. package/template/.codex/skills/product-design/skills/get-context/SKILL.md +1 -1
  116. package/template/.codex/skills/product-design/skills/ideate/SKILL.md +1 -1
  117. package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +1 -1
  118. package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
  119. package/template/.codex/skills/product-design/skills/prototype/SKILL.md +1 -1
  120. package/template/.codex/skills/product-design/skills/research/SKILL.md +1 -1
  121. package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
  122. package/template/.codex/skills/theme-token-usage/SKILL.md +1 -1
  123. package/template/.codex/skills/to-tickets/SKILL.md +1 -1
  124. package/template/.codex/skills/using-git-worktrees/SKILL.md +1 -1
  125. package/template/.codex/skills/wayfinder/SKILL.md +1 -1
  126. package/template/.codex/skills/yedit-table-usage/SKILL.md +1 -1
  127. package/template/.codex/skills/yss-api-integration/SKILL.md +1 -1
  128. package/template/.codex/skills/yss-audit-log/SKILL.md +1 -1
  129. package/template/.codex/skills/yss-cache/SKILL.md +1 -1
  130. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +16 -3
  131. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  132. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  133. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  134. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  135. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  136. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  137. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  138. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  139. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  140. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  141. package/template/.codex/skills/yss-distributed-id/SKILL.md +1 -1
  142. package/template/.codex/skills/yss-dto/SKILL.md +5 -1
  143. package/template/.codex/skills/yss-excel-mvc/SKILL.md +1 -1
  144. package/template/.codex/skills/yss-exception/SKILL.md +5 -1
  145. package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +1 -1
  146. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +14 -6
  147. package/template/.codex/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  148. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  149. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  150. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  151. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  152. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  153. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  154. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -0
  155. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +1 -1
  156. package/template/.codex/skills/yss-openapi-governance/SKILL.md +1 -1
  157. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +4 -4
  158. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +29 -7
  159. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +6 -2
  160. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -1
  161. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +24 -4
  162. package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -1
  163. package/template/.codex/skills/yss-repository/SKILL.md +4 -0
  164. package/template/.codex/skills/yss-research/SKILL.md +1 -1
  165. package/template/.codex/skills/yss-resilience4j/SKILL.md +1 -1
  166. package/template/.codex/skills/yss-security-algorithm/SKILL.md +1 -1
  167. package/template/.codex/skills/yss-stage-decision/SKILL.md +1 -1
  168. package/template/.codex/skills/yss-stage-decision/references/domain-strategy-contract.md +2 -0
  169. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-contract.md +1 -1
  170. package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +3 -3
  171. package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +3 -3
  172. package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +33 -0
  173. package/template/.codex/skills/yss-tactical-design/SKILL.md +5 -1
  174. package/template/.codex/skills/yss-technical-design/SKILL.md +5 -1
  175. package/template/.codex/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  176. package/template/.codex/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  177. package/template/.codex/skills/yss-technical-design/tests/run-scenarios.mjs +1 -1
  178. package/template/.codex/skills/yss-ui/SKILL.md +1 -1
  179. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  180. package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
  181. package/template/.codex/skills/yss-use-table-height/SKILL.md +1 -1
  182. package/template/.codex/skills/yss-use-tree-height/SKILL.md +1 -1
  183. package/template/.codex/skills/yss-userinfo/SKILL.md +1 -1
  184. package/template/.codex/skills/yss-validation/SKILL.md +5 -1
  185. package/template/.codex/skills/yss-web-controller/SKILL.md +5 -1
  186. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  187. package/template/.codex/skills/ytable-usage/SKILL.md +1 -1
  188. package/template/.codex/skills/ytree-usage/SKILL.md +1 -1
  189. package/template/.cursor/skills/archify/SKILL.md +1 -1
  190. package/template/.cursor/skills/code-review/SKILL.md +12 -8
  191. package/template/.cursor/skills/file-export-download/SKILL.md +1 -1
  192. package/template/.cursor/skills/frontend-commit/SKILL.md +1 -1
  193. package/template/.cursor/skills/java-backend-commit/SKILL.md +1 -1
  194. package/template/.cursor/skills/llm-wiki/SKILL.md +1 -6
  195. package/template/.cursor/skills/lombok/SKILL.md +10 -336
  196. package/template/.cursor/skills/lombok/references/annotation-examples.md +307 -0
  197. package/template/.cursor/skills/maintaining-skills/SKILL.md +2 -1
  198. package/template/.cursor/skills/maintaining-skills/references/authoring.md +27 -0
  199. package/template/.cursor/skills/mapstruct/SKILL.md +11 -318
  200. package/template/.cursor/skills/mapstruct/references/annotation-examples.md +300 -0
  201. package/template/.cursor/skills/page-form-module/SKILL.md +1 -1
  202. package/template/.cursor/skills/page-skeleton/SKILL.md +1 -1
  203. package/template/.cursor/skills/theme-token-usage/SKILL.md +1 -1
  204. package/template/.cursor/skills/to-tickets/SKILL.md +1 -1
  205. package/template/.cursor/skills/using-git-worktrees/SKILL.md +1 -1
  206. package/template/.cursor/skills/wayfinder/SKILL.md +1 -1
  207. package/template/.cursor/skills/yedit-table-usage/SKILL.md +1 -1
  208. package/template/.cursor/skills/yss-api-integration/SKILL.md +1 -1
  209. package/template/.cursor/skills/yss-audit-log/SKILL.md +1 -1
  210. package/template/.cursor/skills/yss-cache/SKILL.md +1 -1
  211. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +16 -3
  212. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  213. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  214. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  215. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  216. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  217. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  218. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  219. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  220. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  221. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  222. package/template/.cursor/skills/yss-distributed-id/SKILL.md +1 -1
  223. package/template/.cursor/skills/yss-dto/SKILL.md +5 -1
  224. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +1 -1
  225. package/template/.cursor/skills/yss-exception/SKILL.md +5 -1
  226. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +1 -1
  227. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +14 -6
  228. package/template/.cursor/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  229. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  230. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  231. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  232. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  233. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  234. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  235. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -0
  236. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +1 -1
  237. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +1 -1
  238. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +4 -4
  239. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +29 -7
  240. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +6 -2
  241. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -1
  242. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +24 -4
  243. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -1
  244. package/template/.cursor/skills/yss-repository/SKILL.md +4 -0
  245. package/template/.cursor/skills/yss-research/SKILL.md +1 -1
  246. package/template/.cursor/skills/yss-resilience4j/SKILL.md +1 -1
  247. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +1 -1
  248. package/template/.cursor/skills/yss-stage-decision/SKILL.md +1 -1
  249. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-contract.md +2 -0
  250. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-contract.md +1 -1
  251. package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +3 -3
  252. package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +3 -3
  253. package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +33 -0
  254. package/template/.cursor/skills/yss-tactical-design/SKILL.md +5 -1
  255. package/template/.cursor/skills/yss-technical-design/SKILL.md +5 -1
  256. package/template/.cursor/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  257. package/template/.cursor/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  258. package/template/.cursor/skills/yss-technical-design/tests/run-scenarios.mjs +1 -1
  259. package/template/.cursor/skills/yss-ui/SKILL.md +1 -1
  260. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  261. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
  262. package/template/.cursor/skills/yss-use-table-height/SKILL.md +1 -1
  263. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +1 -1
  264. package/template/.cursor/skills/yss-userinfo/SKILL.md +1 -1
  265. package/template/.cursor/skills/yss-validation/SKILL.md +5 -1
  266. package/template/.cursor/skills/yss-web-controller/SKILL.md +5 -1
  267. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  268. package/template/.cursor/skills/ytable-usage/SKILL.md +1 -1
  269. package/template/.cursor/skills/ytree-usage/SKILL.md +1 -1
  270. package/template/.pi/skills/archify/SKILL.md +1 -1
  271. package/template/.pi/skills/code-review/SKILL.md +12 -8
  272. package/template/.pi/skills/file-export-download/SKILL.md +1 -1
  273. package/template/.pi/skills/frontend-commit/SKILL.md +1 -1
  274. package/template/.pi/skills/java-backend-commit/SKILL.md +1 -1
  275. package/template/.pi/skills/llm-wiki/SKILL.md +1 -6
  276. package/template/.pi/skills/lombok/SKILL.md +10 -336
  277. package/template/.pi/skills/lombok/references/annotation-examples.md +307 -0
  278. package/template/.pi/skills/maintaining-skills/SKILL.md +2 -1
  279. package/template/.pi/skills/maintaining-skills/references/authoring.md +27 -0
  280. package/template/.pi/skills/mapstruct/SKILL.md +11 -318
  281. package/template/.pi/skills/mapstruct/references/annotation-examples.md +300 -0
  282. package/template/.pi/skills/page-form-module/SKILL.md +1 -1
  283. package/template/.pi/skills/page-skeleton/SKILL.md +1 -1
  284. package/template/.pi/skills/theme-token-usage/SKILL.md +1 -1
  285. package/template/.pi/skills/to-tickets/SKILL.md +1 -1
  286. package/template/.pi/skills/using-git-worktrees/SKILL.md +1 -1
  287. package/template/.pi/skills/wayfinder/SKILL.md +1 -1
  288. package/template/.pi/skills/yedit-table-usage/SKILL.md +1 -1
  289. package/template/.pi/skills/yss-api-integration/SKILL.md +1 -1
  290. package/template/.pi/skills/yss-audit-log/SKILL.md +1 -1
  291. package/template/.pi/skills/yss-cache/SKILL.md +1 -1
  292. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +16 -3
  293. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  294. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  295. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  296. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  297. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  298. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  299. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  300. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  301. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  302. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  303. package/template/.pi/skills/yss-distributed-id/SKILL.md +1 -1
  304. package/template/.pi/skills/yss-dto/SKILL.md +5 -1
  305. package/template/.pi/skills/yss-excel-mvc/SKILL.md +1 -1
  306. package/template/.pi/skills/yss-exception/SKILL.md +5 -1
  307. package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +1 -1
  308. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +14 -6
  309. package/template/.pi/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  310. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  311. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  312. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  313. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  314. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  315. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  316. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -0
  317. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +1 -1
  318. package/template/.pi/skills/yss-openapi-governance/SKILL.md +1 -1
  319. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +4 -4
  320. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +29 -7
  321. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +6 -2
  322. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -1
  323. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +24 -4
  324. package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -1
  325. package/template/.pi/skills/yss-repository/SKILL.md +4 -0
  326. package/template/.pi/skills/yss-research/SKILL.md +1 -1
  327. package/template/.pi/skills/yss-resilience4j/SKILL.md +1 -1
  328. package/template/.pi/skills/yss-security-algorithm/SKILL.md +1 -1
  329. package/template/.pi/skills/yss-stage-decision/SKILL.md +1 -1
  330. package/template/.pi/skills/yss-stage-decision/references/domain-strategy-contract.md +2 -0
  331. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-contract.md +1 -1
  332. package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +3 -3
  333. package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +3 -3
  334. package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +33 -0
  335. package/template/.pi/skills/yss-tactical-design/SKILL.md +5 -1
  336. package/template/.pi/skills/yss-technical-design/SKILL.md +5 -1
  337. package/template/.pi/skills/yss-technical-design/references/technical-design-contract.md +1 -1
  338. package/template/.pi/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  339. package/template/.pi/skills/yss-technical-design/tests/run-scenarios.mjs +1 -1
  340. package/template/.pi/skills/yss-ui/SKILL.md +1 -1
  341. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  342. package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
  343. package/template/.pi/skills/yss-use-table-height/SKILL.md +1 -1
  344. package/template/.pi/skills/yss-use-tree-height/SKILL.md +1 -1
  345. package/template/.pi/skills/yss-userinfo/SKILL.md +1 -1
  346. package/template/.pi/skills/yss-validation/SKILL.md +5 -1
  347. package/template/.pi/skills/yss-web-controller/SKILL.md +5 -1
  348. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  349. package/template/.pi/skills/ytable-usage/SKILL.md +1 -1
  350. package/template/.pi/skills/ytree-usage/SKILL.md +1 -1
  351. package/template/AGENTS.md +1 -0
  352. package/template/CONTEXT.md +2 -1
  353. package/template/docs/agents/backend-architecture-profiles.md +1 -1
  354. package/template/docs/agents/digital-human-roles.yaml +29 -1
  355. package/template/docs/agents/issue-tracker.md +2 -0
  356. package/template/docs/architecture/templates/engineering-baseline-review-template.md +6 -6
  357. package/template/docs/engineering/backend-platforms.json +174 -0
  358. package/template/docs/engineering/backend-platforms.md +77 -0
  359. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +1 -0
  360. package/template/docs/process/existing-ui-baseline.md +1 -1
  361. package/template/docs/process/harness-process-tailoring.md +9 -1
  362. package/template/docs/process/lifecycle-artifact-map.md +6 -5
  363. package/template/docs/process/lifecycle-registry-baseline.json +2 -1
  364. package/template/docs/process/lifecycle-registry.yaml +17 -8
  365. package/template/docs/process/schemas/backend-architecture-identity.schema.json +91 -0
  366. package/template/docs/process/schemas/digital-human-task-package.schema.json +3 -1
  367. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +8 -0
  368. package/template/docs/process/schemas/project-scaffold-contract.schema.json +602 -83
  369. package/template/docs/process/schemas/review-bundle.schema.json +42 -0
  370. package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +323 -39
  371. package/template/docs/process/schemas/slice-implementation-contract-v3.schema.json +925 -0
  372. package/template/docs/process/strategic-handoff-package.md +5 -11
  373. package/template/docs/templates/approval-record-template.yaml +2 -0
  374. package/template/docs/templates/build-architecture-checklist-template.md +2 -2
  375. package/template/docs/templates/implementation-routing-template.md +4 -4
  376. package/template/docs/templates/review-bundle-template.yaml +26 -0
  377. package/template/docs/templates/vertical-slice-ticket-template.md +22 -31
  378. package/template/scripts/backend-platforms +14 -0
  379. package/template/scripts/lib/approval-record.mjs +52 -7
  380. package/template/scripts/lib/approved-execution-context.mjs +31 -8
  381. package/template/scripts/lib/backend-architecture.mjs +6 -0
  382. package/template/scripts/lib/backend-platform-provenance.mjs +67 -0
  383. package/template/scripts/lib/backend-platform-verification.mjs +210 -0
  384. package/template/scripts/lib/backend-platform.mjs +175 -0
  385. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +1 -1
  386. package/template/scripts/lib/decision-continuation.mjs +79 -0
  387. package/template/scripts/lib/delivery-preflight.mjs +6 -5
  388. package/template/scripts/lib/digital-human-roles.mjs +10 -0
  389. package/template/scripts/lib/frontend-delivery-boundary.mjs +3 -0
  390. package/template/scripts/lib/implementation-contract-compiler.mjs +42 -9
  391. package/template/scripts/lib/lifecycle-controls.mjs +2 -2
  392. package/template/scripts/lib/lifecycle-transition.mjs +3 -1
  393. package/template/scripts/lib/plan-spec-entry.mjs +3 -3
  394. package/template/scripts/lib/scaffold-local-database.mjs +1 -0
  395. package/template/scripts/lib/slice-applicability.mjs +10 -0
  396. package/template/scripts/lib/slice-contract-preparation.mjs +257 -0
  397. package/template/scripts/lib/slice-contract-views.mjs +52 -0
  398. package/template/scripts/lib/slice-contract.mjs +211 -0
  399. package/template/scripts/lib/slice-repositories.mjs +49 -0
  400. package/template/scripts/lib/slice-task-package.mjs +66 -0
  401. package/template/scripts/lib/strategic-handoff-io.mjs +7 -0
  402. package/template/scripts/lib/strategic-handoff.mjs +33 -8
  403. package/template/scripts/lib/task-package.mjs +6 -2
  404. package/template/scripts/lib/technical-design-boundary.mjs +1 -0
  405. package/template/scripts/lib/user-decision-reuse.mjs +1 -0
  406. package/template/scripts/lib/user-decision.mjs +17 -3
  407. package/template/scripts/preflight-delivery +2 -2
  408. package/template/scripts/slice-contract +30 -0
  409. package/template/scripts/verify-backend-platform-matrix +69 -0
  410. package/template/scripts/verify-scaffold-architecture-decisions +5 -0
  411. package/template/scripts/verify-user-decision +7 -2
  412. package/template/skills-lock.json +62 -57
  413. package/template.snapshot.json +3 -3
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { loadBackendPlatforms, assertPlatformAgreement } from "../../../../scripts/lib/backend-platform.mjs";
2
3
  import { createHash } from "node:crypto";
3
4
  import { constants, access, copyFile, mkdir, mkdtemp, readFile, rm, unlink, writeFile } from "node:fs/promises";
4
5
  import { tmpdir } from "node:os";
@@ -10,8 +11,8 @@ import { assertArchitectureAgreement, validateArchitectureIdentity } from "../..
10
11
 
11
12
  const TYPE_MAPPING = { bigint: "Long", int: "Integer", integer: "Integer", smallint: "Integer", tinyint: "Integer", number: "Long", numeric: "BigDecimal", decimal: "BigDecimal", float: "Float", double: "Double", real: "Float", varchar: "String", varchar2: "String", nvarchar2: "String", char: "String", nchar: "String", text: "String", clob: "String", nclob: "String", date: "LocalDateTime", datetime: "LocalDateTime", timestamp: "LocalDateTime", "timestamp with time zone": "LocalDateTime", boolean: "Boolean", bool: "Boolean", bit: "Boolean", json: "String", jsonb: "String", uuid: "String" };
12
13
  const PLATFORM_VALIDATION_NAMESPACES = {
13
- "spring-boot-2.7-jdk8": "javax",
14
- "spring-boot-3-jdk17": "jakarta"
14
+ ...Object.fromEntries(loadBackendPlatforms().profiles.map(profile => [profile.id, profile.validation_namespace])),
15
+ "spring-boot-3-jdk17": "jakarta" // Existing-project compatibility only; new scaffolds use exact catalog profiles.
15
16
  };
16
17
  const required = ["metadata-file", "contract-file", "dto-wire-profile-file", "base-package", "module-name", "domain-segment"];
17
18
  const valued = new Set([...required, "output-dir", "web-project-dir", "web-output-dir", "author", "application-service-package", "validation-namespace", "scaffold-manifest-file"]);
@@ -170,6 +171,8 @@ async function validateContract(contract, args) {
170
171
  if (implementationRoot !== scaffoldRoot) throw new Error("implementation_project_root does not match the scaffold manifest project root");
171
172
  const expectedWebProject = mvc ? path.join(scaffoldRoot, `${manifest.project_name}-server`) : path.join(scaffoldRoot, `${manifest.project_name}-adapter`, `${manifest.project_name}-web`);
172
173
  if (!args["web-project-dir"] || path.resolve(args["web-project-dir"]) !== expectedWebProject) throw new Error("--web-project-dir does not match the scaffold manifest project layout");
174
+ if (manifest.platform_verification === "candidate") throw new Error("backend-platform: candidate scaffold is not ready for downstream generation");
175
+ if (manifest.platform_configuration) assertPlatformAgreement(manifest.platform_configuration, contract.architecture_identity?.platform_configuration);
173
176
  const profilePairs = mvc ? [["platform", "platform_profile"], ["validation_namespace", "validation_namespace"]] : [["architecture", "architecture_profile"], ["platform", "platform_profile"], ["validation_namespace", "validation_namespace"], ["dto_placement", "dto_placement"]];
174
177
  for (const [manifestField, contractField] of profilePairs) {
175
178
  if (manifest.profiles?.[manifestField] !== contract[contractField]) throw new Error(`scaffold manifest ${manifestField} profile does not match the approved Web contract`);
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ytable-usage
3
- description: 指导 YSS UI 业务列表页、CRUD 表格、远程分页、操作列、气泡确认、列筛选、字典翻译、行拖拽、工具栏和自定义插槽正确使用 @yss-ui/components 的 YTable;当需要配置 YTableColumn、YTableActionConfig、pagination、filter-change 或表格实例方法时使用。
3
+ description: "配置或修复 YSS UI YTable 的列、分页、行操作、筛选、拖拽与插槽;完整列表流程用 page-list-module。"
4
4
  ---
5
5
 
6
6
  # YTable 使用
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ytree-usage
3
- description: 指导 YSS UI 左树右表、组织树、分类树、目录树和节点管理页使用 @yss-ui/components 的 YTree,覆盖 fieldNames 字段映射、搜索过滤、受控选中、节点动作、删除确认、虚拟滚动和自适应高度;当生成或修改树形筛选、左树右表、树搜索或树节点操作时使用。
3
+ description: "配置或修复 YSS UI YTree 的字段映射、搜索、选中与节点操作;用于树形筛选和节点管理。"
4
4
  ---
5
5
 
6
6
  # YTree 使用
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: archify
3
- description: Create polished, validated architecture, workflow, sequence, data-flow, and lifecycle/state diagrams as explorable standalone HTML with inline SVG, dark/light themes, optional trace motion, and PNG/JPEG/WebP/SVG/WebM export. Accept plain-language requirements or pasted Mermaid flowchart, sequenceDiagram, and stateDiagram input; inspect repository evidence when the diagram must reflect real code. Use when the user asks to visualize system architecture, infrastructure, cloud/security/network topology, technical workflows, API call sequences, request lifecycles, data pipelines, ETL/ELT, data lineage, state machines, or to convert/beautify Mermaid.
3
+ description: "Create interactive HTML architecture, workflow, sequence, data-flow or state diagrams. Use for requested diagrams or Mermaid conversion."
4
4
  license: MIT
5
5
  metadata:
6
6
  version: "2.16"
@@ -9,7 +9,7 @@ Review of a pinned candidate against a fixed point on two core axes, plus UI fid
9
9
  - **Spec** — does the code faithfully implement the originating issue / spec?
10
10
  - **UI fidelity** (only when the change has UI impact) — does the candidate match the confirmed prototype and `yss-design-system` / `yss-ui`? Type-check or claiming "already aligned" is not a pass. Invoke those skills' verification notes; do not collapse this axis into Standards or Spec. YSS page-module conventions stay on Standards.
11
11
 
12
- Standards and Spec run as **parallel sub-agents** so they don't pollute each other's context, then this skill aggregates their findings. When UI is in scope, add a separate UI fidelity pass after those two reports (do not merge it into either axis).
12
+ 普通功能默认由一名与实现者独立的审查者完成 Standards、Spec 和适用的 UI fidelity 检查,分别报告结论。只有专业能力缺口、结论冲突、明确外部制度或用户指定时,才拆成多个审查者;多个无依赖审查可以并行。检查轴不等于会签人数,不能要求用户为每个轴重复确认。
13
13
 
14
14
  If `docs/agents/issue-tracker.md` is missing, tell the user to run `/setup-matt-pocock-skills`; do not invoke another user-invoked skill yourself.
15
15
 
@@ -34,7 +34,7 @@ Choose one candidate mode from the request or an upstream review contract:
34
34
  - each untracked file's content, using `git diff --no-index --no-ext-diff --binary --full-index -- /dev/null <path>` when a diff representation is useful. Exit code `1` from this command means a difference was found, not that review failed;
35
35
  - `git log <fixed-point>..HEAD --oneline` for the committed portion of the candidate.
36
36
 
37
- Record one **candidate manifest** before spawning reviewers:
37
+ Record one **candidate manifest** before review:
38
38
 
39
39
  ```yaml
40
40
  review_mode: committed # or worktree
@@ -51,9 +51,9 @@ commit_list_command: <command>
51
51
 
52
52
  For a Committed candidate, resolve `HEAD` to an immutable commit and tree before review. Its manifest must include `merge_base`, `tracked_diff_command` and `commit_list_command`. For a Worktree candidate, the manifest must additionally include `untracked_inventory_command`, `untracked_diff_command` and the exact `untracked_files` inventory.
53
53
 
54
- For a Worktree candidate, capture the tracked binary diff and every untracked file's bytes once into an immutable snapshot, compute `candidate_digest`, and make that **captured candidate** available to both reviewers. The following is normative, not illustrative: use the `yss-worktree-candidate-v1` byte stream. Start with ASCII `YSS-WORKTREE-CANDIDATE-V1` followed by one NUL byte. Append one tracked record: byte `0x54`, unsigned 64-bit big-endian binary-diff byte length, then the exact stdout bytes from `git diff --no-ext-diff --binary --full-index <merge-base>`. Then append one untracked record for each NUL-delimited raw path from `git ls-files -z --others --exclude-standard`, sorted bytewise by the raw path: byte `0x55`, unsigned 64-bit big-endian path length, raw path bytes, unsigned 32-bit big-endian `lstat` mode, entry-kind byte (`0x52` regular or `0x4c` symlink), unsigned 64-bit big-endian content length, then raw regular-file bytes or raw symlink-target bytes. Other entry kinds block capture. This is the sole length-prefixed framing and bytewise path order for the digest. SHA-256 is calculated over exactly this stream. New captures use a previously nonexistent directory under `.template-source/evidence/maintenance/`, land atomically, and store exactly `candidate-manifest.yaml`, `candidate.bin` and `tracked.diff`; `candidate.bin` already contains every untracked byte, so do not duplicate hundreds of `untracked-content/000xxx` files. Explicit exclusions are fail-closed to `.template-source/evidence/maintenance/` evidence and cannot exclude implementation or authority assets. Historical per-file snapshots remain readable. Both reviewers must consume the captured stream and must not independently treat a live worktree as the reviewed candidate.
54
+ For a Worktree candidate, capture the tracked binary diff and every untracked file's bytes once into an immutable snapshot, compute `candidate_digest`, and make that **captured candidate** available to the assigned reviewer(s). The following is normative, not illustrative: use the `yss-worktree-candidate-v1` byte stream. Start with ASCII `YSS-WORKTREE-CANDIDATE-V1` followed by one NUL byte. Append one tracked record: byte `0x54`, unsigned 64-bit big-endian binary-diff byte length, then the exact stdout bytes from `git diff --no-ext-diff --binary --full-index <merge-base>`. Then append one untracked record for each NUL-delimited raw path from `git ls-files -z --others --exclude-standard`, sorted bytewise by the raw path: byte `0x55`, unsigned 64-bit big-endian path length, raw path bytes, unsigned 32-bit big-endian `lstat` mode, entry-kind byte (`0x52` regular or `0x4c` symlink), unsigned 64-bit big-endian content length, then raw regular-file bytes or raw symlink-target bytes. Other entry kinds block capture. This is the sole length-prefixed framing and bytewise path order for the digest. SHA-256 is calculated over exactly this stream. New captures use a previously nonexistent directory under `.template-source/evidence/maintenance/`, land atomically, and store exactly `candidate-manifest.yaml`, `candidate.bin` and `tracked.diff`; `candidate.bin` already contains every untracked byte, so do not duplicate hundreds of `untracked-content/000xxx` files. Explicit exclusions are fail-closed to `.template-source/evidence/maintenance/` evidence and cannot exclude implementation or authority assets. Historical per-file snapshots remain readable. Every assigned reviewer must consume the captured stream and must not independently treat a live worktree as the reviewed candidate.
55
55
 
56
- Before going further, confirm the fixed point and merge-base resolve. A committed candidate must have a non-empty committed diff. A Worktree candidate is non-empty when either its tracked diff or untracked inventory is non-empty. A bad ref, missing candidate part or empty candidate should fail here — not inside two parallel sub-agents. Do not silently downgrade Worktree review to `HEAD`-only review.
56
+ Before going further, confirm the fixed point and merge-base resolve. A committed candidate must have a non-empty committed diff. A Worktree candidate is non-empty when either its tracked diff or untracked inventory is non-empty. A bad ref, missing candidate part or empty candidate should fail here — not during professional review. Do not silently downgrade Worktree review to `HEAD`-only review.
57
57
 
58
58
  ### 2. Identify the spec source
59
59
 
@@ -66,7 +66,7 @@ Look for the originating spec, in this order:
66
66
 
67
67
  ### 3. Identify the standards sources
68
68
 
69
- Compile sources **before** spawning reviewers. For YSS implementation candidates follow [yss-review-standards.md](references/yss-review-standards.md): run machine checks that exist in the implementation repo; then collect repo docs (`CODING_STANDARDS.md` / `CONTRIBUTING.md` if present), every Slice `required_skills` skill file, the impact-conditioned specialist inputs (`alibaba-java-code-style`, `yss-ui`, `yss-domain`, …), and `docs/templates/review-report-template.md`. Missing applicable coverage is `missing_evidence`, not a pass.
69
+ Compile sources **before** review. For YSS implementation candidates follow [yss-review-standards.md](references/yss-review-standards.md): run machine checks that exist in the implementation repo; then collect repo docs (`CODING_STANDARDS.md` / `CONTRIBUTING.md` if present), every Slice `required_skills` skill file, the impact-conditioned specialist inputs (`alibaba-java-code-style`, `yss-ui`, `yss-domain`, …), and `docs/templates/review-report-template.md`. Missing applicable coverage is `missing_evidence`, not a pass.
70
70
 
71
71
  For YSS backend review, derive the review roots from the candidate project root, implementation-repository registry, Slice `project_roots` and `allowed_write_paths`. Review only the project itself and registered backend development projects; exclude frontend roots, unrelated submodules/vendor trees and unregistered directories. Never replace this resolution with a fixed `apps/backend` assumption.
72
72
 
@@ -94,7 +94,9 @@ Each smell reads *what it is* → *how to fix*; match it against the diff:
94
94
  - **Middle Man** — a class or function that mostly just delegates onward. → cut it, call the real target direct.
95
95
  - **Refused Bequest** — a subclass or implementer that ignores or overrides most of what it inherits. → drop the inheritance, use composition.
96
96
 
97
- ### 4. Spawn both sub-agents in parallel
97
+ ### 4. Complete each applicable review axis
98
+
99
+ 默认由当前独立 Reviewer 连续完成下列两份检查提纲,按轴保留结论,不派发额外 subagent。需要多专业参与时,按角色表和协作协议派发对应提纲;只增加缺少的能力,不默认启动两个额外 Agent。下面的 sub-agent prompts 同样是单 Reviewer 的检查清单。
98
100
 
99
101
  **Standards sub-agent prompt** — include:
100
102
 
@@ -111,13 +113,15 @@ Each smell reads *what it is* → *how to fix*; match it against the diff:
111
113
 
112
114
  If the spec is missing, skip the Spec sub-agent and note this in the final report.
113
115
 
116
+ 普通审查只复验修复影响的结论及其依赖;候选摘要变化后仍须重新绑定当前候选,不能沿用过期证据。未受影响项记录依据后复用。已明确采用下节历史候选/多轴合同的审查继续遵守其约定。
117
+
114
118
  ### 5. Aggregate
115
119
 
116
120
  For template-maintenance task packages carrying `review_round`, preserve the frozen scope and apply the two-round convergence contract. A hard requirement added during review must cite a rule that already applied when the candidate was frozen; otherwise report it as `judgement-call` for the backlog. Round 1 blocking findings return to the implementer and require a new digest plus all review axes. If Round 2 still has an open `violation`, `drift`, or `new_impacts`, return `needs-human` and stop; do not silently start Round 3. Candidate byte changes invalidate every earlier axis report.
117
121
 
118
- Present the reports under `## Standards` and `## Spec` headings, verbatim or lightly cleaned. If UI is in scope, add `## UI fidelity` from the separate pass. Fill `docs/templates/review-report-template.md` specialist tables as part of Standards evidence, not a fourth axis. Do **not** merge or rerank findings — the axes are deliberately separate (see _Why separate axes_). A YSS candidate with blank applicable specialist rows, skipped `required_skills`, or unaddressed mandatory violations is `blocked`, not `completed`. Do not close findings by writing implementation in the review session. `violation` / machine-check failure / blank applicable rows go back to the implementer on the original contract path, then recapture the candidate and rerun every axis. `drift` / `new_impacts` / `required_skills` mismatch mark the contract `stale` and return to 实现合同编译器; do not keep coding on the old contract. `not-applicable` is only for untriggered impacts; mandatory gates have no waiver, only repair or a complete `seam-deferred` record.
122
+ Present the reports under `## Standards` and `## Spec` headings, verbatim or lightly cleaned. If UI is in scope, add `## UI fidelity` from the separate pass. Fill `docs/templates/review-report-template.md` specialist tables as part of Standards evidence, not a fourth axis. Do **not** merge or rerank findings — the axes are deliberately separate (see _Why separate axes_). A YSS candidate with blank applicable specialist rows, skipped `required_skills`, or unaddressed mandatory violations is `blocked`, not `completed`. Do not close findings by writing implementation in the review session. `violation` / machine-check failure / blank applicable rows go back to the implementer on the original contract path, then recapture the candidate and rerun affected axes and their dependencies; explicitly rebind unchanged evidence. `drift` / `new_impacts` / `required_skills` mismatch mark the contract `stale` and return to 实现合同编译器; do not keep coding on the old contract. `not-applicable` is only for untriggered impacts; mandatory gates have no waiver, only repair or a complete `seam-deferred` record.
119
123
 
120
- For Worktree mode, recapture the candidate digest after both reports return. If it differs from `candidate_digest`, mark both reports as reviewing a **stale candidate** and return `blocked`; the caller may start a new review against a new capture, but this invocation must not aggregate findings from different bytes. Recheck the same digest again at the completion/checkpoint boundary.
124
+ For Worktree mode, recapture the candidate digest after all applicable checks finish. If it differs from `candidate_digest`, mark the affected reports as reviewing a **stale candidate** and return `blocked`; the caller may start a new review against a new capture, but this invocation must not aggregate findings from different bytes. Recheck the same digest again at the completion/checkpoint boundary.
121
125
 
122
126
  State the reviewed `review_mode`, fixed point, candidate digest and coverage before the two reports. End with a one-line summary: total findings per axis, and the worst issue _within each axis_ (if any). Don't pick a single winner across axes — that's the reranking the separation exists to prevent.
123
127
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: file-export-download
3
- description: 指导 Vue3 YSS UI 微应用实现文件导出、报表下载、模板下载和附件下载,覆盖 OpenAPI binary 响应、Orval 生成方法检查、responseType blob 兜底、Blob 响应类型、Content-Disposition 文件名、handleBlobResponse、loading 与错误处理;当需求出现导出、下载、Excel、CSV、PDF、ZIP、Blob 或文件流时使用。
3
+ description: "在 Vue3 YSS UI 中实现或修复文件下载与导出,处理 Orval 文件流、Blob、文件名和错误响应。"
4
4
  ---
5
5
 
6
6
  # YSS 文件导出下载 Skill
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: frontend-commit
3
- description: 分析并提交 Vue、React、TypeScript、JavaScript、Vite、微前端和前端 monorepo 项目的 Git 改动;当用户要求生成 commit message、检查提交规范、拆分原子提交、暂存并执行 git commit,或修复 commitlint 与 commit-msg hook 拒绝时使用。读取仓库实际规则和 diff,选择业务 scope,生成英文 type/scope 与中文标题和正文,并安全验证提交。
3
+ description: "为前端改动生成提交信息、审查原子提交或修复 Git hook;用户明确要求提交时执行 git commit。"
4
4
  ---
5
5
 
6
6
  # 前端规范提交
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: java-backend-commit
3
- description: 分析并提交 Java、Spring Boot、Maven、Gradle、单体服务和多模块后端项目的 Git 改动;当用户要求生成 commit message、检查提交规范、拆分原子提交、暂存并执行 git commit,或修复 commitlint 与 commit-msg hook 拒绝时使用。读取仓库实际规则、模块结构和 diff,选择服务或业务域 scope,生成英文 type/scope 与中文标题和正文,并安全验证提交。
3
+ description: "为 Java 后端改动生成提交信息、审查原子提交或修复 Git hook;用户明确要求提交时执行 git commit。"
4
4
  ---
5
5
 
6
6
  # Java 后端规范提交
@@ -1,11 +1,6 @@
1
1
  ---
2
2
  name: llm-wiki
3
- description: >
4
- Compile and maintain a Karpathy-pattern LLM wiki (raw + wiki + schema) with
5
- init, incremental refresh, global rebuild, lint, and narrow ingest. Use when
6
- the user wants a local knowledge wiki, incremental wiki refresh, wiki rebuild,
7
- compiling a named research note into the wiki, `/llm-wiki`, or an answer from
8
- an existing wiki.
3
+ description: "Build or refresh a local LLM wiki; use for wiki init, ingest, rebuild, lint, or source-backed wiki questions."
9
4
  ---
10
5
 
11
6
  # llm-wiki
@@ -1,22 +1,9 @@
1
1
  ---
2
2
  name: lombok
3
- description: |
4
- Project Lombok for reducing Java boilerplate. Covers annotations for getters,
5
- setters, constructors, builders, logging, and more. Based on production
6
- patterns from castellino and gestionale-presenze projects.
7
-
8
- USE WHEN: user mentions "lombok", "@Data", "@Builder", "@Slf4j", asks about
9
- "boilerplate reduction", "getters/setters", "@RequiredArgsConstructor", "@Value"
10
-
11
- DO NOT USE FOR: Java language features - use `java` skill instead
12
- DO NOT USE FOR: MapStruct integration - use `mapstruct` skill
13
- DO NOT USE FOR: Spring annotations - use `backend-spring-boot` skill
14
- allowed-tools: Read, Grep, Glob, Write, Edit
3
+ description: "配置或排查 Lombok 注解、构造器、Builder 和注解处理器;按对象身份与敏感字段选择生成范围。"
15
4
  ---
16
5
  # Project Lombok
17
6
 
18
- > **Deep Knowledge**: Use `mcp__documentation__fetch_docs` with technology: `lombok` for comprehensive documentation.
19
-
20
7
  ## YSS 阶段 7 执行结果
21
8
 
22
9
  - 消费工程 Java 与处理器基线;三个新后端 Profile 为 Java 8。MapStruct binding 进入 annotationProcessorPaths,不作为业务依赖单独引入;示例不授权升级依赖。MVC PO 的身份/敏感字段风险与 DDD 相同,不能默认全量 @Data。
@@ -24,329 +11,16 @@ allowed-tools: Read, Grep, Glob, Write, Edit
24
11
  - 受控生成必须记录对象类型、选用/排除注解、实体关系和敏感字段风险、编译/测试实际结果。
25
12
  - 按 `yss-implementation-contract-compiler` 的统一 Execution Result 返回 changed files、证据、偏离和新增影响;`@Data` 实体风险、处理器配置缺失或越界路径返回 `violation`。
26
13
 
27
- ## Maven Configuration
28
-
29
- ```xml
30
- <dependency>
31
- <groupId>org.projectlombok</groupId>
32
- <artifactId>lombok</artifactId>
33
- <version>1.18.34</version>
34
- <optional>true</optional>
35
- </dependency>
36
-
37
- <!-- For MapStruct compatibility -->
38
- <dependency>
39
- <groupId>org.projectlombok</groupId>
40
- <artifactId>lombok-mapstruct-binding</artifactId>
41
- <version>0.2.0</version>
42
- </dependency>
43
- ```
44
-
45
- ## Common Annotations
46
-
47
- ### @Data (All-in-One)
48
-
49
- ```java
50
- @Data
51
- public class User {
52
- private Long id;
53
- private String name;
54
- private String email;
55
- }
56
-
57
- // Generates:
58
- // - @Getter for all fields
59
- // - @Setter for all non-final fields
60
- // - @ToString
61
- // - @EqualsAndHashCode
62
- // - @RequiredArgsConstructor
63
- ```
64
-
65
- ### @Getter / @Setter
66
-
67
- ```java
68
- public class User {
69
- @Getter @Setter
70
- private String name;
71
-
72
- @Getter // Read-only
73
- private final String email;
74
-
75
- @Setter(AccessLevel.PROTECTED)
76
- private String internalId;
77
- }
78
- ```
79
-
80
- ### @NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor
81
-
82
- ```java
83
- @NoArgsConstructor
84
- @AllArgsConstructor
85
- public class User {
86
- private Long id;
87
- private String name;
88
- }
89
-
90
- @RequiredArgsConstructor
91
- public class UserService {
92
- private final UserRepository userRepository; // Included in constructor
93
- private final UserMapper userMapper; // Included in constructor
94
- private String cacheName; // NOT included
95
- }
96
- ```
97
-
98
- ### @Builder
99
-
100
- ```java
101
- @Data
102
- @Builder
103
- public class User {
104
- private Long id;
105
- private String name;
106
- private String email;
107
- @Builder.Default
108
- private UserStatus status = UserStatus.ACTIVE;
109
- }
110
-
111
- // Usage
112
- User user = User.builder()
113
- .name("John")
114
- .email("john@example.com")
115
- .build();
116
-
117
- // With toBuilder for updates
118
- User updated = user.toBuilder()
119
- .name("Jane")
120
- .build();
121
- ```
122
-
123
- ### @Value (Immutable)
124
-
125
- ```java
126
- @Value
127
- public class UserResponse {
128
- Long id;
129
- String name;
130
- String email;
131
- LocalDateTime createdAt;
132
- }
133
-
134
- // Generates:
135
- // - All fields are private final
136
- // - @AllArgsConstructor
137
- // - @Getter (no setters)
138
- // - @ToString
139
- // - @EqualsAndHashCode
140
- ```
141
-
142
- ## Entity Pattern
143
-
144
- ```java
145
- @Entity
146
- @Table(name = "users")
147
- @Getter
148
- @Setter
149
- @NoArgsConstructor(access = AccessLevel.PROTECTED)
150
- @AllArgsConstructor(access = AccessLevel.PRIVATE)
151
- @Builder
152
- @EntityListeners(AuditingEntityListener.class)
153
- public class User {
154
-
155
- @Id
156
- @GeneratedValue(strategy = GenerationType.IDENTITY)
157
- private Long id;
158
-
159
- @Column(nullable = false)
160
- private String name;
161
-
162
- @Column(unique = true, nullable = false)
163
- private String email;
164
-
165
- @Enumerated(EnumType.STRING)
166
- @Builder.Default
167
- private UserStatus status = UserStatus.ACTIVE;
168
-
169
- @CreatedDate
170
- @Column(updatable = false)
171
- private LocalDateTime createdAt;
172
-
173
- @LastModifiedDate
174
- private LocalDateTime updatedAt;
175
-
176
- @ManyToOne(fetch = FetchType.LAZY)
177
- @JoinColumn(name = "department_id")
178
- private Department department;
179
- }
180
- ```
181
-
182
- JPA/DDD entities must not default to `@Data`; choose equality and `toString` deliberately from stable identity and exclude lazy, relationship, and sensitive fields.
14
+ ## 按需读取
183
15
 
184
- ## Service Pattern with Constructor Injection
16
+ 先确认当前任务涉及的对象与批准合同,只读取对应参考段落:
185
17
 
186
- ```java
187
- @Service
188
- @RequiredArgsConstructor
189
- @Slf4j
190
- public class UserServiceImpl implements UserService {
191
-
192
- private final UserRepository userRepository;
193
- private final UserMapper userMapper;
194
- private final PasswordEncoder passwordEncoder;
195
-
196
- @Override
197
- public UserResponse create(CreateUserRequest dto) {
198
- log.info("Creating user: {}", dto.getEmail());
199
- User user = userMapper.toEntity(dto);
200
- return userMapper.toResponse(userRepository.save(user));
201
- }
202
- }
203
- ```
204
-
205
- ## Logging
206
-
207
- ```java
208
- @Slf4j // SLF4J logger
209
- public class UserService {
210
- public void process() {
211
- log.info("Processing...");
212
- log.debug("Debug info: {}", data);
213
- log.error("Error occurred", exception);
214
- }
215
- }
216
-
217
- @Log4j2 // Log4j2 logger
218
- @CommonsLog // Apache Commons Logging
219
- @JBossLog // JBoss Logging
220
- ```
221
-
222
- ## DTO Pattern
223
-
224
- ```java
225
- // Request DTO
226
- @Data
227
- public class CreateUserRequest {
228
- @NotBlank
229
- private String name;
230
- @Email
231
- private String email;
232
- @Size(min = 8)
233
- private String password;
234
- }
235
-
236
- // Response DTO (immutable)
237
- @Value
238
- @Builder
239
- public class UserResponse {
240
- Long id;
241
- String name;
242
- String email;
243
- UserStatus status;
244
- LocalDateTime createdAt;
245
- }
246
- ```
247
-
248
- ## @Cleanup
249
-
250
- ```java
251
- public void readFile(String path) throws IOException {
252
- @Cleanup InputStream in = new FileInputStream(path);
253
- // in.close() called automatically
254
- }
255
- ```
256
-
257
- ## @SneakyThrows
258
-
259
- ```java
260
- @SneakyThrows // Wraps checked exception
261
- public String readConfig() {
262
- return new String(Files.readAllBytes(Paths.get("config.json")), StandardCharsets.UTF_8);
263
- }
264
- ```
265
-
266
- ## @Synchronized
267
-
268
- ```java
269
- public class Counter {
270
- @Synchronized
271
- public void increment() {
272
- // Thread-safe
273
- }
274
- }
275
- ```
276
-
277
- ## @With (Immutable Updates)
278
-
279
- ```java
280
- @Value
281
- @With
282
- public class Point {
283
- int x;
284
- int y;
285
- }
286
-
287
- Point p1 = new Point(1, 2);
288
- Point p2 = p1.withX(5); // Point(5, 2)
289
- ```
290
-
291
- ## Key Annotations
292
-
293
- | Annotation | Purpose |
294
- |------------|---------|
295
- | `@Data` | Getter, Setter, ToString, Equals, Constructor |
296
- | `@Value` | Immutable class |
297
- | `@Builder` | Builder pattern |
298
- | `@RequiredArgsConstructor` | Constructor for final fields |
299
- | `@Slf4j` | Logger field |
300
- | `@ToString.Exclude` | Exclude from toString |
301
- | `@EqualsAndHashCode.Exclude` | Exclude from equals/hashCode |
302
-
303
- ---
304
-
305
- ## When NOT to Use This Skill
306
-
307
- | Scenario | Use Instead |
308
- |----------|-------------|
309
- | Java core language | `java` skill |
310
- | MapStruct mapping | `mapstruct` skill |
311
- | Spring annotations | `backend-spring-boot` skill |
312
- | JPA entities complex logic | Manual implementation |
313
- | Public API design | Explicit methods for clarity |
314
-
315
- ---
316
-
317
- ## Anti-Patterns
318
-
319
- | Anti-Pattern | Why It's Bad | Correct Approach |
320
- |--------------|--------------|------------------|
321
- | @Data on JPA entities | toString/equals issues | Use @Getter/@Setter selectively |
322
- | Not excluding lazy relations | LazyInitializationException | Use @ToString.Exclude |
323
- | @EqualsAndHashCode on entities | Proxy issues | Use @EqualsAndHashCode(onlyExplicitlyIncluded = true) |
324
- | @SneakyThrows everywhere | Hides exceptions | Use proper exception handling |
325
- | @Builder without @Default | Null fields | Add @Builder.Default |
326
- | @Value with mutable fields | Breaks immutability | Use only immutable types |
327
- | Mixing @Data and manual methods | Confusing API | Be consistent |
328
- | Not configuring in lombok.config | Inconsistent behavior | Use lombok.config file |
329
-
330
- ---
331
-
332
- ## Quick Troubleshooting
333
-
334
- | Issue | Cause | Solution |
335
- |-------|-------|----------|
336
- | "Cannot find symbol" for getters | IDE not processing | Enable annotation processing |
337
- | LazyInitializationException | toString on lazy relation | Add @ToString.Exclude |
338
- | MapStruct not working | Wrong processor order | Lombok before MapStruct |
339
- | Builder missing fields | No @Builder.Default | Add defaults or check config |
340
- | StackOverflowError in equals | Circular reference | Exclude relation fields |
341
- | IDE shows errors but compiles | IDE cache | Invalidate caches/restart |
342
- | @Slf4j logger not found | SLF4J not in classpath | Add SLF4J dependency |
343
- | Generated code not visible | delombok needed | Run delombok task |
344
-
345
- ---
18
+ | 任务 | 参考 |
19
+ |---|---|
20
+ | 构造器、Builder、默认值或不可变对象 | [Common Annotations](references/annotation-examples.md#common-annotations) |
21
+ | 实体身份、关联与敏感字段 | [Entity Pattern](references/annotation-examples.md#entity-pattern) |
22
+ | 注解处理器与 MapStruct 集成 | [Maven Configuration](references/annotation-examples.md#maven-configuration),映射逻辑交给 `mapstruct` |
346
23
 
347
- ## Reference Documentation
348
- - [Lombok Documentation](https://projectlombok.org/features/)
349
- - [Stable Features](https://projectlombok.org/features/all)
350
- - [Configuration](https://projectlombok.org/features/configuration)
24
+ 选择注解前核查生成的 equals/hashCode/toString 是否符合对象身份与数据边界。敏感字段不能进入生成的 toString 或日志;实体不默认使用全量 `@Data`。依赖和处理器版本复用工程基线,修改生成行为后编译受影响模块,并验证实际生成的访问器、构造器或身份行为。
351
25
 
352
- > **Deep Knowledge**: Use `mcp__documentation__fetch_docs` with technology: `lombok` for comprehensive documentation.
26
+ 查第三方行为时使用 `yss-research`,来源为 [Lombok 官方文档](https://projectlombok.org/features/);不假定某个 MCP 工具已安装。