create-yss-spec 3.4.1 → 3.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -2
  3. package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
  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 +15 -2
  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 +13 -5
  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 +7 -2
  55. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +4 -0
  56. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +2 -0
  57. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  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-tactical-design/SKILL.md +4 -0
  64. package/template/.agents/skills/yss-technical-design/SKILL.md +4 -0
  65. package/template/.agents/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  66. package/template/.agents/skills/yss-ui/SKILL.md +1 -1
  67. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  68. package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
  69. package/template/.agents/skills/yss-use-table-height/SKILL.md +1 -1
  70. package/template/.agents/skills/yss-use-tree-height/SKILL.md +1 -1
  71. package/template/.agents/skills/yss-userinfo/SKILL.md +1 -1
  72. package/template/.agents/skills/yss-validation/SKILL.md +5 -1
  73. package/template/.agents/skills/yss-web-controller/SKILL.md +5 -1
  74. package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  75. package/template/.agents/skills/ytable-usage/SKILL.md +1 -1
  76. package/template/.agents/skills/ytree-usage/SKILL.md +1 -1
  77. package/template/.codex/skills/archify/SKILL.md +1 -1
  78. package/template/.codex/skills/code-review/SKILL.md +12 -8
  79. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +1 -1
  80. package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +1 -1
  81. package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +1 -1
  82. package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +1 -1
  83. package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +1 -1
  84. package/template/.codex/skills/data-analytics/skills/index/SKILL.md +1 -1
  85. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +1 -1
  86. package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +1 -1
  87. package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +1 -1
  88. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +1 -1
  89. package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +1 -1
  90. package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +1 -1
  91. package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +1 -1
  92. package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +1 -1
  93. package/template/.codex/skills/file-export-download/SKILL.md +1 -1
  94. package/template/.codex/skills/frontend-commit/SKILL.md +1 -1
  95. package/template/.codex/skills/java-backend-commit/SKILL.md +1 -1
  96. package/template/.codex/skills/llm-wiki/SKILL.md +1 -6
  97. package/template/.codex/skills/lombok/SKILL.md +10 -336
  98. package/template/.codex/skills/lombok/references/annotation-examples.md +307 -0
  99. package/template/.codex/skills/maintaining-skills/SKILL.md +2 -1
  100. package/template/.codex/skills/maintaining-skills/references/authoring.md +27 -0
  101. package/template/.codex/skills/mapstruct/SKILL.md +11 -318
  102. package/template/.codex/skills/mapstruct/references/annotation-examples.md +300 -0
  103. package/template/.codex/skills/page-form-module/SKILL.md +1 -1
  104. package/template/.codex/skills/page-skeleton/SKILL.md +1 -1
  105. package/template/.codex/skills/product-design/skills/audit/SKILL.md +1 -1
  106. package/template/.codex/skills/product-design/skills/design-qa/SKILL.md +1 -1
  107. package/template/.codex/skills/product-design/skills/get-context/SKILL.md +1 -1
  108. package/template/.codex/skills/product-design/skills/ideate/SKILL.md +1 -1
  109. package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +1 -1
  110. package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
  111. package/template/.codex/skills/product-design/skills/prototype/SKILL.md +1 -1
  112. package/template/.codex/skills/product-design/skills/research/SKILL.md +1 -1
  113. package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
  114. package/template/.codex/skills/theme-token-usage/SKILL.md +1 -1
  115. package/template/.codex/skills/to-tickets/SKILL.md +1 -1
  116. package/template/.codex/skills/using-git-worktrees/SKILL.md +1 -1
  117. package/template/.codex/skills/wayfinder/SKILL.md +1 -1
  118. package/template/.codex/skills/yedit-table-usage/SKILL.md +1 -1
  119. package/template/.codex/skills/yss-api-integration/SKILL.md +1 -1
  120. package/template/.codex/skills/yss-audit-log/SKILL.md +1 -1
  121. package/template/.codex/skills/yss-cache/SKILL.md +1 -1
  122. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +15 -2
  123. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  124. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  125. package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  126. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  127. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  128. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  129. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  130. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  131. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  132. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  133. package/template/.codex/skills/yss-distributed-id/SKILL.md +1 -1
  134. package/template/.codex/skills/yss-dto/SKILL.md +5 -1
  135. package/template/.codex/skills/yss-excel-mvc/SKILL.md +1 -1
  136. package/template/.codex/skills/yss-exception/SKILL.md +5 -1
  137. package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +1 -1
  138. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +13 -5
  139. package/template/.codex/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  140. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  141. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  142. package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  143. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  144. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  145. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  146. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -0
  147. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +1 -1
  148. package/template/.codex/skills/yss-openapi-governance/SKILL.md +1 -1
  149. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +4 -4
  150. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +7 -2
  151. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +4 -0
  152. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +2 -0
  153. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  154. package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -1
  155. package/template/.codex/skills/yss-repository/SKILL.md +4 -0
  156. package/template/.codex/skills/yss-research/SKILL.md +1 -1
  157. package/template/.codex/skills/yss-resilience4j/SKILL.md +1 -1
  158. package/template/.codex/skills/yss-security-algorithm/SKILL.md +1 -1
  159. package/template/.codex/skills/yss-tactical-design/SKILL.md +4 -0
  160. package/template/.codex/skills/yss-technical-design/SKILL.md +4 -0
  161. package/template/.codex/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  162. package/template/.codex/skills/yss-ui/SKILL.md +1 -1
  163. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  164. package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
  165. package/template/.codex/skills/yss-use-table-height/SKILL.md +1 -1
  166. package/template/.codex/skills/yss-use-tree-height/SKILL.md +1 -1
  167. package/template/.codex/skills/yss-userinfo/SKILL.md +1 -1
  168. package/template/.codex/skills/yss-validation/SKILL.md +5 -1
  169. package/template/.codex/skills/yss-web-controller/SKILL.md +5 -1
  170. package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  171. package/template/.codex/skills/ytable-usage/SKILL.md +1 -1
  172. package/template/.codex/skills/ytree-usage/SKILL.md +1 -1
  173. package/template/.cursor/skills/archify/SKILL.md +1 -1
  174. package/template/.cursor/skills/code-review/SKILL.md +12 -8
  175. package/template/.cursor/skills/file-export-download/SKILL.md +1 -1
  176. package/template/.cursor/skills/frontend-commit/SKILL.md +1 -1
  177. package/template/.cursor/skills/java-backend-commit/SKILL.md +1 -1
  178. package/template/.cursor/skills/llm-wiki/SKILL.md +1 -6
  179. package/template/.cursor/skills/lombok/SKILL.md +10 -336
  180. package/template/.cursor/skills/lombok/references/annotation-examples.md +307 -0
  181. package/template/.cursor/skills/maintaining-skills/SKILL.md +2 -1
  182. package/template/.cursor/skills/maintaining-skills/references/authoring.md +27 -0
  183. package/template/.cursor/skills/mapstruct/SKILL.md +11 -318
  184. package/template/.cursor/skills/mapstruct/references/annotation-examples.md +300 -0
  185. package/template/.cursor/skills/page-form-module/SKILL.md +1 -1
  186. package/template/.cursor/skills/page-skeleton/SKILL.md +1 -1
  187. package/template/.cursor/skills/theme-token-usage/SKILL.md +1 -1
  188. package/template/.cursor/skills/to-tickets/SKILL.md +1 -1
  189. package/template/.cursor/skills/using-git-worktrees/SKILL.md +1 -1
  190. package/template/.cursor/skills/wayfinder/SKILL.md +1 -1
  191. package/template/.cursor/skills/yedit-table-usage/SKILL.md +1 -1
  192. package/template/.cursor/skills/yss-api-integration/SKILL.md +1 -1
  193. package/template/.cursor/skills/yss-audit-log/SKILL.md +1 -1
  194. package/template/.cursor/skills/yss-cache/SKILL.md +1 -1
  195. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +15 -2
  196. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  197. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  198. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  199. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  200. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  201. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  202. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  203. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  204. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  205. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  206. package/template/.cursor/skills/yss-distributed-id/SKILL.md +1 -1
  207. package/template/.cursor/skills/yss-dto/SKILL.md +5 -1
  208. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +1 -1
  209. package/template/.cursor/skills/yss-exception/SKILL.md +5 -1
  210. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +1 -1
  211. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +13 -5
  212. package/template/.cursor/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  213. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  214. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  215. package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  216. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  217. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  218. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  219. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -0
  220. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +1 -1
  221. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +1 -1
  222. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +4 -4
  223. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +7 -2
  224. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +4 -0
  225. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +2 -0
  226. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  227. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -1
  228. package/template/.cursor/skills/yss-repository/SKILL.md +4 -0
  229. package/template/.cursor/skills/yss-research/SKILL.md +1 -1
  230. package/template/.cursor/skills/yss-resilience4j/SKILL.md +1 -1
  231. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +1 -1
  232. package/template/.cursor/skills/yss-tactical-design/SKILL.md +4 -0
  233. package/template/.cursor/skills/yss-technical-design/SKILL.md +4 -0
  234. package/template/.cursor/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  235. package/template/.cursor/skills/yss-ui/SKILL.md +1 -1
  236. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  237. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
  238. package/template/.cursor/skills/yss-use-table-height/SKILL.md +1 -1
  239. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +1 -1
  240. package/template/.cursor/skills/yss-userinfo/SKILL.md +1 -1
  241. package/template/.cursor/skills/yss-validation/SKILL.md +5 -1
  242. package/template/.cursor/skills/yss-web-controller/SKILL.md +5 -1
  243. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  244. package/template/.cursor/skills/ytable-usage/SKILL.md +1 -1
  245. package/template/.cursor/skills/ytree-usage/SKILL.md +1 -1
  246. package/template/.pi/skills/archify/SKILL.md +1 -1
  247. package/template/.pi/skills/code-review/SKILL.md +12 -8
  248. package/template/.pi/skills/file-export-download/SKILL.md +1 -1
  249. package/template/.pi/skills/frontend-commit/SKILL.md +1 -1
  250. package/template/.pi/skills/java-backend-commit/SKILL.md +1 -1
  251. package/template/.pi/skills/llm-wiki/SKILL.md +1 -6
  252. package/template/.pi/skills/lombok/SKILL.md +10 -336
  253. package/template/.pi/skills/lombok/references/annotation-examples.md +307 -0
  254. package/template/.pi/skills/maintaining-skills/SKILL.md +2 -1
  255. package/template/.pi/skills/maintaining-skills/references/authoring.md +27 -0
  256. package/template/.pi/skills/mapstruct/SKILL.md +11 -318
  257. package/template/.pi/skills/mapstruct/references/annotation-examples.md +300 -0
  258. package/template/.pi/skills/page-form-module/SKILL.md +1 -1
  259. package/template/.pi/skills/page-skeleton/SKILL.md +1 -1
  260. package/template/.pi/skills/theme-token-usage/SKILL.md +1 -1
  261. package/template/.pi/skills/to-tickets/SKILL.md +1 -1
  262. package/template/.pi/skills/using-git-worktrees/SKILL.md +1 -1
  263. package/template/.pi/skills/wayfinder/SKILL.md +1 -1
  264. package/template/.pi/skills/yedit-table-usage/SKILL.md +1 -1
  265. package/template/.pi/skills/yss-api-integration/SKILL.md +1 -1
  266. package/template/.pi/skills/yss-audit-log/SKILL.md +1 -1
  267. package/template/.pi/skills/yss-cache/SKILL.md +1 -1
  268. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +15 -2
  269. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +1 -1
  270. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +15 -10
  271. package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +3 -3
  272. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -3
  273. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +5 -1
  274. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +5 -2
  275. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +13 -10
  276. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -1
  277. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +35 -3
  278. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
  279. package/template/.pi/skills/yss-distributed-id/SKILL.md +1 -1
  280. package/template/.pi/skills/yss-dto/SKILL.md +5 -1
  281. package/template/.pi/skills/yss-excel-mvc/SKILL.md +1 -1
  282. package/template/.pi/skills/yss-exception/SKILL.md +5 -1
  283. package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +1 -1
  284. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +13 -5
  285. package/template/.pi/skills/yss-implementation-contract-compiler/agents/openai.yaml +1 -1
  286. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +16 -0
  287. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract-v2.md +214 -0
  288. package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +66 -204
  289. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +15 -2
  290. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +28 -19
  291. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +10 -10
  292. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -0
  293. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +1 -1
  294. package/template/.pi/skills/yss-openapi-governance/SKILL.md +1 -1
  295. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +4 -4
  296. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +7 -2
  297. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +4 -0
  298. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +2 -0
  299. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +23 -3
  300. package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -1
  301. package/template/.pi/skills/yss-repository/SKILL.md +4 -0
  302. package/template/.pi/skills/yss-research/SKILL.md +1 -1
  303. package/template/.pi/skills/yss-resilience4j/SKILL.md +1 -1
  304. package/template/.pi/skills/yss-security-algorithm/SKILL.md +1 -1
  305. package/template/.pi/skills/yss-tactical-design/SKILL.md +4 -0
  306. package/template/.pi/skills/yss-technical-design/SKILL.md +4 -0
  307. package/template/.pi/skills/yss-technical-design/scripts/validate-technical-design.mjs +2 -2
  308. package/template/.pi/skills/yss-ui/SKILL.md +1 -1
  309. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  310. package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
  311. package/template/.pi/skills/yss-use-table-height/SKILL.md +1 -1
  312. package/template/.pi/skills/yss-use-tree-height/SKILL.md +1 -1
  313. package/template/.pi/skills/yss-userinfo/SKILL.md +1 -1
  314. package/template/.pi/skills/yss-validation/SKILL.md +5 -1
  315. package/template/.pi/skills/yss-web-controller/SKILL.md +5 -1
  316. package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +5 -2
  317. package/template/.pi/skills/ytable-usage/SKILL.md +1 -1
  318. package/template/.pi/skills/ytree-usage/SKILL.md +1 -1
  319. package/template/AGENTS.md +1 -0
  320. package/template/CONTEXT.md +2 -1
  321. package/template/docs/agents/backend-architecture-profiles.md +1 -1
  322. package/template/docs/agents/digital-human-roles.yaml +25 -1
  323. package/template/docs/agents/issue-tracker.md +2 -0
  324. package/template/docs/engineering/backend-platforms.json +174 -0
  325. package/template/docs/engineering/backend-platforms.md +77 -0
  326. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +1 -0
  327. package/template/docs/process/harness-process-tailoring.md +9 -1
  328. package/template/docs/process/lifecycle-artifact-map.md +4 -4
  329. package/template/docs/process/lifecycle-registry-baseline.json +1 -1
  330. package/template/docs/process/lifecycle-registry.yaml +4 -4
  331. package/template/docs/process/schemas/backend-architecture-identity.schema.json +91 -0
  332. package/template/docs/process/schemas/digital-human-task-package.schema.json +2 -1
  333. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +4 -0
  334. package/template/docs/process/schemas/project-scaffold-contract.schema.json +602 -83
  335. package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +323 -39
  336. package/template/docs/process/schemas/slice-implementation-contract-v3.schema.json +925 -0
  337. package/template/docs/templates/approval-record-template.yaml +2 -0
  338. package/template/docs/templates/vertical-slice-ticket-template.md +22 -31
  339. package/template/scripts/backend-platforms +14 -0
  340. package/template/scripts/lib/approval-record.mjs +32 -6
  341. package/template/scripts/lib/approved-execution-context.mjs +31 -8
  342. package/template/scripts/lib/backend-architecture.mjs +6 -0
  343. package/template/scripts/lib/backend-platform-provenance.mjs +67 -0
  344. package/template/scripts/lib/backend-platform-verification.mjs +210 -0
  345. package/template/scripts/lib/backend-platform.mjs +175 -0
  346. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +1 -1
  347. package/template/scripts/lib/decision-continuation.mjs +79 -0
  348. package/template/scripts/lib/delivery-preflight.mjs +6 -5
  349. package/template/scripts/lib/digital-human-roles.mjs +10 -0
  350. package/template/scripts/lib/frontend-delivery-boundary.mjs +3 -0
  351. package/template/scripts/lib/implementation-contract-compiler.mjs +42 -9
  352. package/template/scripts/lib/lifecycle-controls.mjs +2 -2
  353. package/template/scripts/lib/lifecycle-transition.mjs +3 -1
  354. package/template/scripts/lib/plan-spec-entry.mjs +3 -3
  355. package/template/scripts/lib/scaffold-local-database.mjs +1 -0
  356. package/template/scripts/lib/slice-applicability.mjs +10 -0
  357. package/template/scripts/lib/slice-contract-preparation.mjs +257 -0
  358. package/template/scripts/lib/slice-contract-views.mjs +52 -0
  359. package/template/scripts/lib/slice-contract.mjs +211 -0
  360. package/template/scripts/lib/slice-repositories.mjs +49 -0
  361. package/template/scripts/lib/slice-task-package.mjs +66 -0
  362. package/template/scripts/lib/strategic-handoff.mjs +12 -1
  363. package/template/scripts/lib/task-package.mjs +6 -2
  364. package/template/scripts/lib/technical-design-boundary.mjs +1 -0
  365. package/template/scripts/lib/user-decision-reuse.mjs +1 -0
  366. package/template/scripts/lib/user-decision.mjs +4 -1
  367. package/template/scripts/preflight-delivery +2 -2
  368. package/template/scripts/slice-contract +30 -0
  369. package/template/scripts/verify-backend-platform-matrix +69 -0
  370. package/template/scripts/verify-scaffold-architecture-decisions +5 -0
  371. package/template/scripts/verify-user-decision +7 -2
  372. package/template/skills-lock.json +60 -55
  373. package/template.snapshot.json +3 -3
@@ -0,0 +1,300 @@
1
+ # mapstruct 条件参考
2
+
3
+ 仅在需要具体注解或配置示例时定位对应章节。示例业务名与版本不是工程基线;按批准合同替换,禁止直接复制成业务实现。
4
+
5
+ ## Basic Mapper
6
+
7
+ ```java
8
+ @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.ERROR)
9
+ public interface UserMapper {
10
+
11
+ UserResponse toResponse(User user);
12
+
13
+ List<UserResponse> toResponseList(List<User> users);
14
+
15
+ @Mapping(target = "id", ignore = true)
16
+ @Mapping(target = "createdAt", ignore = true)
17
+ @Mapping(target = "updatedAt", ignore = true)
18
+ @Mapping(target = "password", ignore = true)
19
+ User toEntity(CreateUserRequest dto);
20
+ }
21
+ ```
22
+
23
+ ## Update Mapping
24
+
25
+ ```java
26
+ @Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.ERROR)
27
+ public interface UserMapper {
28
+
29
+ // Partial update - ignores null values
30
+ @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)
31
+ void updateEntity(UpdateUserRequest dto, @MappingTarget User user);
32
+
33
+ // Full update - sets all fields including nulls
34
+ void updateEntityFull(UpdateUserRequest dto, @MappingTarget User user);
35
+ }
36
+ ```
37
+
38
+ ## Field Mapping
39
+
40
+ ```java
41
+ @Mapper(componentModel = "spring")
42
+ public interface OrderMapper {
43
+
44
+ // Different field names
45
+ @Mapping(source = "customer.name", target = "customerName")
46
+ @Mapping(source = "customer.email", target = "customerEmail")
47
+ @Mapping(source = "items", target = "orderItems")
48
+ OrderResponse toResponse(Order order);
49
+
50
+ // Constant values
51
+ @Mapping(target = "status", constant = "PENDING")
52
+ @Mapping(target = "createdAt", expression = "java(java.time.LocalDateTime.now())")
53
+ Order toEntity(CreateOrderRequest dto);
54
+
55
+ // Expression
56
+ @Mapping(target = "fullName", expression = "java(user.getFirstName() + \" \" + user.getLastName())")
57
+ UserResponse toResponse(User user);
58
+
59
+ // Date formatting
60
+ @Mapping(source = "createdAt", target = "createdDate", dateFormat = "yyyy-MM-dd")
61
+ OrderResponse toResponse(Order order);
62
+ }
63
+ ```
64
+
65
+ ## Nested Objects
66
+
67
+ ```java
68
+ @Mapper(componentModel = "spring", uses = {AddressMapper.class, ItemMapper.class})
69
+ public interface OrderMapper {
70
+
71
+ // Uses AddressMapper for address field
72
+ // Uses ItemMapper for items collection
73
+ OrderResponse toResponse(Order order);
74
+ }
75
+
76
+ @Mapper(componentModel = "spring")
77
+ public interface AddressMapper {
78
+ AddressResponse toResponse(Address address);
79
+ }
80
+
81
+ @Mapper(componentModel = "spring")
82
+ public interface ItemMapper {
83
+ ItemResponse toResponse(Item item);
84
+ }
85
+ ```
86
+
87
+ ## Enum Mapping
88
+
89
+ ```java
90
+ @Mapper(componentModel = "spring")
91
+ public interface StatusMapper {
92
+
93
+ @ValueMappings({
94
+ @ValueMapping(source = "ACTIVE", target = "ENABLED"),
95
+ @ValueMapping(source = "INACTIVE", target = "DISABLED"),
96
+ @ValueMapping(source = MappingConstants.ANY_REMAINING, target = "UNKNOWN")
97
+ })
98
+ ExternalStatus toExternalStatus(InternalStatus status);
99
+ }
100
+ ```
101
+
102
+ ## Custom Methods
103
+
104
+ ```java
105
+ @Mapper(componentModel = "spring")
106
+ public abstract class UserMapper {
107
+
108
+ @Autowired
109
+ protected RoleRepository roleRepository;
110
+
111
+ public abstract UserResponse toResponse(User user);
112
+
113
+ @Mapping(target = "roles", source = "roleIds")
114
+ public abstract User toEntity(CreateUserRequest dto);
115
+
116
+ // Custom mapping method
117
+ protected Set<Role> mapRoles(Set<Long> roleIds) {
118
+ if (roleIds == null) return new HashSet<>();
119
+ return roleIds.stream()
120
+ .map(id -> roleRepository.findById(id)
121
+ .orElseThrow(() -> new ResourceNotFoundException("Role", "id", id)))
122
+ .collect(Collectors.toSet());
123
+ }
124
+ }
125
+ ```
126
+
127
+ ## Collection Mapping
128
+
129
+ ```java
130
+ @Mapper(componentModel = "spring")
131
+ public interface ProductMapper {
132
+
133
+ ProductResponse toResponse(Product product);
134
+
135
+ List<ProductResponse> toResponseList(List<Product> products);
136
+
137
+ Set<ProductResponse> toResponseSet(Set<Product> products);
138
+
139
+ // Page mapping
140
+ default Page<ProductResponse> toResponsePage(Page<Product> products) {
141
+ return products.map(this::toResponse);
142
+ }
143
+ }
144
+ ```
145
+
146
+ ## After/Before Mapping
147
+
148
+ ```java
149
+ @Mapper(componentModel = "spring")
150
+ public abstract class UserMapper {
151
+
152
+ @AfterMapping
153
+ protected void afterMapping(@MappingTarget UserResponse response, User user) {
154
+ response.setDisplayName(user.getFirstName() + " " + user.getLastName().charAt(0) + ".");
155
+ }
156
+
157
+ @BeforeMapping
158
+ protected void beforeMapping(CreateUserRequest dto) {
159
+ if (dto.getEmail() != null) {
160
+ dto.setEmail(dto.getEmail().toLowerCase().trim());
161
+ }
162
+ }
163
+ }
164
+ ```
165
+
166
+ ## Conditional Mapping
167
+
168
+ ```java
169
+ @Mapper(componentModel = "spring")
170
+ public abstract class UserMapper {
171
+
172
+ @Condition
173
+ public boolean isNotEmpty(String value) {
174
+ return value != null && !value.trim().isEmpty();
175
+ }
176
+
177
+ // Only maps non-empty strings
178
+ UserResponse toResponse(User user);
179
+ }
180
+ ```
181
+
182
+ ## Maven Configuration
183
+
184
+ ```xml
185
+ <properties>
186
+ <mapstruct.version>1.6.2</mapstruct.version>
187
+ <lombok.version>1.18.30</lombok.version>
188
+ </properties>
189
+
190
+ <dependencies>
191
+ <dependency>
192
+ <groupId>org.mapstruct</groupId>
193
+ <artifactId>mapstruct</artifactId>
194
+ <version>${mapstruct.version}</version>
195
+ </dependency>
196
+
197
+ <dependency>
198
+ <groupId>org.projectlombok</groupId>
199
+ <artifactId>lombok</artifactId>
200
+ <version>${lombok.version}</version>
201
+ <optional>true</optional>
202
+ </dependency>
203
+ </dependencies>
204
+
205
+ <build>
206
+ <plugins>
207
+ <plugin>
208
+ <groupId>org.apache.maven.plugins</groupId>
209
+ <artifactId>maven-compiler-plugin</artifactId>
210
+ <version>3.13.0</version>
211
+ <configuration>
212
+ <source>${maven.compiler.source}</source>
213
+ <target>${maven.compiler.target}</target>
214
+ <annotationProcessorPaths>
215
+ <!-- Use the approved processor configuration, including Lombok binding -->
216
+ <path>
217
+ <groupId>org.projectlombok</groupId>
218
+ <artifactId>lombok</artifactId>
219
+ <version>${lombok.version}</version>
220
+ </path>
221
+ <path>
222
+ <groupId>org.mapstruct</groupId>
223
+ <artifactId>mapstruct-processor</artifactId>
224
+ <version>${mapstruct.version}</version>
225
+ </path>
226
+ <path>
227
+ <groupId>org.projectlombok</groupId>
228
+ <artifactId>lombok-mapstruct-binding</artifactId>
229
+ <version>0.2.0</version>
230
+ </path>
231
+ </annotationProcessorPaths>
232
+ <compilerArgs>
233
+ <arg>-Amapstruct.defaultComponentModel=spring</arg>
234
+ </compilerArgs>
235
+ </configuration>
236
+ </plugin>
237
+ </plugins>
238
+ </build>
239
+ ```
240
+
241
+ ## Key Annotations
242
+
243
+ | Annotation | Purpose |
244
+ |------------|---------|
245
+ | `@Mapper` | Define mapper interface/abstract class |
246
+ | `@Mapping` | Field-level mapping configuration |
247
+ | `@MappingTarget` | Update existing object |
248
+ | `@BeanMapping` | Bean-level mapping settings |
249
+ | `@AfterMapping` | Post-processing method |
250
+ | `@BeforeMapping` | Pre-processing method |
251
+ | `@Condition` | Conditional mapping |
252
+ | `@ValueMapping` | Enum value mapping |
253
+
254
+ ## Best Practices
255
+
256
+ 1. Use `componentModel = "spring"` for Spring injection
257
+ 2. Keep unmapped targets visible with `ReportingPolicy.ERROR`; explicitly ignore only fields excluded by the contract
258
+ 3. Map or explicitly exclude identity and audit fields according to ownership in the contract
259
+ 4. Use `@MappingTarget` for partial updates
260
+ 5. Configure Lombok, MapStruct and the required binding processor from the engineering baseline
261
+ 6. Use abstract classes instead of interfaces for custom logic
262
+ 7. Use `@Condition` for conditional mapping logic
263
+
264
+ ---
265
+
266
+
267
+ ## Anti-Patterns
268
+
269
+ | Anti-Pattern | Why It's Bad | Correct Approach |
270
+ |--------------|--------------|------------------|
271
+ | Mapping entities to entities | Breaks change tracking | Map DTO to entity |
272
+ | Not using @MappingTarget | Inefficient updates | Use for partial updates |
273
+ | Complex logic in expressions | Hard to test | Use custom methods |
274
+ | Ignoring all unmapped | Misses fields silently | Use ERROR and explicit field mappings |
275
+ | Not excluding audit fields | Overwrites metadata | Exclude id, timestamps |
276
+ | Circular references | StackOverflowError | Break cycles with custom mapping |
277
+ | Using interfaces for custom logic | Can't inject dependencies | Use abstract classes |
278
+ | Not testing mappers | Runtime mapping errors | Write mapper tests |
279
+
280
+ ---
281
+
282
+ ## Quick Troubleshooting
283
+
284
+ | Issue | Cause | Solution |
285
+ |-------|-------|----------|
286
+ | "Cannot find implementation" | Annotation processing failed | Check processor configuration |
287
+ | Lombok fields not found | Missing processor or binding | Check annotationProcessorPaths and Lombok binding |
288
+ | Mapper not autowired | Wrong componentModel | Use componentModel = "spring" |
289
+ | Circular dependency | Mappers reference each other | Review mapper dependencies and remove cycles |
290
+ | UnmappedTargetProperty warning | Missing mapping | Add an explicit mapping or a contract-approved field ignore |
291
+ | NullPointerException in mapping | Null source | Add null checks or NullValuePropertyMappingStrategy |
292
+ | Custom method not called | Wrong signature | Match method parameters exactly |
293
+ | Generated code not updated | IDE cache | Clean and rebuild project |
294
+
295
+ ---
296
+
297
+ ## Reference Documentation
298
+ - [MapStruct Reference](https://mapstruct.org/documentation/stable/reference/html/)
299
+ - [Spring Integration](https://mapstruct.org/documentation/stable/reference/html/#spring)
300
+ - [Lombok Integration](https://mapstruct.org/faq/#can-i-use-mapstruct-together-with-project-lombok)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: page-form-module
3
- description: 指导实现 YSS UI 新增、编辑和查看表单模块,覆盖 YFormily Schema、mode 0/1/2、详情渲染、数据回显与回填、表单值被意外清空排查、校验、提交 loading、弹窗销毁和列表刷新;当页面包含表单页、Modal 或 Drawer 表单,或编辑时回显丢失、提交后表单未重置时使用。
3
+ description: "实现 YSS UI 新增、编辑、查看表单模块及弹窗闭环;排查回显丢失、重置、提交与列表刷新。"
4
4
  ---
5
5
 
6
6
  # Page Form Module Skill
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: page-skeleton
3
- description: 指导搭建 Vue3 YSS UI 列表、表单、详情和弹窗页面模块骨架,统一 index.vue、constant.ts、style.less、hooks 与私有组件职责;当新建页面或需要拆分超过 150 行的业务组件时使用。
3
+ description: "创建或拆分 Vue3 YSS UI 页面模块骨架,明确页面、配置、hooks 与私有组件职责。"
4
4
  ---
5
5
 
6
6
  # Page Skeleton Skill
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: audit
3
- description: "Audit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, placing them in Figma or a local folder, then reporting UX, design, and accessibility findings from that evidence. Use when the user asks to audit, critique, review, inspect, assess, or evaluate a product experience."
3
+ description: "Audit an existing product screen or flow using screenshots; report UX and accessibility findings."
4
4
  ---
5
5
 
6
6
  # Audit
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: design-qa
3
- description: "Internal prototype QA helper. Use only after a Product Design prototype, URL-to-code build, or image-to-code build has a source visual target and a rendered implementation to compare before handoff. Do not use for broad UX critique, design critique, product audits, or flow reviews; route those user-facing requests to audit."
3
+ description: "Compare a rendered prototype with its source visual target before handoff. For broad UX audits use audit."
4
4
  ---
5
5
 
6
6
  # Design QA
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: get-context
3
- description: "Mandatory design-brief gate for Product Design build and design workflows. Use before ideation, prototyping, image-to-code builds, redesigns, or product UI work to clarify missing product, visual, and interactivity context or play back the supplied brief before proceeding."
3
+ description: "Establish the Product Design brief before ideation or builds; reuse supplied context and clarify missing decisions."
4
4
  ---
5
5
 
6
6
  # Get Context
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ideate
3
- description: "Generate image-based visual alternatives, remixes, or concept directions after Product Design get-context has confirmed the design brief. Use when the user asks for design variants, visual exploration, remixes, or image-generated approaches from provided context."
3
+ description: "Generate visual alternatives or remixes after the Product Design brief is confirmed."
4
4
  ---
5
5
 
6
6
  # Ideate
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: image-to-code
3
- description: "Implement a selected image, screenshot, mockup, or Image Gen reference as a faithful responsive frontend after Product Design get-context has confirmed the design brief."
3
+ description: "Implement a selected image, screenshot or mockup as a responsive frontend after confirming the design brief."
4
4
  ---
5
5
 
6
6
  # Image to Code
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: index
3
- description: "Use to discover specific skills for the Product Design plugin, when it is at-mentioned directly, or for any mentions of potentially relevant work, including: UX research; product, screen, or flow audits; visual ideation; app or interface design, redesign, cloning, prototyping, or implementation from ideas, URLs, images, Figma, or code; design QA; and prototype sharing or deployment."
3
+ description: "Route Product Design requests for UX research, product audits, visual ideation, prototypes and design QA."
4
4
  ---
5
5
 
6
6
  # Skill Purpose
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: prototype
3
- description: "Route coded prototype requests after Product Design get-context has confirmed the design brief. Use for building prototypes from URLs, images, mockups, Figma, existing code, or ideas that need visual exploration before build."
3
+ description: "Route prototype builds from URLs, images, Figma, code or ideas after confirming the Product Design brief."
4
4
  ---
5
5
 
6
6
  # Design Prototypes
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: research
3
- description: "Run fast, source-grounded UX research on the highest-signal problems users are experiencing with a user-specified digital product. Use when the user asks to research user pain, UX friction, onboarding issues, docs/help problems, developer experience friction, support pain, product workflow issues, or current user complaints for a named product."
3
+ description: "Research UX friction, user pain or current complaints about a named digital product using traceable sources."
4
4
  ---
5
5
 
6
6
  # Research
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: user-context
3
- description: Load or manage Product Design's saved user context. Use when the user asks to set up Product Design, get started, onboard, save product or design sources, see what Product Design remembers, update saved context, or remember Product Design preferences. Examples include product URLs, Figma files, screenshots, reference images, codebase paths, Storybook, tokens, design systems, brand assets, and general product/design notes.
3
+ description: "Manage saved Product Design context when asked to onboard, remember sources or update design preferences."
4
4
  ---
5
5
 
6
6
  # User Context
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: theme-token-usage
3
- description: 指导 Vue3 YSS UI 微应用业务页面、公共组件、原型还原和主题修复使用可动态换肤的 CSS/Ant Design Token,覆盖主色、hover/active/selected/focus、状态色、中性色、透明色派生和暗色模式;当新增或修改 .vue、style.less、内联样式、TS 渲染配置、SVG 色值,或审查硬编码 #hex/rgb/渐变时使用。
3
+ description: "实现或修复 Vue3 YSS UI 主题、交互状态色与动态换肤;用于 token 映射和硬编码色值审查。"
4
4
  ---
5
5
 
6
6
  # YSS UI 主题 Token 使用 Skill
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: to-tickets
3
- description: Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker — edges as text in one file per ticket locally, or native blocking links on a real tracker.
3
+ description: "显式调用时,将已确认的 Plan 或 Spec 拆成带依赖的垂直切片 Ticket,并按配置的 tracker 持久化。"
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: using-git-worktrees
3
- description: Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback
3
+ description: "Set up Git worktree isolation when requested or when concurrent work needs a separate checkout."
4
4
  ---
5
5
 
6
6
  # Using Git Worktrees
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: wayfinder
3
- description: Plan a huge chunk of work — more than one agent session can hold — as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.
3
+ description: "显式调用时,为跨多个会话的大型工作建立决策地图,逐项收敛后交回主流程。"
4
4
  disable-model-invocation: true
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: yedit-table-usage
3
- description: 指导 YSS UI 业务页面使用 @yss-ui/components 的 YEditTable 实现可编辑表格、行内编辑、添加/删除行、下拉多选与可创建 tags、行级候选联动、表头筛选、校验和查看态;当需求出现编辑表格、明细行、扩展属性、可编辑列或 YEditTableColumn 时使用。
3
+ description: "配置或修复 YSS UI YEditTable 的行内编辑、候选联动、增删行、校验与查看态。"
4
4
  ---
5
5
 
6
6
  # YEditTable 使用
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: yss-api-integration
3
- description: 指导在 Vue3 业务列表、表单、详情和操作 Hook 中集成 Orval API,覆盖真实生成产物选择、mutator 响应契约、错误提示、加载状态、请求选项和长整型精度;当页面对接查询、新增、编辑、删除、详情或文件流接口时使用。
3
+ description: "在 Vue3 YSS UI 中对接 Orval API;核验生成方法、mutator、错误反馈、loading 与长整型精度。"
4
4
  ---
5
5
 
6
6
  # API 集成 Skill
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: yss-audit-log
3
- description: Use when YSS `AuditLog`, `EnableAuditLog`, audit SpEL summaries, async publication, subscriber registration, queue loss, or audit delivery failures are involved.
3
+ description: "接入或排查 YSS AuditLog 的 SpEL 摘要、异步发布、订阅注册与审计投递。"
4
4
  ---
5
5
 
6
6
  # yss-audit-log
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: yss-cache
3
- description: 用于 YSS 缓存框架的接入、配置、代码修改和故障诊断。Use when tasks involve QueryCache、UpdateCache、ClearCache、TTL、SpEL key、事务提交后缓存操作、Redis/Caffeine/Hazelcast 后端切换、Redis Standalone/Sentinel/Cluster、Jedis 连接池、Redis fallback、JetCache、多级缓存、序列化兼容、缓存不命中或失效不一致。
3
+ description: "接入或排查 YSS QueryCache、UpdateCache、ClearCache、TTL、缓存后端与一致性问题。"
4
4
  ---
5
5
 
6
6
  # yss-cache
@@ -21,6 +21,19 @@ description: 用于生成完整的 YSS DDD 多模块后端脚手架。当用户
21
21
  - 只补持久层时,优先 `yss-repository`。
22
22
  - 只补 Web 层时,优先 `yss-web-controller`。
23
23
 
24
+ ## Spring Boot / Java 平台选择
25
+
26
+ 调用本技能时先展示 `scripts/backend-platforms` 的精确版本清单及兼容状态。由生命周期编排器把架构、Spring Boot、Java 和 YSS 父 POM/BOM 合并展示并取得真实用户确认;生成器不提问、不猜版本、不使用 `x` 或 `latest`。已有批准且当前的选择展示摘要后复用。
27
+
28
+ - 候选平台:Boot 2.7.18 / Java 8,Boot 3.5.16 / Java 17 或 21,Boot 4.1.1 / Java 17 或 21。新 Boot 默认推荐 Java 17;候选不等于可生成。
29
+ - 独立子项目可继承主项目组合或覆盖,必须逐项目确认(允许一次确认明确列出的项目);同一 Maven Reactor 使用一个平台。
30
+ - 只开放共享兼容清单中已有真实 YSS 构建、依赖和启动证据的组合。缺少兼容父 POM、BOM、starter 或相应能力证据即 `blocked`;不替换官方组件、不降级回退。
31
+ - 新生成合同必须有 `platform_configuration` v2,与架构决策、Maven 坐标及兼容条目摘要一致。Boot、Java、YSS 坐标或依赖配方变化时回生命周期重新确认并编译合同;仅追加同配置验证记录不重复确认,仍核验证据有效性。
32
+ - Spring MVC、Servlet、Validation、Jackson 和 starter 坐标消费共享平台清单;Boot 3.5 / 4.1 拒绝 Java 8/11。Jakarta 转换不包括 `javax.sql` 等 Java SE API。
33
+ - 平台候选维护验证产物标记 `platform_verification=candidate`,不能交给业务生成、升级完成等级或进入首切片验证。测试夹具不证明 YSS 兼容。
34
+
35
+ 版本清单、合同字段、候选验证和支持晋级规则见 仓库共享合同 `docs/engineering/backend-platforms.md`。
36
+
24
37
  ## 优先流程
25
38
 
26
39
  1. 确认服务级 `scaffold_request_id`、已由用户确认且生命周期批准的 `domain-driven` 架构选择及 digest、项目名、基础包名、Maven 项目坐标、父 POM GAV、YSS Components BOM 版本、输出目录和批准 Profile。Java `base_package` 与 Maven `group_id` 是两个独立输入,不得相互推导;脚手架发生在 Ticket 正式化前,不使用 `slice_id` 伪造切片身份。
@@ -84,12 +97,12 @@ node scripts/run_first_slice_verification.mjs \
84
97
  - 不要在 skill 里硬编码用户业务字段或真实连接信息。
85
98
  - 生成后要检查依赖关系是否仍符合分层约束。
86
99
  - 生成时的静态依赖由技能注册表与 实现合同编译器 共同约束为 `yss-backend-scaffold-parent`、`alibaba-java-code-style`。生成后必须回到 实现合同编译器,并按批准切片加载 `yss-domain`、`yss-application`、`yss-repository`、`yss-mybatis`、`yss-web-controller`、`yss-dto`、`yss-exception`、`yss-validation`、`mapstruct`、`lombok`、`alibaba-java-code-style` 等实际命中的行为 skill。
87
- - 当前脚手架第一阶段仅支持经过验证的 `mysql`;未提供完整模板和验证的数据库类型不得伪装成已支持。
100
+ - 验证数据库固定 H2,生产数据库 `not-bound`;后续存储接入按批准的切片合同执行。
88
101
  - 生成后的后端工程必须使用项目根目录 `./mvnw ...` 执行构建、测试、运行和 CI 验证;不得在 README、实施记录、Ticket、Review 或 Release 中默认写裸 `mvn ...`。既有仓库确实无法使用 wrapper 时,必须记录受控例外。
89
102
  - 原型确认后,`scaffold_status=required` 才能进入本 skill;本 skill 的生成边界是工程结构、POM、配置、Wrapper 和机械模板,不是业务实现。
90
103
  - 脚手架合同必须携带 `contract_id`、`contract_version`、实现合同编译器 draft 引用、生命周期批准引用、持久化引用、当前版本、允许写路径、预期证据文件和验证命令;字段缺失或版本过期时阻断。
91
104
  - 新脚手架只接受统一 Project Scaffold Contract schema v4,并必须以原始字节摘要绑定批准且当前的 Technical Design、Data Architecture Decision v1、API Contract Decision v1 和真实工程合同批准记录。API `required` 必须闭包绑定同一 OpenAPI YAML 字节的 Validation、独立 Review、Freeze 与工程批准;`not-applicable` 必须绑定评估、明确原因和证据且禁止空占位资产。历史 schema v3/v2 仅用于 Manifest 只读验证和补齐 API 对账后的恢复审计,不用于新生成。
92
- - 合同 `profiles` 只支持 `target-domain-model`、`mybatis-plus`、`mysql`、`spring-boot-2.7-jdk8`、`javax`、`web`、`yss-internal`。普通 MyBatis、Boot 3、独立 client module、client-in-domain 和其他旧架构均为 `unsupported`,不提供回退分支。
105
+ - DDD 固定 `target-domain-model`、`mybatis-plus`、H2 验证、`web` DTO、`yss-internal`;平台与 Validation 命名空间由共享清单约束。普通 MyBatis、独立 client module、client-in-domain 和其他旧架构仍为 `unsupported`。
93
106
  - 运行生成器必须传入 `--contract-file`;生成器会校验合同 `status=approved`、`current_version`、`primary_skill`、`controlled-generation`、实际输出路径和固定三条验证命令,不接受仅凭任意字符串引用的放行。
94
107
  - 生成项目必须写入 Manifest v4 `.yss/scaffold-generation.json`,记录技术、数据与 API 设计门禁、架构选择及 digest、生成器、合同 digest、Target Profile、模块闭包、模板 digest、下游完整 skill tree digest、generator-owned 文件 hash、严格 `generation_policy` 和完成等级;清单缺失或不一致时不得交给后续 实现合同编译器。
95
108
  - `first-slice-verified` 只能由 `run_first_slice_verification.mjs` 写入。手工改 Manifest、只生成 Controller、只通过局部模块测试或仅有结构扫描都不能升级完成等级。
@@ -27,7 +27,7 @@
27
27
  </dependency>
28
28
  <dependency>
29
29
  <groupId>org.springframework.boot</groupId>
30
- <artifactId>spring-boot-starter-aop</artifactId>
30
+ <artifactId>{{aop_starter}}</artifactId>
31
31
  </dependency>
32
32
  <dependency>
33
33
  <groupId>org.springframework</groupId>
@@ -20,16 +20,18 @@
20
20
 
21
21
  <properties>
22
22
  <yss-components.version>{{yss_components_version}}</yss-components.version>
23
- <maven.compiler.source>1.8</maven.compiler.source>
24
- <maven.compiler.target>1.8</maven.compiler.target>
23
+ <java.version>{{java_version}}</java.version>
24
+ <spring-boot.version>{{boot_version}}</spring-boot.version>
25
+ <maven.compiler.source>{{java_version}}</maven.compiler.source>
26
+ <maven.compiler.target>{{java_version}}</maven.compiler.target>
25
27
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
26
- <mapstruct.version>1.5.5.Final</mapstruct.version>
27
- <lombok.version>1.18.30</lombok.version>
28
- <lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
29
- <swagger-annotations-v3.version>2.2.22</swagger-annotations-v3.version>
30
- <archunit.version>1.2.1</archunit.version>
31
- <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
32
- <maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
28
+ <mapstruct.version>{{mapstruct_version}}</mapstruct.version>
29
+ <lombok.version>{{lombok_version}}</lombok.version>
30
+ <lombok-mapstruct-binding.version>{{lombok_mapstruct_binding_version}}</lombok-mapstruct-binding.version>
31
+ <swagger-annotations-v3.version>{{swagger_version}}</swagger-annotations-v3.version>
32
+ <archunit.version>{{archunit_version}}</archunit.version>
33
+ <maven-compiler-plugin.version>{{compiler_version}}</maven-compiler-plugin.version>
34
+ <maven-enforcer-plugin.version>{{enforcer_version}}</maven-enforcer-plugin.version>
33
35
  </properties>
34
36
 
35
37
  <modules>
@@ -42,6 +44,7 @@
42
44
 
43
45
  <dependencyManagement>
44
46
  <dependencies>
47
+ <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>{{boot_version}}</version><type>pom</type><scope>import</scope></dependency>
45
48
  <dependency>
46
49
  <groupId>com.yss.cloud</groupId>
47
50
  <artifactId>yss-components-bom</artifactId>
@@ -94,6 +97,8 @@
94
97
 
95
98
  <build>
96
99
  <plugins>
100
+ <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>{{boot_version}}</version></plugin>
101
+ <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>{{surefire_version}}</version></plugin>
97
102
  <plugin>
98
103
  <groupId>org.apache.maven.plugins</groupId>
99
104
  <artifactId>maven-compiler-plugin</artifactId>
@@ -129,7 +134,7 @@
129
134
  <goals><goal>enforce</goal></goals>
130
135
  <configuration>
131
136
  <rules>
132
- <requireJavaVersion><version>[1.8,1.9)</version></requireJavaVersion>
137
+ <requireJavaVersion><version>{{java_range}}</version></requireJavaVersion>
133
138
  <requireMavenVersion><version>[3.6.3,)</version></requireMavenVersion>
134
139
  <reactorModuleConvergence/>
135
140
  <dependencyConvergence/>
@@ -19,7 +19,7 @@
19
19
  </dependency>
20
20
  <dependency>
21
21
  <groupId>org.springframework.boot</groupId>
22
- <artifactId>spring-boot-starter-web</artifactId>
22
+ <artifactId>{{web_starter}}</artifactId>
23
23
  </dependency>
24
24
  <dependency>
25
25
  <groupId>org.springframework.boot</groupId>
@@ -45,13 +45,13 @@
45
45
  </dependency>
46
46
  <dependency>
47
47
  <groupId>io.swagger.core.v3</groupId>
48
- <artifactId>swagger-annotations</artifactId>
48
+ <artifactId>{{swagger_artifact}}</artifactId>
49
49
  <version>${swagger-annotations-v3.version}</version>
50
50
  <scope>compile</scope>
51
51
  </dependency>
52
52
  <dependency>
53
53
  <groupId>org.springframework.boot</groupId>
54
- <artifactId>spring-boot-starter-test</artifactId>
54
+ <artifactId>{{web_test_starter}}</artifactId>
55
55
  <scope>test</scope>
56
56
  </dependency>
57
57
  </dependencies>
@@ -11,9 +11,9 @@ description: YSS DDD scaffold Engineering Baseline entry for profile, module, de
11
11
 
12
12
  - Architecture: `target-domain-model`
13
13
  - Persistence: `mybatis-plus`
14
- - Database: `mysql`
15
- - Platform: `spring-boot-2.7-jdk8`
16
- - Validation namespace: `javax`
14
+ - Verification database: `h2`; production database: `not-bound`
15
+ - Platform: approved `platform_configuration` v2 from the shared backend platform catalog
16
+ - Validation namespace: derived from that platform (`javax` for Boot 2.7; `jakarta` for Boot 3.5/4.1)
17
17
  - DTO placement: `web`
18
18
  - Repository: `yss-internal`
19
19