create-yss-spec 3.5.6 → 3.5.9

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 (578) hide show
  1. package/bin/create-yss-spec.js +3 -1
  2. package/cli-core.lock.json +10 -6
  3. package/package.json +4 -1
  4. package/src/api/_sync-service.js +3 -1
  5. package/src/command-runner.mjs +44 -9
  6. package/src/commands/doctor.js +40 -0
  7. package/src/commands/skills.js +7 -2
  8. package/src/content-identity.js +111 -0
  9. package/src/runtime-store.mjs +650 -0
  10. package/src/template/asset-runtime.js +124 -22
  11. package/src/template/instance-runtime.js +23 -7
  12. package/src/validation/metadata.js +8 -0
  13. package/template/.agents/skills/.strategic-design-skills-manifest.json +3 -3
  14. package/template/.agents/skills/alibaba-java-code-style/SKILL.md +30 -36
  15. package/template/.agents/skills/archify/SKILL.md +2 -2
  16. package/template/.agents/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  17. package/template/.agents/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  18. package/template/.agents/skills/code-review/SKILL.md +19 -11
  19. package/template/.agents/skills/code-review/references/candidate-capture.md +1 -1
  20. package/template/.agents/skills/code-review/references/legacy-convergence.md +3 -1
  21. package/template/.agents/skills/code-review/references/review-axis-checklists.md +2 -0
  22. package/template/.agents/skills/code-review/references/yss-review-standards.md +4 -2
  23. package/template/.agents/skills/competitive-intelligence/SKILL.md +32 -74
  24. package/template/.agents/skills/file-export-download/SKILL.md +4 -73
  25. package/template/.agents/skills/file-export-download/references/binary-contract-example.md +26 -0
  26. package/template/.agents/skills/file-export-download/references/download-call-example.md +45 -0
  27. package/template/.agents/skills/formily-foundation/SKILL.md +6 -105
  28. package/template/.agents/skills/formily-foundation/references/async-save-example.md +57 -0
  29. package/template/.agents/skills/formily-foundation/references/query-layout.md +50 -0
  30. package/template/.agents/skills/formily-linkage-effects/SKILL.md +3 -116
  31. package/template/.agents/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  32. package/template/.agents/skills/formily-mode-slot-detail/SKILL.md +3 -81
  33. package/template/.agents/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  34. package/template/.agents/skills/formily-step-flow/SKILL.md +3 -143
  35. package/template/.agents/skills/formily-step-flow/references/step-flow-example.md +143 -0
  36. package/template/.agents/skills/handoff/SKILL.md +3 -1
  37. package/template/.agents/skills/i-have-adhd/SKILL.md +2 -2
  38. package/template/.agents/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  39. package/template/.agents/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  40. package/template/.agents/skills/implement/SKILL.md +2 -2
  41. package/template/.agents/skills/llm-wiki/references/transactions.md +2 -2
  42. package/template/.agents/skills/llm-wiki/scripts/core.mjs +40 -2
  43. package/template/.agents/skills/llm-wiki/scripts/transaction.mjs +30 -27
  44. package/template/.agents/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  45. package/template/.agents/skills/lombok/SKILL.md +2 -0
  46. package/template/.agents/skills/mapstruct/SKILL.md +2 -0
  47. package/template/.agents/skills/tdd/SKILL.md +2 -2
  48. package/template/.agents/skills/theme-token-usage/SKILL.md +6 -5
  49. package/template/.agents/skills/wayfinder/references/chart-map.md +2 -2
  50. package/template/.agents/skills/wayfinder/references/ticket-types.md +1 -1
  51. package/template/.agents/skills/yss-api-integration/SKILL.md +13 -50
  52. package/template/.agents/skills/yss-api-integration/references/orval-list-example.md +38 -0
  53. package/template/.agents/skills/yss-application/SKILL.md +11 -5
  54. package/template/.agents/skills/yss-audit-log/SKILL.md +8 -6
  55. package/template/.agents/skills/yss-audit-log/references/README.md +5 -5
  56. package/template/.agents/skills/yss-cache/SKILL.md +4 -4
  57. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  58. package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  59. package/template/.agents/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  60. package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  61. package/template/.agents/skills/yss-design-system/SKILL.md +2 -2
  62. package/template/.agents/skills/yss-distributed-id/SKILL.md +4 -4
  63. package/template/.agents/skills/yss-dto/SKILL.md +9 -9
  64. package/template/.agents/skills/yss-dto/references/README.md +4 -4
  65. package/template/.agents/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  66. package/template/.agents/skills/yss-excel-mvc/SKILL.md +4 -4
  67. package/template/.agents/skills/yss-exception/SKILL.md +42 -48
  68. package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +26 -170
  69. package/template/.agents/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  70. package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  71. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
  72. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  73. package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  74. package/template/.agents/skills/yss-mybatis/SKILL.md +4 -4
  75. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +6 -4
  76. package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  77. package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  78. package/template/.agents/skills/yss-openapi-governance/SKILL.md +5 -7
  79. package/template/.agents/skills/yss-openapi-governance/references/governance-output.md +2 -0
  80. package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  81. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +32 -26
  82. package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  83. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
  84. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
  85. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +38 -13
  86. package/template/.agents/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
  87. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -1
  88. package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  89. package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -5
  90. package/template/.agents/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
  91. package/template/.agents/skills/yss-repository/SKILL.md +2 -2
  92. package/template/.agents/skills/yss-research/SKILL.md +39 -48
  93. package/template/.agents/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  94. package/template/.agents/skills/yss-research/references/competitive-analysis.md +76 -0
  95. package/template/.agents/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  96. package/template/.agents/skills/yss-research/references/evidence-contract.md +8 -0
  97. package/template/.agents/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  98. package/template/.agents/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  99. package/template/.agents/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  100. package/template/.agents/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  101. package/template/.agents/skills/yss-resilience4j/SKILL.md +25 -31
  102. package/template/.agents/skills/yss-security-algorithm/SKILL.md +37 -43
  103. package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  104. package/template/.agents/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  105. package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -5
  106. package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
  107. package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
  108. package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
  109. package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -1
  110. package/template/.agents/skills/yss-tactical-design/references/output-template.md +3 -3
  111. package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  112. package/template/.agents/skills/yss-technical-design/SKILL.md +6 -5
  113. package/template/.agents/skills/yss-ui/SKILL.md +7 -1
  114. package/template/.agents/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  115. package/template/.agents/skills/yss-ui/references/checklist.md +38 -96
  116. package/template/.agents/skills/yss-ui/references/component-routing.md +3 -1
  117. package/template/.agents/skills/yss-ui/references/quick-recipes.md +17 -272
  118. package/template/.agents/skills/yss-ui/references/specialized-components.md +3 -3
  119. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  120. package/template/.agents/skills/yss-up-springboot3/SKILL.md +19 -21
  121. package/template/.agents/skills/yss-userinfo/SKILL.md +27 -33
  122. package/template/.agents/skills/yss-validation/SKILL.md +26 -32
  123. package/template/.agents/skills/yss-web-controller/SKILL.md +11 -44
  124. package/template/.agents/skills/yss-web-controller/references/crud-generation.md +38 -0
  125. package/template/.agents/skills/ytable-usage/SKILL.md +2 -2
  126. package/template/.agents/skills/ytree-usage/SKILL.md +2 -80
  127. package/template/.agents/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  128. package/template/.codex/skills/alibaba-java-code-style/SKILL.md +30 -36
  129. package/template/.codex/skills/archify/SKILL.md +2 -2
  130. package/template/.codex/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  131. package/template/.codex/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  132. package/template/.codex/skills/code-review/SKILL.md +19 -11
  133. package/template/.codex/skills/code-review/references/candidate-capture.md +1 -1
  134. package/template/.codex/skills/code-review/references/legacy-convergence.md +3 -1
  135. package/template/.codex/skills/code-review/references/review-axis-checklists.md +2 -0
  136. package/template/.codex/skills/code-review/references/yss-review-standards.md +4 -2
  137. package/template/.codex/skills/competitive-intelligence/SKILL.md +32 -74
  138. package/template/.codex/skills/file-export-download/SKILL.md +4 -73
  139. package/template/.codex/skills/file-export-download/references/binary-contract-example.md +26 -0
  140. package/template/.codex/skills/file-export-download/references/download-call-example.md +45 -0
  141. package/template/.codex/skills/formily-foundation/SKILL.md +6 -105
  142. package/template/.codex/skills/formily-foundation/references/async-save-example.md +57 -0
  143. package/template/.codex/skills/formily-foundation/references/query-layout.md +50 -0
  144. package/template/.codex/skills/formily-linkage-effects/SKILL.md +3 -116
  145. package/template/.codex/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  146. package/template/.codex/skills/formily-mode-slot-detail/SKILL.md +3 -81
  147. package/template/.codex/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  148. package/template/.codex/skills/formily-step-flow/SKILL.md +3 -143
  149. package/template/.codex/skills/formily-step-flow/references/step-flow-example.md +143 -0
  150. package/template/.codex/skills/handoff/SKILL.md +3 -1
  151. package/template/.codex/skills/i-have-adhd/SKILL.md +2 -2
  152. package/template/.codex/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  153. package/template/.codex/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  154. package/template/.codex/skills/implement/SKILL.md +2 -2
  155. package/template/.codex/skills/llm-wiki/references/transactions.md +2 -2
  156. package/template/.codex/skills/llm-wiki/scripts/core.mjs +40 -2
  157. package/template/.codex/skills/llm-wiki/scripts/transaction.mjs +30 -27
  158. package/template/.codex/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  159. package/template/.codex/skills/lombok/SKILL.md +2 -0
  160. package/template/.codex/skills/mapstruct/SKILL.md +2 -0
  161. package/template/.codex/skills/product-design/references/communication-protocol.md +3 -3
  162. package/template/.codex/skills/product-design/references/critical-overrides.md +4 -5
  163. package/template/.codex/skills/product-design/skills/audit/SKILL.md +2 -4
  164. package/template/.codex/skills/product-design/skills/get-context/SKILL.md +6 -8
  165. package/template/.codex/skills/product-design/skills/ideate/SKILL.md +3 -3
  166. package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +3 -5
  167. package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
  168. package/template/.codex/skills/product-design/skills/prototype/SKILL.md +2 -4
  169. package/template/.codex/skills/product-design/skills/research/SKILL.md +4 -6
  170. package/template/.codex/skills/product-design/skills/research/assets/research-brief-template.md +3 -3
  171. package/template/.codex/skills/product-design/skills/share/SKILL.md +2 -4
  172. package/template/.codex/skills/product-design/skills/url-to-code/SKILL.md +2 -4
  173. package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
  174. package/template/.codex/skills/tdd/SKILL.md +2 -2
  175. package/template/.codex/skills/theme-token-usage/SKILL.md +6 -5
  176. package/template/.codex/skills/wayfinder/references/chart-map.md +2 -2
  177. package/template/.codex/skills/wayfinder/references/ticket-types.md +1 -1
  178. package/template/.codex/skills/yss-api-integration/SKILL.md +13 -50
  179. package/template/.codex/skills/yss-api-integration/references/orval-list-example.md +38 -0
  180. package/template/.codex/skills/yss-application/SKILL.md +11 -5
  181. package/template/.codex/skills/yss-audit-log/SKILL.md +8 -6
  182. package/template/.codex/skills/yss-audit-log/references/README.md +5 -5
  183. package/template/.codex/skills/yss-cache/SKILL.md +4 -4
  184. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  185. package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  186. package/template/.codex/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  187. package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  188. package/template/.codex/skills/yss-design-system/SKILL.md +2 -2
  189. package/template/.codex/skills/yss-distributed-id/SKILL.md +4 -4
  190. package/template/.codex/skills/yss-dto/SKILL.md +9 -9
  191. package/template/.codex/skills/yss-dto/references/README.md +4 -4
  192. package/template/.codex/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  193. package/template/.codex/skills/yss-excel-mvc/SKILL.md +4 -4
  194. package/template/.codex/skills/yss-exception/SKILL.md +42 -48
  195. package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +26 -170
  196. package/template/.codex/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  197. package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  198. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
  199. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  200. package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  201. package/template/.codex/skills/yss-mybatis/SKILL.md +4 -4
  202. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +6 -4
  203. package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  204. package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  205. package/template/.codex/skills/yss-openapi-governance/SKILL.md +5 -7
  206. package/template/.codex/skills/yss-openapi-governance/references/governance-output.md +2 -0
  207. package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  208. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +32 -26
  209. package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  210. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
  211. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
  212. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +38 -13
  213. package/template/.codex/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
  214. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -1
  215. package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  216. package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -5
  217. package/template/.codex/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
  218. package/template/.codex/skills/yss-repository/SKILL.md +2 -2
  219. package/template/.codex/skills/yss-research/SKILL.md +39 -48
  220. package/template/.codex/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  221. package/template/.codex/skills/yss-research/references/competitive-analysis.md +76 -0
  222. package/template/.codex/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  223. package/template/.codex/skills/yss-research/references/evidence-contract.md +8 -0
  224. package/template/.codex/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  225. package/template/.codex/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  226. package/template/.codex/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  227. package/template/.codex/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  228. package/template/.codex/skills/yss-resilience4j/SKILL.md +25 -31
  229. package/template/.codex/skills/yss-security-algorithm/SKILL.md +37 -43
  230. package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  231. package/template/.codex/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  232. package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -5
  233. package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
  234. package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
  235. package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
  236. package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -1
  237. package/template/.codex/skills/yss-tactical-design/references/output-template.md +3 -3
  238. package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  239. package/template/.codex/skills/yss-technical-design/SKILL.md +6 -5
  240. package/template/.codex/skills/yss-ui/SKILL.md +7 -1
  241. package/template/.codex/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  242. package/template/.codex/skills/yss-ui/references/checklist.md +38 -96
  243. package/template/.codex/skills/yss-ui/references/component-routing.md +3 -1
  244. package/template/.codex/skills/yss-ui/references/quick-recipes.md +17 -272
  245. package/template/.codex/skills/yss-ui/references/specialized-components.md +3 -3
  246. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  247. package/template/.codex/skills/yss-up-springboot3/SKILL.md +19 -21
  248. package/template/.codex/skills/yss-userinfo/SKILL.md +27 -33
  249. package/template/.codex/skills/yss-validation/SKILL.md +26 -32
  250. package/template/.codex/skills/yss-web-controller/SKILL.md +11 -44
  251. package/template/.codex/skills/yss-web-controller/references/crud-generation.md +38 -0
  252. package/template/.codex/skills/ytable-usage/SKILL.md +2 -2
  253. package/template/.codex/skills/ytree-usage/SKILL.md +2 -80
  254. package/template/.codex/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  255. package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +30 -36
  256. package/template/.cursor/skills/archify/SKILL.md +2 -2
  257. package/template/.cursor/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  258. package/template/.cursor/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  259. package/template/.cursor/skills/code-review/SKILL.md +19 -11
  260. package/template/.cursor/skills/code-review/references/candidate-capture.md +1 -1
  261. package/template/.cursor/skills/code-review/references/legacy-convergence.md +3 -1
  262. package/template/.cursor/skills/code-review/references/review-axis-checklists.md +2 -0
  263. package/template/.cursor/skills/code-review/references/yss-review-standards.md +4 -2
  264. package/template/.cursor/skills/competitive-intelligence/SKILL.md +32 -74
  265. package/template/.cursor/skills/file-export-download/SKILL.md +4 -73
  266. package/template/.cursor/skills/file-export-download/references/binary-contract-example.md +26 -0
  267. package/template/.cursor/skills/file-export-download/references/download-call-example.md +45 -0
  268. package/template/.cursor/skills/formily-foundation/SKILL.md +6 -105
  269. package/template/.cursor/skills/formily-foundation/references/async-save-example.md +57 -0
  270. package/template/.cursor/skills/formily-foundation/references/query-layout.md +50 -0
  271. package/template/.cursor/skills/formily-linkage-effects/SKILL.md +3 -116
  272. package/template/.cursor/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  273. package/template/.cursor/skills/formily-mode-slot-detail/SKILL.md +3 -81
  274. package/template/.cursor/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  275. package/template/.cursor/skills/formily-step-flow/SKILL.md +3 -143
  276. package/template/.cursor/skills/formily-step-flow/references/step-flow-example.md +143 -0
  277. package/template/.cursor/skills/handoff/SKILL.md +3 -1
  278. package/template/.cursor/skills/i-have-adhd/SKILL.md +2 -2
  279. package/template/.cursor/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  280. package/template/.cursor/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  281. package/template/.cursor/skills/implement/SKILL.md +2 -2
  282. package/template/.cursor/skills/llm-wiki/references/transactions.md +2 -2
  283. package/template/.cursor/skills/llm-wiki/scripts/core.mjs +40 -2
  284. package/template/.cursor/skills/llm-wiki/scripts/transaction.mjs +30 -27
  285. package/template/.cursor/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  286. package/template/.cursor/skills/lombok/SKILL.md +2 -0
  287. package/template/.cursor/skills/mapstruct/SKILL.md +2 -0
  288. package/template/.cursor/skills/tdd/SKILL.md +2 -2
  289. package/template/.cursor/skills/theme-token-usage/SKILL.md +6 -5
  290. package/template/.cursor/skills/wayfinder/references/chart-map.md +2 -2
  291. package/template/.cursor/skills/wayfinder/references/ticket-types.md +1 -1
  292. package/template/.cursor/skills/yss-api-integration/SKILL.md +13 -50
  293. package/template/.cursor/skills/yss-api-integration/references/orval-list-example.md +38 -0
  294. package/template/.cursor/skills/yss-application/SKILL.md +11 -5
  295. package/template/.cursor/skills/yss-audit-log/SKILL.md +8 -6
  296. package/template/.cursor/skills/yss-audit-log/references/README.md +5 -5
  297. package/template/.cursor/skills/yss-cache/SKILL.md +4 -4
  298. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  299. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  300. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  301. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  302. package/template/.cursor/skills/yss-design-system/SKILL.md +2 -2
  303. package/template/.cursor/skills/yss-distributed-id/SKILL.md +4 -4
  304. package/template/.cursor/skills/yss-dto/SKILL.md +9 -9
  305. package/template/.cursor/skills/yss-dto/references/README.md +4 -4
  306. package/template/.cursor/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  307. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +4 -4
  308. package/template/.cursor/skills/yss-exception/SKILL.md +42 -48
  309. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +26 -170
  310. package/template/.cursor/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  311. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  312. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
  313. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  314. package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  315. package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -4
  316. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +6 -4
  317. package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  318. package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  319. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +5 -7
  320. package/template/.cursor/skills/yss-openapi-governance/references/governance-output.md +2 -0
  321. package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  322. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +32 -26
  323. package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  324. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
  325. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
  326. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +38 -13
  327. package/template/.cursor/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
  328. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -1
  329. package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  330. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -5
  331. package/template/.cursor/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
  332. package/template/.cursor/skills/yss-repository/SKILL.md +2 -2
  333. package/template/.cursor/skills/yss-research/SKILL.md +39 -48
  334. package/template/.cursor/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  335. package/template/.cursor/skills/yss-research/references/competitive-analysis.md +76 -0
  336. package/template/.cursor/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  337. package/template/.cursor/skills/yss-research/references/evidence-contract.md +8 -0
  338. package/template/.cursor/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  339. package/template/.cursor/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  340. package/template/.cursor/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  341. package/template/.cursor/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  342. package/template/.cursor/skills/yss-resilience4j/SKILL.md +25 -31
  343. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +37 -43
  344. package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  345. package/template/.cursor/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  346. package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -5
  347. package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
  348. package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
  349. package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
  350. package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -1
  351. package/template/.cursor/skills/yss-tactical-design/references/output-template.md +3 -3
  352. package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  353. package/template/.cursor/skills/yss-technical-design/SKILL.md +6 -5
  354. package/template/.cursor/skills/yss-ui/SKILL.md +7 -1
  355. package/template/.cursor/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  356. package/template/.cursor/skills/yss-ui/references/checklist.md +38 -96
  357. package/template/.cursor/skills/yss-ui/references/component-routing.md +3 -1
  358. package/template/.cursor/skills/yss-ui/references/quick-recipes.md +17 -272
  359. package/template/.cursor/skills/yss-ui/references/specialized-components.md +3 -3
  360. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  361. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +19 -21
  362. package/template/.cursor/skills/yss-userinfo/SKILL.md +27 -33
  363. package/template/.cursor/skills/yss-validation/SKILL.md +26 -32
  364. package/template/.cursor/skills/yss-web-controller/SKILL.md +11 -44
  365. package/template/.cursor/skills/yss-web-controller/references/crud-generation.md +38 -0
  366. package/template/.cursor/skills/ytable-usage/SKILL.md +2 -2
  367. package/template/.cursor/skills/ytree-usage/SKILL.md +2 -80
  368. package/template/.cursor/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  369. package/template/.pi/skills/alibaba-java-code-style/SKILL.md +30 -36
  370. package/template/.pi/skills/archify/SKILL.md +2 -2
  371. package/template/.pi/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
  372. package/template/.pi/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
  373. package/template/.pi/skills/code-review/SKILL.md +19 -11
  374. package/template/.pi/skills/code-review/references/candidate-capture.md +1 -1
  375. package/template/.pi/skills/code-review/references/legacy-convergence.md +3 -1
  376. package/template/.pi/skills/code-review/references/review-axis-checklists.md +2 -0
  377. package/template/.pi/skills/code-review/references/yss-review-standards.md +4 -2
  378. package/template/.pi/skills/competitive-intelligence/SKILL.md +32 -74
  379. package/template/.pi/skills/file-export-download/SKILL.md +4 -73
  380. package/template/.pi/skills/file-export-download/references/binary-contract-example.md +26 -0
  381. package/template/.pi/skills/file-export-download/references/download-call-example.md +45 -0
  382. package/template/.pi/skills/formily-foundation/SKILL.md +6 -105
  383. package/template/.pi/skills/formily-foundation/references/async-save-example.md +57 -0
  384. package/template/.pi/skills/formily-foundation/references/query-layout.md +50 -0
  385. package/template/.pi/skills/formily-linkage-effects/SKILL.md +3 -116
  386. package/template/.pi/skills/formily-linkage-effects/references/linkage-example.md +116 -0
  387. package/template/.pi/skills/formily-mode-slot-detail/SKILL.md +3 -81
  388. package/template/.pi/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
  389. package/template/.pi/skills/formily-step-flow/SKILL.md +3 -143
  390. package/template/.pi/skills/formily-step-flow/references/step-flow-example.md +143 -0
  391. package/template/.pi/skills/handoff/SKILL.md +3 -1
  392. package/template/.pi/skills/i-have-adhd/SKILL.md +2 -2
  393. package/template/.pi/skills/i-have-adhd/references/yss-adaptation.md +2 -2
  394. package/template/.pi/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
  395. package/template/.pi/skills/implement/SKILL.md +2 -2
  396. package/template/.pi/skills/llm-wiki/references/transactions.md +2 -2
  397. package/template/.pi/skills/llm-wiki/scripts/core.mjs +40 -2
  398. package/template/.pi/skills/llm-wiki/scripts/transaction.mjs +30 -27
  399. package/template/.pi/skills/llm-wiki/scripts/v2.test.mjs +38 -2
  400. package/template/.pi/skills/lombok/SKILL.md +2 -0
  401. package/template/.pi/skills/mapstruct/SKILL.md +2 -0
  402. package/template/.pi/skills/tdd/SKILL.md +2 -2
  403. package/template/.pi/skills/theme-token-usage/SKILL.md +6 -5
  404. package/template/.pi/skills/wayfinder/references/chart-map.md +2 -2
  405. package/template/.pi/skills/wayfinder/references/ticket-types.md +1 -1
  406. package/template/.pi/skills/yss-api-integration/SKILL.md +13 -50
  407. package/template/.pi/skills/yss-api-integration/references/orval-list-example.md +38 -0
  408. package/template/.pi/skills/yss-application/SKILL.md +11 -5
  409. package/template/.pi/skills/yss-audit-log/SKILL.md +8 -6
  410. package/template/.pi/skills/yss-audit-log/references/README.md +5 -5
  411. package/template/.pi/skills/yss-cache/SKILL.md +4 -4
  412. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
  413. package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
  414. package/template/.pi/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
  415. package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
  416. package/template/.pi/skills/yss-design-system/SKILL.md +2 -2
  417. package/template/.pi/skills/yss-distributed-id/SKILL.md +4 -4
  418. package/template/.pi/skills/yss-dto/SKILL.md +9 -9
  419. package/template/.pi/skills/yss-dto/references/README.md +4 -4
  420. package/template/.pi/skills/yss-dto/references/wire-validation-checklist.md +4 -4
  421. package/template/.pi/skills/yss-excel-mvc/SKILL.md +4 -4
  422. package/template/.pi/skills/yss-exception/SKILL.md +42 -48
  423. package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +26 -170
  424. package/template/.pi/skills/yss-formily-schema-generator/references/workflow.md +49 -193
  425. package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
  426. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
  427. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
  428. package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
  429. package/template/.pi/skills/yss-mybatis/SKILL.md +4 -4
  430. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +6 -4
  431. package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +2 -0
  432. package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
  433. package/template/.pi/skills/yss-openapi-governance/SKILL.md +5 -7
  434. package/template/.pi/skills/yss-openapi-governance/references/governance-output.md +2 -0
  435. package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
  436. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +32 -26
  437. package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
  438. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
  439. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
  440. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +38 -13
  441. package/template/.pi/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
  442. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -1
  443. package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
  444. package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -5
  445. package/template/.pi/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
  446. package/template/.pi/skills/yss-repository/SKILL.md +2 -2
  447. package/template/.pi/skills/yss-research/SKILL.md +39 -48
  448. package/template/.pi/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
  449. package/template/.pi/skills/yss-research/references/competitive-analysis.md +76 -0
  450. package/template/.pi/skills/yss-research/references/competitive-analysis.schema.json +324 -0
  451. package/template/.pi/skills/yss-research/references/evidence-contract.md +8 -0
  452. package/template/.pi/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
  453. package/template/.pi/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
  454. package/template/.pi/skills/yss-research/scripts/validate-research-package.mjs +6 -2
  455. package/template/.pi/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
  456. package/template/.pi/skills/yss-resilience4j/SKILL.md +25 -31
  457. package/template/.pi/skills/yss-security-algorithm/SKILL.md +37 -43
  458. package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
  459. package/template/.pi/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
  460. package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -5
  461. package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
  462. package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
  463. package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
  464. package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -1
  465. package/template/.pi/skills/yss-tactical-design/references/output-template.md +3 -3
  466. package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
  467. package/template/.pi/skills/yss-technical-design/SKILL.md +6 -5
  468. package/template/.pi/skills/yss-ui/SKILL.md +7 -1
  469. package/template/.pi/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
  470. package/template/.pi/skills/yss-ui/references/checklist.md +38 -96
  471. package/template/.pi/skills/yss-ui/references/component-routing.md +3 -1
  472. package/template/.pi/skills/yss-ui/references/quick-recipes.md +17 -272
  473. package/template/.pi/skills/yss-ui/references/specialized-components.md +3 -3
  474. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
  475. package/template/.pi/skills/yss-up-springboot3/SKILL.md +19 -21
  476. package/template/.pi/skills/yss-userinfo/SKILL.md +27 -33
  477. package/template/.pi/skills/yss-validation/SKILL.md +26 -32
  478. package/template/.pi/skills/yss-web-controller/SKILL.md +11 -44
  479. package/template/.pi/skills/yss-web-controller/references/crud-generation.md +38 -0
  480. package/template/.pi/skills/ytable-usage/SKILL.md +2 -2
  481. package/template/.pi/skills/ytree-usage/SKILL.md +2 -80
  482. package/template/.pi/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
  483. package/template/.template-spec/agents/backend-architecture-profiles.md +1 -1
  484. package/template/.template-spec/agents/digital-human-roles.md +5 -1
  485. package/template/.template-spec/agents/digital-human-roles.yaml +49 -1
  486. package/template/.template-spec/engineering/backend-platforms.json +1 -1
  487. package/template/.template-spec/plan/entry-review.md +2 -1
  488. package/template/.template-spec/plan/templates/competitive-analysis-template.md +38 -36
  489. package/template/.template-spec/plan/templates/competitive-matrix-template.md +37 -17
  490. package/template/.template-spec/plan/templates/plan-template.md +11 -5
  491. package/template/.template-spec/process/document-writing.md +22 -3
  492. package/template/.template-spec/process/harness-process-tailoring.md +5 -1
  493. package/template/.template-spec/process/implementation-repo-integration.md +26 -8
  494. package/template/.template-spec/process/research-completion.md +2 -0
  495. package/template/.template-spec/process/runtime-storage.md +78 -0
  496. package/template/.template-spec/process/schemas/approval-context.schema.json +67 -0
  497. package/template/.template-spec/process/schemas/approval-record.schema.json +179 -16
  498. package/template/.template-spec/process/schemas/backend-delivery.schema.json +16 -0
  499. package/template/.template-spec/process/schemas/delivery-preflight-input.schema.json +4 -0
  500. package/template/.template-spec/process/schemas/digital-human-task-package.schema.json +236 -1
  501. package/template/.template-spec/process/schemas/implementation-repository-preparation-result.schema.json +335 -52
  502. package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +11 -0
  503. package/template/.template-spec/process/schemas/project-scaffold-contract.schema.json +3 -0
  504. package/template/.template-spec/process/schemas/review-bundle.schema.json +347 -35
  505. package/template/.template-spec/process/schemas/strategic-design-handoff-v3.schema.json +504 -0
  506. package/template/.template-spec/process/schemas/strategic-design-handoff-v4.schema.json +544 -8
  507. package/template/.template-spec/process/schemas/strategic-design-handoff-v5.schema.json +616 -0
  508. package/template/.template-spec/process/schemas/strategic-design-handoff.schema.json +616 -0
  509. package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy-v3.schema.json +712 -109
  510. package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy.schema.json +595 -90
  511. package/template/.template-spec/process/schemas/strategic-handoff-export-v2.schema.json +448 -0
  512. package/template/.template-spec/process/schemas/strategic-handoff-export.schema.json +392 -0
  513. package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package-v3.schema.json +556 -83
  514. package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package.schema.json +418 -57
  515. package/template/.template-spec/process/script-execution.md +37 -0
  516. package/template/.template-spec/process/subagent-collaboration.md +7 -1
  517. package/template/.template-spec/templates/approval-record-template.json +7 -3
  518. package/template/.template-spec/templates/approval-record-template.yaml +8 -2
  519. package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +92 -2
  520. package/template/.template-spec/templates/retro-report-template.md +10 -3
  521. package/template/.template-spec/templates/review-bundle-template.yaml +19 -10
  522. package/template/.template-spec/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +2 -0
  523. package/template/AGENTS.md +4 -3
  524. package/template/CONTEXT.md +2 -2
  525. package/template/README.md +2 -2
  526. package/template/scripts/advance-maintenance-iteration +51 -0
  527. package/template/scripts/lib/approval-checkpoint-discovery.mjs +26 -0
  528. package/template/scripts/lib/approval-consumption.mjs +35 -0
  529. package/template/scripts/lib/approval-current.mjs +111 -0
  530. package/template/scripts/lib/approval-record-io.mjs +56 -0
  531. package/template/scripts/lib/approval-record.mjs +79 -184
  532. package/template/scripts/lib/approved-execution-context.mjs +8 -6
  533. package/template/scripts/lib/asset-transactions.mjs +5 -1
  534. package/template/scripts/lib/backend-delivery.mjs +1 -1
  535. package/template/scripts/lib/backend-review.mjs +2 -1
  536. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +3 -2
  537. package/template/scripts/lib/business-ticket-lifecycle.mjs +2 -1
  538. package/template/scripts/lib/checkpoint-commit.mjs +50 -0
  539. package/template/scripts/lib/command-runner.mjs +44 -9
  540. package/template/scripts/lib/content-identity.mjs +273 -0
  541. package/template/scripts/lib/delivery-preflight.mjs +2 -1
  542. package/template/scripts/lib/digital-human-roles.mjs +12 -5
  543. package/template/scripts/lib/drift-report.mjs +110 -0
  544. package/template/scripts/lib/existing-backend-architecture.mjs +4 -1
  545. package/template/scripts/lib/lifecycle-context-query.mjs +172 -11
  546. package/template/scripts/lib/lifecycle-controls.mjs +9 -19
  547. package/template/scripts/lib/lifecycle-presentation.mjs +5 -0
  548. package/template/scripts/lib/lifecycle-status.mjs +63 -12
  549. package/template/scripts/lib/lifecycle-transition.mjs +2 -1
  550. package/template/scripts/lib/maintenance-candidate.mjs +24 -30
  551. package/template/scripts/lib/maintenance-research.mjs +52 -8
  552. package/template/scripts/lib/maintenance-storage.mjs +81 -0
  553. package/template/scripts/lib/plan-spec-entry.mjs +2 -1
  554. package/template/scripts/lib/project-governance.mjs +2 -1
  555. package/template/scripts/lib/read-only-intake.mjs +44 -9
  556. package/template/scripts/lib/review-capabilities.mjs +234 -0
  557. package/template/scripts/lib/review-package.mjs +100 -0
  558. package/template/scripts/lib/runtime-store.mjs +650 -0
  559. package/template/scripts/lib/skill-registry.mjs +4 -4
  560. package/template/scripts/lib/strategic-handoff.mjs +22 -9
  561. package/template/scripts/lib/task-package.mjs +47 -16
  562. package/template/scripts/lifecycle-status +26 -1
  563. package/template/scripts/maintenance-path +11 -0
  564. package/template/scripts/prepare-review-package +8 -0
  565. package/template/scripts/project-ci +13 -3
  566. package/template/scripts/query-lifecycle-context +8 -1
  567. package/template/scripts/run-read-only-intake +2 -2
  568. package/template/scripts/runtime-store +40 -0
  569. package/template/scripts/verify-approval-record +21 -13
  570. package/template/scripts/verify-lifecycle-checkpoint +7 -3
  571. package/template/scripts/verify-project-instance +21 -1
  572. package/template/skills-lock.json +64 -63
  573. package/template.snapshot.json +4 -4
  574. package/vendor/cli-core/cli.mjs +2 -0
  575. package/vendor/cli-core/command-runner.mjs +44 -9
  576. package/vendor/cli-core/package.json +1 -1
  577. package/vendor/cli-core/runtime-store.mjs +650 -0
  578. package/vendor/cli-core/scaffold.mjs +4 -2
@@ -1,280 +1,25 @@
1
- # yss-ui Quick Recipes
1
+ # YSS UI 场景与示例入口
2
2
 
3
- ## 使用说明
3
+ 新建页面时,按当前任务选择下面的示例;重构时依次核对列与插槽、请求与分页、路由和交付证据。示例用于说明组件组合,不决定业务字段、接口包装或实现资格。先消费批准合同、目标 lockfile、类型和真实导出;本地快照与目标版本不同的部分需重新核验。
4
4
 
5
- - 当任务是“新建页面”时,优先选用最接近的模板再改字段与交互。
6
- - 当任务是“重构页面”时,按“列定义 -> 插槽 -> 请求 -> 分页 -> 路由”顺序迁移。
7
- - 模板默认基于 Vue 3 + TypeScript + `@yss-ui/components`。
8
- - 组件与 Demo 先对照 `../assets/reference-index.md` 和 `../assets/demos/*` 再编码。
5
+ ## 专项技能的可用性
9
6
 
10
- ---
7
+ 下表链接的公共路由、API 资料和 Demo 随公开包提供;`ytable-usage`、`ytree-usage`、`formily-*`、`file-export-download`、`theme-token-usage` 专项不随该包附带。任务命中时仍加载消费工程已安装的对应专项,由原专项持有唯一规则;部分组件资料、Demo 或 Blob 响应说明不能替代完整专项与批准合同。
11
8
 
12
- ## 组件样例速查(docs 对照)
9
+ 必要专项未安装或不可读时,停止受影响的实现,记录缺失 Skill 与来源;从消费工程已登记的技能来源恢复,核验版本与项目基线一致并重新读取后再继续。只读诊断可以使用随包资料确认组件事实,不据此跳过必需专项或批准输入。分步场景仍由 `formily-step-flow` 决定,不以快照中的 FormStep Demo 替代其方案。
13
10
 
14
- - YTable:`../assets/demos/table/*`
15
- - YEditTable:`../assets/demos/edit-table/*`
16
- - YssFormily:`../assets/demos/formily/*`
17
- - YTree:`../assets/demos/tree/*`
18
- - SplitPane:`../assets/demos/split-pane/*`
19
- - YMonaco:`../assets/demos/monaco/*`
20
- - YEcharts:`../assets/demos/echarts/*`
21
- - YFileImport:`../assets/demos/file-import/*`
22
- - YConditionBuilder:`../assets/demos/condition-builder/*`
23
- - YCron:`../assets/demos/cron/*`
24
- - YCard:`../assets/demos/card/*`
25
- - YButton:`../assets/demos/button/*`
11
+ ## 按场景读取
26
12
 
27
- ---
13
+ | 当前任务 | 按需读取 | 必须保留的场景差异 |
14
+ |---|---|---|
15
+ | 列表管理:选择、分页、状态和操作 | [YTable 组件 API](../assets/docs/components/table.md) 与 [列表请求及分页](../../yss-hook/references/list-pagination.md);选择和批量操作由已加载的 `ytable-usage` 核对 | `pageable`、`pagination.remote` 和 `@page-change` 单对象 `{ current, pageSize }`;危险操作确认与成功后选择态清理 |
16
+ | 待办审批:列表与详情抽屉 | [业务页面生成](../../yss-ui-business-page-generation/SKILL.md) 与 [模式及插槽路由](../../yss-formily/SKILL.md),按命中条件加载 `formily-mode-slot-detail` | 抽屉打开前准备记录,关闭时清理临时状态;同意、拒绝等行为消费冻结规则与当前权限 |
17
+ | 分步创建与步骤中的节点列表 | [分步场景路由](../../yss-formily/SKILL.md)加载 `formily-step-flow`;节点列表再按已安装的 YTable 专项 | 当前步骤校验成功才前进,前序数据跨步骤保留,编辑弹层保存后回填源数据,确认步骤不另造提交数据源 |
18
+ | 列表请求与 Mock 接入 | [API 集成](../../yss-api-integration/SKILL.md) 与 [列表分页 Hook](../../yss-hook/references/list-pagination.md) | 请求、响应与 Mock 均遵循目标冻结 DTO,分页字段在 Hook 边界映射;不固定 `page`、`data.list` 或响应包装 |
19
+ | 左树右表 | [YTree 组件 API](../assets/docs/components/tree.md) 与 [页面组合](../../yss-ui-business-page-generation/references/page-composition-example.md);树与删除确认由已加载的 `ytree-usage` 核对 | `YSplitPane + YCard + YTree + YTable`,树选中后右表回第一页,高度偏移只扣实际启用区域 |
20
+ | 同一表单新增、编辑与查看 | [三态与插槽路由](../../yss-formily/SKILL.md)加载 `formily-mode-slot-detail` | 新代码使用 `YFormily`;历史 `YssFormily` 只在真实兼容导出已确认时维护;详情路径与编辑 Slot 分开 |
21
+ | 文件导入两步流 | [YFileImport 边界](specialized-components.md#yfileimport) 与 [导入 Demo](../assets/demos/file-import/basic.vue) | 文件选择 / 结果确认、`nextStep` / `finalImport` / `exportErrorData`;下载失败数据时先加载已安装的 `file-export-download`,响应边界另核对 [API 集成](../../yss-api-integration/SKILL.md)的 Blob 契约 |
28
22
 
29
- ## 模板 1:列表管理页(带勾选、分页、状态、操作)
23
+ 完整组件与 Demo 入口见 [场景索引](../assets/scenario-index.md)和[文档索引](../assets/reference-index.md)。仅加载当前使用的表格、编辑表格、Formily、树、分栏、Monaco、图表、文件导入、条件构建、Cron、Card 或 Button;不预读所有示例。
30
24
 
31
- ```ts
32
- import { reactive, ref } from "vue";
33
- import { YTable, type YTableColumn } from "@yss-ui/components";
34
-
35
- const loading = ref(false);
36
- const tableData = ref<any[]>([]);
37
- const pagination = reactive({
38
- current: 1,
39
- pageSize: 10,
40
- total: 0,
41
- showSizeChanger: true,
42
- showQuickJumper: true,
43
- });
44
-
45
- const columns = reactive<YTableColumn[]>([
46
- { type: "checkbox", width: 50, align: "center" },
47
- { type: "seq", title: "序号", width: 60, align: "center" },
48
- { field: "name", title: "名称", minWidth: 180 },
49
- { field: "owner", title: "负责人", width: 120 },
50
- { field: "updatedAt", title: "更新时间", width: 180 },
51
- { field: "status", title: "状态", width: 110 },
52
- { field: "action", title: "操作", width: 180, fixed: "right" as const },
53
- ]);
54
- ```
55
-
56
- ```vue
57
- <YTable
58
- :columns="columns"
59
- :row-config="{ keyField: 'id' }"
60
- :data="tableData"
61
- :loading="loading"
62
- :pagination="pagination"
63
- :checkbox-config="{ highlight: true }"
64
- @change="handlePageChange"
65
- >
66
- <template #status="{ row }">
67
- <span :class="['status-dot', row.status === 'ENABLED' ? 'enabled' : 'disabled']"></span>
68
- {{ row.status === "ENABLED" ? "启用" : "停用" }}
69
- </template>
70
- <template #action="{ row }">
71
- <a @click="handleEdit(row)">编辑</a>
72
- <a @click="handleDetail(row)">详情</a>
73
- <a style="color: #ff4d4f" @click="handleDelete(row)">删除</a>
74
- </template>
75
- </YTable>
76
- ```
77
-
78
- ---
79
-
80
- ## 模板 2:待办审批页(列表 + 详情抽屉)
81
-
82
- ```ts
83
- import { ref, reactive } from "vue";
84
- import { YTable, type YTableColumn } from "@yss-ui/components";
85
-
86
- const detailVisible = ref(false);
87
- const activeRecord = ref<any>(null);
88
-
89
- const columns = reactive<YTableColumn[]>([
90
- { type: "checkbox", width: 50, align: "center" },
91
- { type: "seq", title: "序号", width: 60, align: "center" },
92
- { field: "approvalName", title: "审批名称", width: 220 },
93
- { field: "submitter", title: "提交人", width: 120 },
94
- { field: "submittedAt", title: "提交时间", width: 180 },
95
- { field: "status", title: "状态", width: 110 },
96
- { field: "action", title: "操作", width: 220, fixed: "right" as const },
97
- ]);
98
- ```
99
-
100
- ```vue
101
- <YTable :columns="columns" :row-config="{ keyField: 'id' }" :data="tableData">
102
- <template #approvalName="{ row }">
103
- <a @click="openDetail(row)">{{ row.approvalName }}</a>
104
- </template>
105
- <template #action="{ row }">
106
- <a @click="handleApprove(row)">同意</a>
107
- <a style="color: #ff4d4f" @click="handleReject(row)">拒绝</a>
108
- <a @click="openDetail(row)">详情</a>
109
- </template>
110
- </YTable>
111
- ```
112
-
113
- ---
114
-
115
- ## 模板 3:步骤创建页(步骤二节点表格)
116
-
117
- ```ts
118
- import { reactive, ref } from "vue";
119
- import { YTable, type YTableColumn } from "@yss-ui/components";
120
-
121
- const nodeList = ref<any[]>([]);
122
-
123
- const nodeColumns = reactive<YTableColumn[]>([
124
- { type: "seq", title: "序号", width: 70, align: "center" },
125
- { field: "nodeName", title: "节点名称", minWidth: 160 },
126
- { field: "taskType", title: "任务策略类型", width: 140 },
127
- { field: "approverType", title: "审批人类型", width: 140 },
128
- { field: "approvers", title: "审批人", minWidth: 220 },
129
- { field: "action", title: "操作", width: 130, fixed: "right" as const },
130
- ]);
131
- ```
132
-
133
- ```vue
134
- <YTable
135
- :columns="nodeColumns"
136
- :row-config="{ keyField: 'id' }"
137
- :data="nodeList"
138
- :border="true"
139
- >
140
- <template #taskType="{ row }">
141
- {{ row.taskType === "AUTO" ? "自动通过审批" : "人工审批" }}
142
- </template>
143
- <template #approvers="{ row }">
144
- {{ row.approvers.join("、") || "-" }}
145
- </template>
146
- <template #action="{ row }">
147
- <a @click="openEditDrawer(row)">编辑</a>
148
- <a style="color: #ff4d4f" @click="removeNode(row.id)">删除</a>
149
- </template>
150
- </YTable>
151
- ```
152
-
153
- ---
154
-
155
- ## 模板 4:列表请求 + API 接入
156
-
157
- ```ts
158
- const fetchData = async () => {
159
- loading.value = true;
160
- try {
161
- const res = await getListApi({
162
- page: pagination.current,
163
- pageSize: pagination.pageSize,
164
- keyword: query.keyword || undefined,
165
- status: query.status || undefined,
166
- });
167
- tableData.value = res?.data?.list || [];
168
- pagination.total = res?.data?.total || 0;
169
- } finally {
170
- loading.value = false;
171
- }
172
- };
173
-
174
- const handleSearch = () => {
175
- pagination.current = 1;
176
- fetchData();
177
- };
178
-
179
- const handlePageChange = (page: number, size: number) => {
180
- pagination.current = page;
181
- pagination.pageSize = size;
182
- fetchData();
183
- };
184
- ```
185
-
186
- Mock 返回建议结构:
187
-
188
- ```json
189
- {
190
- "code": 200,
191
- "message": "success",
192
- "data": {
193
- "list": [],
194
- "total": 0,
195
- "page": 1,
196
- "pageSize": 10
197
- }
198
- }
199
- ```
200
-
201
- ---
202
-
203
- ## 模板 5:树表页面(YTree + useTreeHeight + SplitPane)
204
-
205
- ```ts
206
- import { ref } from "vue";
207
- import { useTreeHeight, YTREE_SEARCH_HEIGHT } from "@yss-ui/hooks";
208
-
209
- const treeWrapRef = ref<HTMLDivElement>();
210
- const selectedKeys = ref<(string | number)[]>([]);
211
- const searchValue = ref("");
212
- const { treeHeight } = useTreeHeight(treeWrapRef, {
213
- extraOffset: YTREE_SEARCH_HEIGHT,
214
- });
215
- ```
216
-
217
- ```vue
218
- <div class="layout">
219
- <YSplitPane :initial-width="300" :min-width="240" :max-width="480">
220
- <template #left>
221
- <div ref="treeWrapRef" class="tree-wrap">
222
- <YTree
223
- v-model:searchValue="searchValue"
224
- v-model:selectedKeys="selectedKeys"
225
- :height="treeHeight"
226
- :tree-data="treeData"
227
- filterable
228
- @select="handleTreeSelect"
229
- />
230
- </div>
231
- </template>
232
- <template #right>
233
- <YTable :columns="columns" :data="tableData" :row-config="{ keyField: 'id' }" />
234
- </template>
235
- </YSplitPane>
236
- </div>
237
- ```
238
-
239
- ---
240
-
241
- ## 模板 6:YssFormily 模式切换(新增/编辑/查看)
242
-
243
- ```ts
244
- const mode = ref<0 | 1 | 2>(0);
245
- const formData = ref<Record<string, any>>({});
246
- ```
247
-
248
- ```vue
249
- <YssFormily v-model="formData" :schema="schema" :mode="mode">
250
- <template #detail-owner="{ value }">
251
- <a-tag color="blue">{{ value || "-" }}</a-tag>
252
- </template>
253
- </YssFormily>
254
- ```
255
-
256
- 规则要点:
257
-
258
- - 查看态插槽固定命名:`detail-<字段路径>`,路径中的 `.` 改为 `-`
259
- - 输入类事件优先 `onUpdate:value`,跨字段逻辑优先 `x-reactions/effects`
260
-
261
- ---
262
-
263
- ## 模板 7:文件导入两步流(YFileImport)
264
-
265
- ```vue
266
- <YFileImport
267
- v-model="visible"
268
- :file-type-list="['xls', 'xlsx', 'csv']"
269
- :import-result="importResult"
270
- @nextStep="handleNextStep"
271
- @finalImport="handleFinalImport"
272
- @exportErrorData="handleExportErrorData"
273
- />
274
- ```
275
-
276
- 要点:
277
-
278
- - 走“选择文件 -> 结果确认”两步交互
279
- - 失败数据通过 `exportErrorData` 下载回溯
280
- - 与表单联动时可复用 `formily.vue` 示例模式
25
+ 样例中的视觉表达消费 [设计系统](../../yss-design-system/SKILL.md)和[主题、Locale 与浮层基线](theme-locale-overlay.md);涉及 Token 实现与换肤时仍加载已安装的 `theme-token-usage`,由原专项决定规则。错误提示服从项目 mutator,操作失败不能继续执行成功动作。页面验收保留当前 Slice 的 `frontend_implementation_plan` / `frontend_implementation_verification`,以及所需截图、交互、console warning 和实际 `pnpm` 退出码。
@@ -13,7 +13,7 @@
13
13
  - 根值是 `ConditionGroup`;叶子保持字段、操作符和值的标准模型。接口 DSL 的序列化、恢复与错误兜底放入 Hook。
14
14
  - 字段切换需要动态操作符或候选值时使用组件公开的加载入口;提交前执行公开校验。
15
15
  - 默认严格校验,只有明确允许未完成草稿时才关闭;展示态使用 `disabled`,不使用已废弃的 `readonly`。
16
- - 组件资料见 `../assets/component-docs/condition-builder-*`,实现前仍须核对目标项目安装版本。
16
+ - 组件资料见 [条件构建器快照](../assets/docs/components/conditionBuilder.md),实现前仍须核对目标项目安装版本。
17
17
 
18
18
  ## YMonthCalendar
19
19
 
@@ -27,7 +27,7 @@
27
27
  - 文件选择、预检、结果回显和最终确认组成两步流程;业务上传与校验由 `nextStep` / `finalImport` 接入。
28
28
  - 默认 `beforeUpload=false`,不能期待 `action` 自动上传;直传只通过 `upload-props.customRequest`。
29
29
  - `importResult` 展示结果,失败数据通过 `exportErrorData` 下载。弹窗配置与上传器配置保持分离。
30
- - 组件资料见 `../assets/component-docs/file-import-*`。
30
+ - 组件资料见 [文件导入快照](../assets/docs/components/fileImport.md)。
31
31
 
32
32
  ## YMonaco / YMonacoDiff
33
33
 
@@ -46,7 +46,7 @@
46
46
  - 初始化后只通过公开 Facade API 修改工作簿,并通过公开保存入口取值;不得直接修改工作簿原始数据对象。
47
47
  - 卸载时释放实例,接入前确认 Univer、React、RxJS 等可选依赖及包体影响。
48
48
 
49
- ## YssEcharts
49
+ ## YEcharts
50
50
 
51
51
  - option、更新策略和容器尺寸以目标版本手册与项目已验证实践为准。
52
52
  - 不在页面层重复原生 ECharts 初始化、销毁或 ResizeObserver 管理。
@@ -87,7 +87,7 @@ description: "生成或改造完整 YSS UI CRUD、列表、表单、详情或左
87
87
  ## 交付检查清单
88
88
 
89
89
  - [ ] 已优先复用 `@yss-ui/components`、`@yss-ui/hooks`、`@yss-ui/utils`。
90
- - [ ] `index.vue` 不超过 150 行,业务逻辑、常量、列配置和样式已按职责拆分。
90
+ - [ ] `index.vue` 负责 Hook 组合、视图编排和事件转发;业务逻辑、常量、列配置和样式已按职责拆分。
91
91
  - [ ] 未出现未导出的 Y 前缀组件。
92
92
  - [ ] 未导入 `@formily/antd-v3`、`@formily/antd` 或业务层 `@formily/antdv` UI 组件。
93
93
  - [ ] `YTable` 分页字段为 `current/pageSize/total`。
@@ -5,15 +5,13 @@ description: "审查或迁移 YSS Spring Boot 2 到 3 的依赖、Jakarta 与 Sp
5
5
 
6
6
  # yss-up-springboot3
7
7
 
8
- Use this skill for catalog-driven YSS backend upgrade analysis and approved migrations from an exact Spring Boot 2 platform to an exact Spring Boot 3 platform.
8
+ 本 Skill 从精确 Spring Boot 2 平台分析并执行已批准的 Spring Boot 3 迁移,不替代具体组件 Skill。源平台、目标平台和组件能力只从 `.template-spec/engineering/backend-platforms.json`、批准的 `platform_configuration`、工程 Manifest、effective POM 与实际依赖树解析,不按版本记忆或源码可编译状态推断兼容。
9
9
 
10
- 中文说明:这个技能是平台迁移编排入口,不替代具体组件 Skill。源平台、目标平台和组件能力只从 `.template-spec/engineering/backend-platforms.json`、批准的 `platform_configuration`、工程 Manifest、effective POM 与实际依赖树解析,不按版本记忆或源码可编译状态推断兼容。
10
+ ## 何时使用
11
11
 
12
- ## When To Use
13
-
14
- - The user asks to assess or migrate a YSS backend from Spring Boot 2 to Spring Boot 3.
15
- - The task mentions `javax.*` to `jakarta.*`, Spring Security migration, validation changes, Servlet API changes, Gateway/OpenFeign compatibility, or dependency BOM changes.
16
- - The task involves checking whether a YSS component can run on Spring Boot 3.
12
+ - 评估或迁移 YSS 后端的 Spring Boot 2 → 3 平台。
13
+ - 平台迁移涉及 `javax.*` → `jakarta.*`、Spring Security、Validation、Servlet、Gateway/OpenFeign 或依赖 BOM。
14
+ - 核验 YSS 组件在指定 Spring Boot 3 平台的兼容状态。
17
15
 
18
16
  ## 准入与阻断
19
17
 
@@ -22,7 +20,7 @@ Use this skill for catalog-driven YSS backend upgrade analysis and approved migr
22
20
  - 既有工程的源码编译、单元测试或 `javax`→`jakarta` 替换不等于平台认证。没有目标架构的真实构件、启动和组件 seam 证据时不得宣称迁移完成。
23
21
  - 平台迁移不得夹带业务重构、架构族转换或组件替换。发现这些影响时返回 `new_impacts`,交实现合同编译器重新路由。
24
22
 
25
- ## Workflow
23
+ ## 迁移流程
26
24
 
27
25
  1. 从工程登记、Manifest、父/BOM、effective POM 和依赖树冻结源 `platform_configuration`、架构 Profile、全部 YSS GAV、组件绑定及基线验证命令;缺失或相互冲突时停止。
28
26
  2. 从平台目录选择一个精确 Spring Boot 3 目标 profile,记录 compatibility id/digest;不得使用 `3.x`、`latest`、范围版本或自行拼装父/BOM。
@@ -33,22 +31,22 @@ Use this skill for catalog-driven YSS backend upgrade analysis and approved migr
33
31
  7. 使用工程根 `./mvnw` 记录 effective POM、依赖树、`validate`、`test`、`package`、随机端口启动和真实组件 seam;DDD 与 MVC 证据不可互相代替。
34
32
  8. 重新解析全部组件绑定并比较摘要;通过只表示该工程的批准迁移结果,不自动把共享平台或其他工程标记为 verified。
35
33
 
36
- ## Common Checks
34
+ ## 适用检查
37
35
 
38
- - Maven BOM and plugin versions are aligned before changing code.
39
- - `javax.*` imports are migrated only where the target framework expects Jakarta APIs.
40
- - Spring Security configuration no longer depends on removed `WebSecurityConfigurerAdapter` patterns.
41
- - Validation annotations and exception handlers still map to the expected DTO/Result contract.
42
- - MyBatis interceptors, auto configurations, and starter metadata are compatible with Spring Boot 3 auto-configuration loading.
43
- - Tests or sample modules are updated together with framework code.
36
+ - 改代码前核对 Maven BOM 与插件版本。
37
+ - 仅目标框架要求 Jakarta 的 API 迁移 `javax.*` import。
38
+ - Spring Security 配置不依赖已移除的 `WebSecurityConfigurerAdapter` 模式。
39
+ - Validation 注解与异常处理仍映射到冻结 DTO/Result 合同。
40
+ - MyBatis 拦截器、自动配置与 starter metadata 符合目标 Boot 3 装载机制。
41
+ - 受影响测试或样例模块与框架代码同步。
44
42
  - Jackson 2 的 Result/PageResult、日期、枚举、nullability 和错误响应 wire fixture 与冻结 OpenAPI 一致。
45
43
  - `spring.factories` 与 `AutoConfiguration.imports` 的目标机制以真实 starter 为准,不能仅移动文件名后宣称自动配置生效。
46
44
  - 输出包含源/目标 profile、compatibility digest、组件逐项结论、阻塞项、实际命令与回滚点。
47
45
 
48
- ## Do Not
46
+ ## 修改边界
49
47
 
50
- - Do not blindly rewrite all `javax.*` imports without checking whether the dependency still uses the old namespace.
51
- - Do not mix unrelated business refactors into migration patches.
52
- - Do not assume component compatibility from memory; inspect source and specialist skill indexes.
53
- - Do not bypass a blocked component by excluding its starter, copying component code into the service, or substituting an unapproved third-party dependency.
54
- - Do not execute a Boot 4 migration under this Skill or reuse Boot 3 evidence for Boot 4.
48
+ - 先核验依赖实际命名空间,不批量替换全部 `javax.*`。
49
+ - 迁移不夹带无关业务重构。
50
+ - 组件兼容结论使用源码、专项索引和平台证据,不使用版本记忆。
51
+ - 不能通过排除 starter、复制组件源码到服务或换未批准第三方依赖绕过组件阻断。
52
+ - Boot 4 另行路由,不复用 Boot 3 证据执行其迁移。
@@ -5,52 +5,46 @@ description: "接入或排查 YSS CurrentUserProvider、已认证 SecurityContex
5
5
 
6
6
  # yss-userinfo
7
7
 
8
- Use this skill for YSS 用户信息组件. Keep implementation grounded in the local project and resolvable YSS backend component source.
8
+ 处理已认证当前用户、受信网关适配、自定义 `CurrentUserProvider` 和后台空上下文;身份来源须符合当前平台契约。
9
9
 
10
- 中文说明:本技能用于 YSS 用户信息组件。执行时优先读取源码索引,避免凭记忆猜类名、配置项或接入方式。
10
+ ## 平台与源码门禁
11
11
 
12
- ## Source Index First
12
+ 接入、修改、代码生成或提供精确类名/配置前,必须读取并执行 [共享平台与源码门禁](../yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md),以 `--skill yss-userinfo` 校验批准的平台线及匹配源码根。缺失、错配或漂移返回 `blocked`;不跨代回退,不在业务实现中升级、降级或替换组件。只读分诊可继续,但须标注未完成源码核验,不能据此宣称跨 Boot/JDK 兼容。
13
13
 
14
- - Backend source location is environment-specific; resolve it with `yss-skill-source-index-refresh/references/source-location.md`.
15
- - Generated index: `references/source-index.md`
16
- - Component path hints: `yss-microservice-components/yss-component-userinfo-starter`
14
+ ## 源码定位
17
15
 
18
- Read `references/source-index.md` as a path-hint index whenever the task depends on exact modules, annotations, auto configuration, properties, controllers, clients, repositories, DTOs, handlers, or troubleshooting.
16
+ 按 [源码定位策略](../yss-skill-source-index-refresh/references/source-location.md) 确认真实位置,再从 [平台索引](references/source-index.md) 定位当前任务需要的源码。`yss-microservice-components/yss-component-userinfo-starter` 仅是模块路径提示。
19
17
 
20
- ## Workflow
18
+ ## 工作流
21
19
 
22
20
  1. 先按已批准平台线读取对应索引;以下当前行为针对 `boot3-java17`,Boot 2 旧工程只按其独立索引做只读分诊和迁移。
23
- 2. Identify whether the task is authenticated current-user lookup, an explicitly trusted gateway adapter, a custom `CurrentUserProvider`, or non-REST/background fallback behavior.
24
- 3. Read `references/source-index.md`, then inspect `CurrentUserProvider`, `SecurityContextCurrentUserProvider`, `TrustedGatewayHeaderCurrentUserProvider`, `AuthUserInfoUtil`, `DmUser`, and `DmUserDetails`.
21
+ 2. 区分已认证当前用户、显式受信网关、自定义 `CurrentUserProvider` 与非 REST/后台 fallback。
22
+ 3. 按所选任务核验 `CurrentUserProvider`、对应 provider、兼容 facade `AuthUserInfoUtil` 及 `DmUser` / `DmUserDetails`,不无条件读取所有实现。
25
23
  4. 默认使用 `SecurityContextCurrentUserProvider`,只消费 Spring Security 已认证且非 anonymous 的 `Authentication`。JWT 的 signature、issuer、audience、expiry 与算法校验必须在资源服务器认证链完成。
26
24
  5. `AuthUserInfoUtil` 是由 `CurrentUserProvider` 驱动的兼容 facade;业务代码可继续调用 `userInfo()`、`userName()`、`userCode()` 或 `currentUserJson()`,但不得自行解析 Header、JWT payload 或 Redis 身份缓存。
27
25
  6. 只有显式启用 `yss.userinfo.trusted-gateway.enabled` 且配置非空 `trusted-proxies` 时,才启用 `TrustedGatewayHeaderCurrentUserProvider`;它只接受 remote address 在 allow-list 中的请求,并且 SecurityContext 结果优先。
28
- 7. For scheduled/background tasks, an empty provider result causes the compatibility facade to return the distinct `system` fallback; do not represent it as an authenticated system principal.
29
-
30
- ## Source-Backed Notes
26
+ 7. 定时/后台任务的 provider 为空时,兼容 facade 返回独立的 `system` fallback;它不是已认证 system principal。
31
27
 
32
- - `SecurityContextCurrentUserProvider` supports a `UserInfo` principal and an authenticated `OAuth2AuthenticatedPrincipal`; claim mapping happens only after authentication.
33
- - Trusted gateway header names are `X-Username`, `X-Usercode`, and `X-LoginDisplayName`; the adapter requires a trusted proxy allow-list and a nonblank username.
34
- - `UserInfoAutoConfiguration` installs SecurityContext as the default and composes the optional gateway provider behind it. A project-supplied `CurrentUserProvider` remains the explicit extension seam.
35
- - The Boot 3 component does not parse an unverified Bearer payload and does not use Redis as an authentication fallback. Cache behavior is outside this identity provider contract.
28
+ ## 平台行为核验
36
29
 
37
- ## Checklist
30
+ - `SecurityContextCurrentUserProvider` 支持 `UserInfo` principal 与已认证的 `OAuth2AuthenticatedPrincipal`;claim 映射在认证后进行。
31
+ - 受信网关 Header 为 `X-Username`、`X-Usercode` 和 `X-LoginDisplayName`;适配器要求可信代理 allow-list 与非空 username。
32
+ - `UserInfoAutoConfiguration` 默认使用 SecurityContext,再组合可选网关 provider;工程自定义 `CurrentUserProvider` 是显式扩展 seam。
33
+ - Boot 3 不解析未验证 Bearer payload,不以 Redis 作为认证 fallback;缓存行为不属于此身份 provider 合同。
38
34
 
39
- - Required dependency or starter module is present.
40
- - Request context exists before relying on servlet headers.
41
- - Spring Security has authenticated the request before the provider reads the principal.
42
- - When trusted gateway mode is enabled, at least one proxy address is allow-listed and untrusted remote addresses are rejected.
43
- - Business code does not duplicate JWT or header parsing logic.
44
- - SecurityContext/gateway/background precedence and empty-result behavior are covered by tests; `system` fallback is distinguished from an authenticated system user.
45
- - User info propagation is tested for REST calls and async/background execution separately.
35
+ ## 验收
46
36
 
47
- ## Do Not
37
+ - 核验所需依赖或 starter 已进入实际工程。
38
+ - 使用 Servlet Header 前核验 request context 存在。
39
+ - Provider 读取 principal 前,Spring Security 已完成请求认证。
40
+ - 受信网关启用时,至少一个代理地址进入 allow-list,且拒绝不可信 remote address。
41
+ - 业务代码不重复 JWT 或 Header 解析。
42
+ - 测试覆盖 SecurityContext/网关/后台的优先级与空结果,区分 `system` fallback 和已认证 system 用户。
43
+ - REST 与异步/后台执行分别验证用户信息传播。
48
44
 
49
- - Do not invent class names or configuration keys without checking the source index.
50
- - Do not replace component extension points with business-local framework code.
51
- - Do not treat raw `Authorization` payloads or gateway headers as authenticated identity.
52
- - Do not broaden the task into unrelated YSS components unless the user asks.
53
-
54
- ## 平台与源码门禁
45
+ ## 修改边界
55
46
 
56
- 接入、修改、代码生成或给出精确类名/配置前,读取 [后端组件平台与源码门禁](../yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md),从批准的 `platform_configuration.component_platform_line` 选择 `source-index.boot2-java8.md` 或 `source-index.boot3-java17.md`,并以 `--skill yss-userinfo --platform-line <line> --source-root <matching-root>` 运行统一 freshness 校验。平台线与源码根不匹配、组件 tree 不一致、组件子树 dirty、索引缺少平台信号,或 Manifest / 组件 GAV 缺少 verified 兼容证据时返回 `blocked`;不得回退另一代索引,也不在业务实现中升级、降级或替换 YSS 组件。既有工程只读分诊可继续,但不得据此宣称跨 Boot/JDK 兼容。
47
+ - 类名和配置 key 先核验当前索引与源码,不凭记忆补造。
48
+ - 使用组件已有扩展 seam,不以业务本地框架代码替换。
49
+ - 原始 `Authorization` payload 与网关 Header 不能直接作为已认证身份。
50
+ - 保持当前组件任务范围;扩展到其他组件须有用户要求或重新路由依据。
@@ -5,52 +5,46 @@ description: "接入或排查 YSS Bean Validation、校验消息与校验错误
5
5
 
6
6
  # yss-validation
7
7
 
8
- Use this skill for YSS 校验组件. Keep implementation grounded in the local project and resolvable YSS backend component source.
8
+ 处理 YSS Bean Validation 注解、消息资源和校验失败映射;先区分 DTO 校验与当前不可用的历史 EL/parser 请求。
9
9
 
10
- 中文说明:本技能用于 YSS 校验组件。执行时优先读取源码索引,避免凭记忆猜类名、配置项或接入方式。
10
+ ## 平台与源码门禁
11
11
 
12
- ## Source Index First
12
+ 接入、修改、代码生成或提供精确类名/配置前,必须读取并执行 [共享平台与源码门禁](../yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md),以 `--skill yss-validation` 校验批准的平台线及匹配源码根。缺失、错配或漂移返回 `blocked`;不跨代回退,不在业务实现中升级、降级或替换组件。只读分诊可继续,但须标注未完成源码核验,不能据此宣称跨 Boot/JDK 兼容。
13
13
 
14
- - Backend source location is environment-specific; resolve it with `yss-skill-source-index-refresh/references/source-location.md`.
15
- - Generated index: `references/source-index.md`
16
- - Component path hints: `yss-microservice-components/yss-component-validation-jsr303`
14
+ ## 源码定位
17
15
 
18
- Read `references/source-index.md` as a path-hint index whenever the task depends on exact modules, annotations, auto configuration, properties, controllers, clients, repositories, DTOs, handlers, or troubleshooting.
16
+ 按 [源码定位策略](../yss-skill-source-index-refresh/references/source-location.md) 确认真实位置,再从 [平台索引](references/source-index.md) 定位当前任务需要的源码。`yss-microservice-components/yss-component-validation-jsr303` 仅是模块路径提示。
19
17
 
20
- ## Workflow
18
+ ## 工作流
21
19
 
22
- 1. Identify whether the task is JSR-303 annotation validation or an expression/EL parser request.
23
- 2. Select the approved platform index and inspect the actual POM, validation message resources, consuming Controller annotations and matching exception Advice. The current module README is empty; do not treat reading it as prerequisite evidence.
20
+ 1. 区分 JSR-303 注解校验与表达式/EL parser 请求。
21
+ 2. 从批准平台索引核验实际 POM、校验消息资源、消费 Controller 注解及匹配的异常 Advice。当前模块 README 为空,不作为前置证据。
24
22
  3. 当前组件仓不存在历史 `yss-component-validation-engine-parent`;表达式、LiteFlow EL 或 `ExpressParserFactory` 请求返回 `blocked`,先确认真实组件来源和生命周期影响,不以旧索引或通用知识生成实现。
25
- 4. Keep validation failures mapped to the service/API error contract used by the local project.
23
+ 4. 校验失败映射保持当前工程的 service/API 错误合同。
26
24
  5. 消费工程基线选择 javax/jakarta,不自行升级 Java/Boot。MVC 输入校验放在 server/client,业务不变量由 service/core 验证;不生成 DDD Domain。HTTP 失败形态由 server 的合同测试验证。
27
25
 
28
- ## Capability Split
26
+ ## 能力边界
29
27
 
30
- - `validation-jsr303`: currently a dependency/message-resource aggregation module; it has no local Validator, Advice, or auto-configuration Java implementation.
28
+ - `validation-jsr303` 当前聚合依赖与消息资源,没有本地 Validator、Advice 或自动配置 Java 实现。
31
29
  - 历史 `validation-el-parser` / `ExpressParserFactory`:当前源码根不存在,状态为 `blocked`,不得作为可用 capability。
32
30
 
33
- ## Troubleshooting Notes
34
-
35
- - If an EL/parser capability is requested, stop and resolve its actual repository/module instead of assuming the removed path.
36
- - If validation annotations do not fire, check controller/service validation annotations and Spring validation starter wiring before editing parser code.
37
- - The component README is empty; use the POM, message resources, Controller annotations, and `GlobalExceptionAdvice` as current evidence.
38
- - If behavior differs between expression validation and DTO validation, route the problem to the correct submodule first.
31
+ ## 排障
39
32
 
40
- ## Checklist
33
+ - EL/parser 请求停止实施并确认真实仓库/模块,不假设已移除路径仍存在。
34
+ - 注解未生效时先检查 Controller/service 校验注解和 Spring validation starter 装配,不先改 parser 代码。
35
+ - 当前证据使用 POM、消息资源、Controller 注解和 `GlobalExceptionAdvice`。
36
+ - 表达式校验与 DTO 校验行为不一致时先确认对应模块,再路由问题。
41
37
 
42
- - Required dependency or starter module is present.
43
- - JSR-303 and unavailable expression-validation requests are not mixed in the same fix.
44
- - No class, parser or configuration is attributed to the absent historical module.
45
- - Validation errors preserve readable messages for Chinese business users.
46
- - Existing project conventions are reused before adding new wrappers.
38
+ ## 验收
47
39
 
48
- ## Do Not
40
+ - 核验所需依赖或 starter 已进入实际工程。
41
+ - JSR-303 与不可用的表达式校验不混入同一整改。
42
+ - 不将类、parser 或配置归给不存在的历史模块。
43
+ - 校验错误保留中文业务用户可理解的消息。
44
+ - 新增包装前先复用工程既有约定。
49
45
 
50
- - Do not invent class names or configuration keys without checking the source index.
51
- - Do not replace component extension points with business-local framework code.
52
- - Do not broaden the task into unrelated YSS components unless the user asks.
53
-
54
- ## 平台与源码门禁
46
+ ## 修改边界
55
47
 
56
- 接入、修改、代码生成或给出精确类名/配置前,读取 [后端组件平台与源码门禁](../yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md),从批准的 `platform_configuration.component_platform_line` 选择 `source-index.boot2-java8.md` 或 `source-index.boot3-java17.md`,并以 `--skill yss-validation --platform-line <line> --source-root <matching-root>` 运行统一 freshness 校验。平台线与源码根不匹配、组件 tree 不一致、组件子树 dirty、索引缺少平台信号,或 Manifest / 组件 GAV 缺少 verified 兼容证据时返回 `blocked`;不得回退另一代索引,也不在业务实现中升级、降级或替换 YSS 组件。既有工程只读分诊可继续,但不得据此宣称跨 Boot/JDK 兼容。
48
+ - 类名和配置 key 先核验当前索引与源码,不凭记忆补造。
49
+ - 使用组件已有扩展 seam,不以业务本地框架代码替换。
50
+ - 保持当前组件任务范围;扩展到其他组件须有用户要求或重新路由依据。