create-yss-spec 1.1.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. package/README.md +20 -2
  2. package/package.json +13 -2
  3. package/src/cli.js +367 -51
  4. package/template/.agents/skills/ask-matt/SKILL.md +8 -4
  5. package/template/.agents/skills/ask-matt/agents/openai.yaml +5 -0
  6. package/template/.agents/skills/code-review/SKILL.md +4 -4
  7. package/template/.agents/skills/code-review/agents/openai.yaml +3 -0
  8. package/template/.agents/skills/codebase-design/agents/openai.yaml +3 -0
  9. package/template/.agents/skills/competitive-intelligence/SKILL.md +5 -5
  10. package/template/.agents/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  11. package/template/.agents/skills/domain-modeling/agents/openai.yaml +3 -0
  12. package/template/.agents/skills/excalidraw-diagram-generator/SKILL.md +4 -4
  13. package/template/.agents/skills/grill-me/SKILL.md +7 -0
  14. package/template/.agents/skills/grill-me/agents/openai.yaml +5 -0
  15. package/template/.agents/skills/grill-with-docs/agents/openai.yaml +5 -0
  16. package/template/.agents/skills/grilling/SKILL.md +12 -0
  17. package/template/.agents/skills/grilling/agents/openai.yaml +3 -0
  18. package/template/.agents/skills/handoff/SKILL.md +16 -0
  19. package/template/.agents/skills/handoff/agents/openai.yaml +5 -0
  20. package/template/.agents/skills/high-fidelity-html-prototype/SKILL.md +6 -6
  21. package/template/.agents/skills/high-fidelity-html-prototype/agents/openai.yaml +5 -0
  22. package/template/.agents/skills/implement/SKILL.md +2 -2
  23. package/template/.agents/skills/implement/agents/openai.yaml +5 -0
  24. package/template/.agents/skills/improve-codebase-architecture/SKILL.md +6 -1
  25. package/template/.agents/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  26. package/template/.agents/skills/lombok/SKILL.md +345 -0
  27. package/template/.agents/skills/mapstruct/SKILL.md +328 -0
  28. package/template/.agents/skills/prototype/LOGIC.md +3 -3
  29. package/template/.agents/skills/prototype/SKILL.md +2 -6
  30. package/template/.agents/skills/prototype/UI.md +4 -4
  31. package/template/.agents/skills/prototype/agents/openai.yaml +3 -0
  32. package/template/.agents/skills/research/agents/openai.yaml +3 -0
  33. package/template/.agents/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  34. package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +21 -32
  35. package/template/.agents/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  36. package/template/.agents/skills/setup-matt-pocock-skills/issue-tracker-github.md +2 -2
  37. package/template/.agents/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +2 -2
  38. package/template/.agents/skills/setup-matt-pocock-skills/issue-tracker-local.md +6 -6
  39. package/template/.agents/skills/setup-matt-pocock-skills/triage-labels.md +2 -2
  40. package/template/.agents/skills/tdd/agents/openai.yaml +3 -0
  41. package/template/.agents/skills/teach/GLOSSARY-FORMAT.md +35 -0
  42. package/template/.agents/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  43. package/template/.agents/skills/teach/MISSION-FORMAT.md +31 -0
  44. package/template/.agents/skills/teach/RESOURCES-FORMAT.md +32 -0
  45. package/template/.agents/skills/teach/SKILL.md +140 -0
  46. package/template/.agents/skills/teach/agents/openai.yaml +5 -0
  47. package/template/.agents/skills/to-spec/SKILL.md +58 -0
  48. package/template/.agents/skills/to-spec/agents/openai.yaml +5 -0
  49. package/template/.agents/skills/to-tickets/SKILL.md +62 -0
  50. package/template/.agents/skills/to-tickets/agents/openai.yaml +5 -0
  51. package/template/.agents/skills/triage/SKILL.md +4 -4
  52. package/template/.agents/skills/triage/agents/openai.yaml +5 -0
  53. package/template/.agents/skills/wayfinder/SKILL.md +128 -0
  54. package/template/.agents/skills/wayfinder/agents/openai.yaml +5 -0
  55. package/template/.agents/skills/web-design-engineer/SKILL.md +2 -2
  56. package/template/.agents/skills/writing-great-skills/GLOSSARY.md +201 -0
  57. package/template/.agents/skills/writing-great-skills/SKILL.md +83 -0
  58. package/template/.agents/skills/writing-great-skills/agents/openai.yaml +5 -0
  59. package/template/.agents/skills/yss-cache/SKILL.md +44 -0
  60. package/template/.agents/skills/yss-cache/agents/openai.yaml +5 -0
  61. package/template/.agents/skills/yss-cache/references/annotations.md +39 -0
  62. package/template/.agents/skills/yss-cache/references/architecture.md +25 -0
  63. package/template/.agents/skills/yss-cache/references/configuration.md +34 -0
  64. package/template/.agents/skills/yss-cache/references/redis-fallback.md +23 -0
  65. package/template/.agents/skills/yss-cache/references/redis-topology.md +62 -0
  66. package/template/.agents/skills/yss-cache/references/serialization.md +17 -0
  67. package/template/.agents/skills/yss-cache/references/source-index.md +64 -0
  68. package/template/.agents/skills/yss-cache/references/troubleshooting.md +33 -0
  69. package/template/.agents/skills/yss-cache/references/verification.md +34 -0
  70. package/template/.agents/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
  71. package/template/.agents/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
  72. package/template/.agents/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
  73. package/template/.claude/skills/ask-matt/SKILL.md +8 -4
  74. package/template/.claude/skills/ask-matt/agents/openai.yaml +5 -0
  75. package/template/.claude/skills/code-review/SKILL.md +4 -4
  76. package/template/.claude/skills/code-review/agents/openai.yaml +3 -0
  77. package/template/.claude/skills/codebase-design/agents/openai.yaml +3 -0
  78. package/template/.claude/skills/competitive-intelligence/SKILL.md +5 -5
  79. package/template/.claude/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  80. package/template/.claude/skills/domain-modeling/agents/openai.yaml +3 -0
  81. package/template/.claude/skills/excalidraw-diagram-generator/SKILL.md +37 -16
  82. package/template/.claude/skills/excalidraw-diagram-generator/scripts/add-arrow.py +18 -18
  83. package/template/.claude/skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py +46 -47
  84. package/template/.claude/skills/grill-me/SKILL.md +7 -0
  85. package/template/.claude/skills/grill-me/agents/openai.yaml +5 -0
  86. package/template/.claude/skills/grill-with-docs/agents/openai.yaml +5 -0
  87. package/template/.claude/skills/grilling/SKILL.md +12 -0
  88. package/template/.claude/skills/grilling/agents/openai.yaml +3 -0
  89. package/template/.claude/skills/handoff/SKILL.md +16 -0
  90. package/template/.claude/skills/handoff/agents/openai.yaml +5 -0
  91. package/template/.claude/skills/implement/SKILL.md +2 -2
  92. package/template/.claude/skills/implement/agents/openai.yaml +5 -0
  93. package/template/.claude/skills/improve-codebase-architecture/SKILL.md +6 -1
  94. package/template/.claude/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  95. package/template/.claude/skills/prototype/LOGIC.md +3 -3
  96. package/template/.claude/skills/prototype/SKILL.md +2 -6
  97. package/template/.claude/skills/prototype/UI.md +4 -4
  98. package/template/.claude/skills/prototype/agents/openai.yaml +3 -0
  99. package/template/.claude/skills/research/agents/openai.yaml +3 -0
  100. package/template/.claude/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  101. package/template/.claude/skills/setup-matt-pocock-skills/SKILL.md +21 -32
  102. package/template/.claude/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  103. package/template/.claude/skills/setup-matt-pocock-skills/issue-tracker-github.md +2 -2
  104. package/template/.claude/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +2 -2
  105. package/template/.claude/skills/setup-matt-pocock-skills/issue-tracker-local.md +6 -6
  106. package/template/.claude/skills/setup-matt-pocock-skills/triage-labels.md +2 -2
  107. package/template/.claude/skills/tdd/agents/openai.yaml +3 -0
  108. package/template/.claude/skills/teach/GLOSSARY-FORMAT.md +35 -0
  109. package/template/.claude/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  110. package/template/.claude/skills/teach/MISSION-FORMAT.md +31 -0
  111. package/template/.claude/skills/teach/RESOURCES-FORMAT.md +32 -0
  112. package/template/.claude/skills/teach/SKILL.md +140 -0
  113. package/template/.claude/skills/teach/agents/openai.yaml +5 -0
  114. package/template/.claude/skills/to-spec/SKILL.md +58 -0
  115. package/template/.claude/skills/to-spec/agents/openai.yaml +5 -0
  116. package/template/.claude/skills/to-tickets/SKILL.md +62 -0
  117. package/template/.claude/skills/to-tickets/agents/openai.yaml +5 -0
  118. package/template/.claude/skills/triage/SKILL.md +4 -4
  119. package/template/.claude/skills/triage/agents/openai.yaml +5 -0
  120. package/template/.claude/skills/wayfinder/SKILL.md +128 -0
  121. package/template/.claude/skills/wayfinder/agents/openai.yaml +5 -0
  122. package/template/.claude/skills/web-design-engineer/SKILL.md +2 -2
  123. package/template/.claude/skills/writing-great-skills/GLOSSARY.md +201 -0
  124. package/template/.claude/skills/writing-great-skills/SKILL.md +83 -0
  125. package/template/.claude/skills/writing-great-skills/agents/openai.yaml +5 -0
  126. package/template/.claude/skills/yss-cache/SKILL.md +44 -0
  127. package/template/.claude/skills/yss-cache/agents/openai.yaml +5 -0
  128. package/template/.claude/skills/yss-cache/references/annotations.md +39 -0
  129. package/template/.claude/skills/yss-cache/references/architecture.md +25 -0
  130. package/template/.claude/skills/yss-cache/references/configuration.md +34 -0
  131. package/template/.claude/skills/yss-cache/references/redis-fallback.md +23 -0
  132. package/template/.claude/skills/yss-cache/references/redis-topology.md +62 -0
  133. package/template/.claude/skills/yss-cache/references/serialization.md +17 -0
  134. package/template/.claude/skills/yss-cache/references/source-index.md +64 -0
  135. package/template/.claude/skills/yss-cache/references/troubleshooting.md +33 -0
  136. package/template/.claude/skills/yss-cache/references/verification.md +34 -0
  137. package/template/.claude/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
  138. package/template/.claude/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
  139. package/template/.claude/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
  140. package/template/.codex/config.toml +3 -0
  141. package/template/.codex/skills/ask-matt/SKILL.md +8 -4
  142. package/template/.codex/skills/ask-matt/agents/openai.yaml +5 -0
  143. package/template/.codex/skills/code-review/SKILL.md +4 -4
  144. package/template/.codex/skills/code-review/agents/openai.yaml +3 -0
  145. package/template/.codex/skills/code-review-process/references/automation-and-standards.md +1 -1
  146. package/template/.codex/skills/codebase-design/agents/openai.yaml +3 -0
  147. package/template/.codex/skills/competitive-intelligence/SKILL.md +5 -5
  148. package/template/.codex/skills/cross-repo-implementation-routing/SKILL.md +2 -2
  149. package/template/.codex/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  150. package/template/.codex/skills/domain-modeling/agents/openai.yaml +3 -0
  151. package/template/.codex/skills/grill-with-docs/agents/openai.yaml +5 -0
  152. package/template/.codex/skills/handoff/SKILL.md +16 -0
  153. package/template/.codex/skills/handoff/agents/openai.yaml +5 -0
  154. package/template/.codex/skills/high-fidelity-html-prototype/SKILL.md +6 -6
  155. package/template/.codex/skills/implement/SKILL.md +2 -2
  156. package/template/.codex/skills/implement/agents/openai.yaml +5 -0
  157. package/template/.codex/skills/improve-codebase-architecture/SKILL.md +6 -1
  158. package/template/.codex/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  159. package/template/.codex/skills/product-design-prototype/SKILL.md +14 -10
  160. package/template/.codex/skills/product-design-prototype/agents/openai.yaml +1 -1
  161. package/template/.codex/skills/prototype/LOGIC.md +3 -3
  162. package/template/.codex/skills/prototype/SKILL.md +2 -6
  163. package/template/.codex/skills/prototype/UI.md +4 -4
  164. package/template/.codex/skills/prototype/agents/openai.yaml +3 -0
  165. package/template/.codex/skills/prototype-review/SKILL.md +6 -6
  166. package/template/.codex/skills/prototype-review/agents/openai.yaml +2 -2
  167. package/template/.codex/skills/research/agents/openai.yaml +3 -0
  168. package/template/.codex/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  169. package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +21 -32
  170. package/template/.codex/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  171. package/template/.codex/skills/setup-matt-pocock-skills/issue-tracker-github.md +2 -2
  172. package/template/.codex/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +2 -2
  173. package/template/.codex/skills/setup-matt-pocock-skills/issue-tracker-local.md +6 -6
  174. package/template/.codex/skills/setup-matt-pocock-skills/triage-labels.md +2 -2
  175. package/template/.codex/skills/tdd/agents/openai.yaml +3 -0
  176. package/template/.codex/skills/to-spec/SKILL.md +58 -0
  177. package/template/.codex/skills/to-spec/agents/openai.yaml +5 -0
  178. package/template/.codex/skills/to-tickets/SKILL.md +62 -0
  179. package/template/.codex/skills/to-tickets/agents/openai.yaml +5 -0
  180. package/template/.codex/skills/triage/SKILL.md +4 -4
  181. package/template/.codex/skills/triage/agents/openai.yaml +5 -0
  182. package/template/.codex/skills/wayfinder/SKILL.md +128 -0
  183. package/template/.codex/skills/wayfinder/agents/openai.yaml +5 -0
  184. package/template/.codex/skills/writing-great-skills/GLOSSARY.md +201 -0
  185. package/template/.codex/skills/writing-great-skills/SKILL.md +83 -0
  186. package/template/.codex/skills/writing-great-skills/agents/openai.yaml +5 -0
  187. package/template/.codex/skills/yss-api-integration/SKILL.md +1 -1
  188. package/template/.codex/skills/yss-cache/SKILL.md +29 -58
  189. package/template/.codex/skills/yss-cache/agents/openai.yaml +2 -2
  190. package/template/.codex/skills/yss-cache/references/annotations.md +39 -0
  191. package/template/.codex/skills/yss-cache/references/architecture.md +25 -0
  192. package/template/.codex/skills/yss-cache/references/configuration.md +34 -0
  193. package/template/.codex/skills/yss-cache/references/redis-fallback.md +23 -0
  194. package/template/.codex/skills/yss-cache/references/redis-topology.md +62 -0
  195. package/template/.codex/skills/yss-cache/references/serialization.md +17 -0
  196. package/template/.codex/skills/yss-cache/references/source-index.md +1 -1
  197. package/template/.codex/skills/yss-cache/references/troubleshooting.md +33 -0
  198. package/template/.codex/skills/yss-cache/references/verification.md +34 -0
  199. package/template/.codex/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
  200. package/template/.codex/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
  201. package/template/.codex/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
  202. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +1 -0
  203. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +2 -2
  204. package/template/.codex/skills/yss-design-system/SKILL.md +9 -2
  205. package/template/.codex/skills/yss-design-system/references/design-system.md +12 -0
  206. package/template/.codex/skills/yss-domain-modeling/SKILL.md +3 -3
  207. package/template/.codex/skills/yss-domain-modeling/agents/openai.yaml +1 -1
  208. package/template/.codex/skills/yss-domain-modeling/references/modeling-workflow.md +2 -2
  209. package/template/.codex/skills/yss-filerunner/SKILL.md +1 -1
  210. package/template/.codex/skills/yss-openapi/SKILL.md +35 -47
  211. package/template/.codex/skills/yss-openapi/img.png +0 -0
  212. package/template/.codex/skills/yss-openapi/img_1.png +0 -0
  213. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +3 -3
  214. package/template/.codex/skills/yss-openapi-governance/SKILL.md +4 -4
  215. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +57 -34
  216. package/template/.codex/skills/yss-product-lifecycle/references/artifact-checklist.md +23 -21
  217. package/template/.codex/skills/yss-product-lifecycle/references/stage-routing.md +15 -15
  218. package/template/.codex/skills/yss-product-lifecycle/references/yss-skill-routing.md +13 -8
  219. package/template/.codex/skills/yss-repository/SKILL.md +11 -3
  220. package/template/.codex/skills/yss-router/SKILL.md +2 -3
  221. package/template/.codex/skills/yss-router/references/boundaries.md +0 -1
  222. package/template/.codex/skills/yss-source-index/references/source-map-config.md +0 -1
  223. package/template/.codex/skills/yss-source-index/scripts/refresh-yss-skill-index.py +0 -3
  224. package/template/.codex/skills/yss-web-controller/SKILL.md +9 -3
  225. package/template/.hermes/skills/ask-matt/SKILL.md +8 -4
  226. package/template/.hermes/skills/ask-matt/agents/openai.yaml +5 -0
  227. package/template/.hermes/skills/code-review/SKILL.md +4 -4
  228. package/template/.hermes/skills/code-review/agents/openai.yaml +3 -0
  229. package/template/.hermes/skills/codebase-design/agents/openai.yaml +3 -0
  230. package/template/.hermes/skills/competitive-intelligence/SKILL.md +5 -5
  231. package/template/.hermes/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  232. package/template/.hermes/skills/domain-modeling/agents/openai.yaml +3 -0
  233. package/template/.hermes/skills/excalidraw-diagram-generator/SKILL.md +37 -16
  234. package/template/.hermes/skills/excalidraw-diagram-generator/scripts/add-arrow.py +18 -18
  235. package/template/.hermes/skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py +46 -47
  236. package/template/.hermes/skills/grill-me/SKILL.md +7 -0
  237. package/template/.hermes/skills/grill-me/agents/openai.yaml +5 -0
  238. package/template/.hermes/skills/grill-with-docs/agents/openai.yaml +5 -0
  239. package/template/.hermes/skills/grilling/SKILL.md +12 -0
  240. package/template/.hermes/skills/grilling/agents/openai.yaml +3 -0
  241. package/template/.hermes/skills/handoff/SKILL.md +16 -0
  242. package/template/.hermes/skills/handoff/agents/openai.yaml +5 -0
  243. package/template/.hermes/skills/implement/SKILL.md +2 -2
  244. package/template/.hermes/skills/implement/agents/openai.yaml +5 -0
  245. package/template/.hermes/skills/improve-codebase-architecture/SKILL.md +6 -1
  246. package/template/.hermes/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  247. package/template/.hermes/skills/prototype/LOGIC.md +3 -3
  248. package/template/.hermes/skills/prototype/SKILL.md +2 -6
  249. package/template/.hermes/skills/prototype/UI.md +4 -4
  250. package/template/.hermes/skills/prototype/agents/openai.yaml +3 -0
  251. package/template/.hermes/skills/research/agents/openai.yaml +3 -0
  252. package/template/.hermes/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  253. package/template/.hermes/skills/setup-matt-pocock-skills/SKILL.md +21 -32
  254. package/template/.hermes/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  255. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-github.md +2 -2
  256. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +2 -2
  257. package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-local.md +6 -6
  258. package/template/.hermes/skills/setup-matt-pocock-skills/triage-labels.md +2 -2
  259. package/template/.hermes/skills/tdd/agents/openai.yaml +3 -0
  260. package/template/.hermes/skills/teach/GLOSSARY-FORMAT.md +35 -0
  261. package/template/.hermes/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  262. package/template/.hermes/skills/teach/MISSION-FORMAT.md +31 -0
  263. package/template/.hermes/skills/teach/RESOURCES-FORMAT.md +32 -0
  264. package/template/.hermes/skills/teach/SKILL.md +140 -0
  265. package/template/.hermes/skills/teach/agents/openai.yaml +5 -0
  266. package/template/.hermes/skills/to-spec/SKILL.md +58 -0
  267. package/template/.hermes/skills/to-spec/agents/openai.yaml +5 -0
  268. package/template/.hermes/skills/to-tickets/SKILL.md +62 -0
  269. package/template/.hermes/skills/to-tickets/agents/openai.yaml +5 -0
  270. package/template/.hermes/skills/triage/SKILL.md +4 -4
  271. package/template/.hermes/skills/triage/agents/openai.yaml +5 -0
  272. package/template/.hermes/skills/wayfinder/SKILL.md +128 -0
  273. package/template/.hermes/skills/wayfinder/agents/openai.yaml +5 -0
  274. package/template/.hermes/skills/web-design-engineer/SKILL.md +2 -2
  275. package/template/.hermes/skills/writing-great-skills/GLOSSARY.md +201 -0
  276. package/template/.hermes/skills/writing-great-skills/SKILL.md +83 -0
  277. package/template/.hermes/skills/writing-great-skills/agents/openai.yaml +5 -0
  278. package/template/.hermes/skills/yss-cache/SKILL.md +44 -0
  279. package/template/.hermes/skills/yss-cache/agents/openai.yaml +5 -0
  280. package/template/.hermes/skills/yss-cache/references/annotations.md +39 -0
  281. package/template/.hermes/skills/yss-cache/references/architecture.md +25 -0
  282. package/template/.hermes/skills/yss-cache/references/configuration.md +34 -0
  283. package/template/.hermes/skills/yss-cache/references/redis-fallback.md +23 -0
  284. package/template/.hermes/skills/yss-cache/references/redis-topology.md +62 -0
  285. package/template/.hermes/skills/yss-cache/references/serialization.md +17 -0
  286. package/template/.hermes/skills/yss-cache/references/source-index.md +64 -0
  287. package/template/.hermes/skills/yss-cache/references/troubleshooting.md +33 -0
  288. package/template/.hermes/skills/yss-cache/references/verification.md +34 -0
  289. package/template/.hermes/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
  290. package/template/.hermes/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
  291. package/template/.hermes/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
  292. package/template/.obsidian/app.json +3 -0
  293. package/template/.obsidian/appearance.json +5 -0
  294. package/template/.obsidian/community-plugins.json +4 -0
  295. package/template/.obsidian/core-plugins.json +33 -0
  296. package/template/.obsidian/graph.json +22 -0
  297. package/template/.obsidian/plugins/obsidian-excalidraw-plugin/data.json +1085 -0
  298. package/template/.obsidian/plugins/obsidian-excalidraw-plugin/main.js +30 -0
  299. package/template/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json +12 -0
  300. package/template/.obsidian/plugins/obsidian-excalidraw-plugin/styles.css +1 -0
  301. package/template/.obsidian/plugins/obsidian-git/main.js +415 -0
  302. package/template/.obsidian/plugins/obsidian-git/manifest.json +10 -0
  303. package/template/.obsidian/plugins/obsidian-git/styles.css +705 -0
  304. package/template/.obsidian/workspace.json +222 -0
  305. package/template/.pi/skills/ask-matt/SKILL.md +8 -4
  306. package/template/.pi/skills/ask-matt/agents/openai.yaml +5 -0
  307. package/template/.pi/skills/code-review/SKILL.md +4 -4
  308. package/template/.pi/skills/code-review/agents/openai.yaml +3 -0
  309. package/template/.pi/skills/codebase-design/agents/openai.yaml +3 -0
  310. package/template/.pi/skills/competitive-intelligence/SKILL.md +5 -5
  311. package/template/.pi/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  312. package/template/.pi/skills/domain-modeling/agents/openai.yaml +3 -0
  313. package/template/.pi/skills/excalidraw-diagram-generator/SKILL.md +37 -16
  314. package/template/.pi/skills/excalidraw-diagram-generator/scripts/add-arrow.py +18 -18
  315. package/template/.pi/skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py +46 -47
  316. package/template/.pi/skills/grill-me/SKILL.md +7 -0
  317. package/template/.pi/skills/grill-me/agents/openai.yaml +5 -0
  318. package/template/.pi/skills/grill-with-docs/agents/openai.yaml +5 -0
  319. package/template/.pi/skills/grilling/SKILL.md +12 -0
  320. package/template/.pi/skills/grilling/agents/openai.yaml +3 -0
  321. package/template/.pi/skills/handoff/SKILL.md +16 -0
  322. package/template/.pi/skills/handoff/agents/openai.yaml +5 -0
  323. package/template/.pi/skills/implement/SKILL.md +2 -2
  324. package/template/.pi/skills/implement/agents/openai.yaml +5 -0
  325. package/template/.pi/skills/improve-codebase-architecture/SKILL.md +6 -1
  326. package/template/.pi/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  327. package/template/.pi/skills/prototype/LOGIC.md +3 -3
  328. package/template/.pi/skills/prototype/SKILL.md +2 -6
  329. package/template/.pi/skills/prototype/UI.md +4 -4
  330. package/template/.pi/skills/prototype/agents/openai.yaml +3 -0
  331. package/template/.pi/skills/research/agents/openai.yaml +3 -0
  332. package/template/.pi/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  333. package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +21 -32
  334. package/template/.pi/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  335. package/template/.pi/skills/setup-matt-pocock-skills/issue-tracker-github.md +2 -2
  336. package/template/.pi/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +2 -2
  337. package/template/.pi/skills/setup-matt-pocock-skills/issue-tracker-local.md +6 -6
  338. package/template/.pi/skills/setup-matt-pocock-skills/triage-labels.md +2 -2
  339. package/template/.pi/skills/tdd/agents/openai.yaml +3 -0
  340. package/template/.pi/skills/teach/GLOSSARY-FORMAT.md +35 -0
  341. package/template/.pi/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  342. package/template/.pi/skills/teach/MISSION-FORMAT.md +31 -0
  343. package/template/.pi/skills/teach/RESOURCES-FORMAT.md +32 -0
  344. package/template/.pi/skills/teach/SKILL.md +140 -0
  345. package/template/.pi/skills/teach/agents/openai.yaml +5 -0
  346. package/template/.pi/skills/to-spec/SKILL.md +58 -0
  347. package/template/.pi/skills/to-spec/agents/openai.yaml +5 -0
  348. package/template/.pi/skills/to-tickets/SKILL.md +62 -0
  349. package/template/.pi/skills/to-tickets/agents/openai.yaml +5 -0
  350. package/template/.pi/skills/triage/SKILL.md +4 -4
  351. package/template/.pi/skills/triage/agents/openai.yaml +5 -0
  352. package/template/.pi/skills/wayfinder/SKILL.md +128 -0
  353. package/template/.pi/skills/wayfinder/agents/openai.yaml +5 -0
  354. package/template/.pi/skills/web-design-engineer/SKILL.md +2 -2
  355. package/template/.pi/skills/writing-great-skills/GLOSSARY.md +201 -0
  356. package/template/.pi/skills/writing-great-skills/SKILL.md +83 -0
  357. package/template/.pi/skills/writing-great-skills/agents/openai.yaml +5 -0
  358. package/template/.pi/skills/yss-cache/SKILL.md +44 -0
  359. package/template/.pi/skills/yss-cache/agents/openai.yaml +5 -0
  360. package/template/.pi/skills/yss-cache/references/annotations.md +39 -0
  361. package/template/.pi/skills/yss-cache/references/architecture.md +25 -0
  362. package/template/.pi/skills/yss-cache/references/configuration.md +34 -0
  363. package/template/.pi/skills/yss-cache/references/redis-fallback.md +23 -0
  364. package/template/.pi/skills/yss-cache/references/redis-topology.md +62 -0
  365. package/template/.pi/skills/yss-cache/references/serialization.md +17 -0
  366. package/template/.pi/skills/yss-cache/references/source-index.md +64 -0
  367. package/template/.pi/skills/yss-cache/references/troubleshooting.md +33 -0
  368. package/template/.pi/skills/yss-cache/references/verification.md +34 -0
  369. package/template/.pi/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
  370. package/template/.pi/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
  371. package/template/.pi/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
  372. package/template/.trae/skills/ask-matt/SKILL.md +8 -4
  373. package/template/.trae/skills/ask-matt/agents/openai.yaml +5 -0
  374. package/template/.trae/skills/code-review/SKILL.md +4 -4
  375. package/template/.trae/skills/code-review/agents/openai.yaml +3 -0
  376. package/template/.trae/skills/codebase-design/agents/openai.yaml +3 -0
  377. package/template/.trae/skills/competitive-intelligence/SKILL.md +5 -5
  378. package/template/.trae/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  379. package/template/.trae/skills/domain-modeling/agents/openai.yaml +3 -0
  380. package/template/.trae/skills/excalidraw-diagram-generator/SKILL.md +37 -16
  381. package/template/.trae/skills/excalidraw-diagram-generator/scripts/add-arrow.py +18 -18
  382. package/template/.trae/skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py +46 -47
  383. package/template/.trae/skills/grill-me/SKILL.md +7 -0
  384. package/template/.trae/skills/grill-me/agents/openai.yaml +5 -0
  385. package/template/.trae/skills/grill-with-docs/agents/openai.yaml +5 -0
  386. package/template/.trae/skills/grilling/SKILL.md +12 -0
  387. package/template/.trae/skills/grilling/agents/openai.yaml +3 -0
  388. package/template/.trae/skills/handoff/SKILL.md +16 -0
  389. package/template/.trae/skills/handoff/agents/openai.yaml +5 -0
  390. package/template/.trae/skills/implement/SKILL.md +2 -2
  391. package/template/.trae/skills/implement/agents/openai.yaml +5 -0
  392. package/template/.trae/skills/improve-codebase-architecture/SKILL.md +6 -1
  393. package/template/.trae/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  394. package/template/.trae/skills/prototype/LOGIC.md +3 -3
  395. package/template/.trae/skills/prototype/SKILL.md +2 -6
  396. package/template/.trae/skills/prototype/UI.md +4 -4
  397. package/template/.trae/skills/prototype/agents/openai.yaml +3 -0
  398. package/template/.trae/skills/research/agents/openai.yaml +3 -0
  399. package/template/.trae/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  400. package/template/.trae/skills/setup-matt-pocock-skills/SKILL.md +21 -32
  401. package/template/.trae/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  402. package/template/.trae/skills/setup-matt-pocock-skills/issue-tracker-github.md +2 -2
  403. package/template/.trae/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +2 -2
  404. package/template/.trae/skills/setup-matt-pocock-skills/issue-tracker-local.md +6 -6
  405. package/template/.trae/skills/setup-matt-pocock-skills/triage-labels.md +2 -2
  406. package/template/.trae/skills/tdd/agents/openai.yaml +3 -0
  407. package/template/.trae/skills/teach/GLOSSARY-FORMAT.md +35 -0
  408. package/template/.trae/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  409. package/template/.trae/skills/teach/MISSION-FORMAT.md +31 -0
  410. package/template/.trae/skills/teach/RESOURCES-FORMAT.md +32 -0
  411. package/template/.trae/skills/teach/SKILL.md +140 -0
  412. package/template/.trae/skills/teach/agents/openai.yaml +5 -0
  413. package/template/.trae/skills/to-spec/SKILL.md +58 -0
  414. package/template/.trae/skills/to-spec/agents/openai.yaml +5 -0
  415. package/template/.trae/skills/to-tickets/SKILL.md +62 -0
  416. package/template/.trae/skills/to-tickets/agents/openai.yaml +5 -0
  417. package/template/.trae/skills/triage/SKILL.md +4 -4
  418. package/template/.trae/skills/triage/agents/openai.yaml +5 -0
  419. package/template/.trae/skills/wayfinder/SKILL.md +128 -0
  420. package/template/.trae/skills/wayfinder/agents/openai.yaml +5 -0
  421. package/template/.trae/skills/web-design-engineer/SKILL.md +2 -2
  422. package/template/.trae/skills/writing-great-skills/GLOSSARY.md +201 -0
  423. package/template/.trae/skills/writing-great-skills/SKILL.md +83 -0
  424. package/template/.trae/skills/writing-great-skills/agents/openai.yaml +5 -0
  425. package/template/.trae/skills/yss-cache/SKILL.md +44 -0
  426. package/template/.trae/skills/yss-cache/agents/openai.yaml +5 -0
  427. package/template/.trae/skills/yss-cache/references/annotations.md +39 -0
  428. package/template/.trae/skills/yss-cache/references/architecture.md +25 -0
  429. package/template/.trae/skills/yss-cache/references/configuration.md +34 -0
  430. package/template/.trae/skills/yss-cache/references/redis-fallback.md +23 -0
  431. package/template/.trae/skills/yss-cache/references/redis-topology.md +62 -0
  432. package/template/.trae/skills/yss-cache/references/serialization.md +17 -0
  433. package/template/.trae/skills/yss-cache/references/source-index.md +64 -0
  434. package/template/.trae/skills/yss-cache/references/troubleshooting.md +33 -0
  435. package/template/.trae/skills/yss-cache/references/verification.md +34 -0
  436. package/template/.trae/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
  437. package/template/.trae/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
  438. package/template/.trae/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
  439. package/template/AGENTS.md +89 -250
  440. package/template/CONTEXT.md +24 -11
  441. package/template/README.md +31 -45
  442. package/template/docs/adr/{adr-product-design-prototype-entrypoint.md → 0001-product-design-prototype-entrypoint.md} +3 -3
  443. package/template/docs/adr/0002-yss-project-repository-mode.md +3 -0
  444. package/template/docs/agents/README.md +4 -5
  445. package/template/docs/agents/domain.md +13 -15
  446. package/template/docs/agents/gitlab-workflow-skills.md +5 -5
  447. package/template/docs/agents/issue-tracker.md +15 -14
  448. package/template/docs/agents/skills-maintenance.md +44 -109
  449. package/template/docs/agents/triage-labels.md +10 -12
  450. package/template/docs/api/templates/openapi-draft-review-checklist.md +4 -4
  451. package/template/docs/api/templates/openapi-freeze-record-template.md +5 -5
  452. package/template/docs/architecture/README.md +4 -4
  453. package/template/docs/architecture/templates/architecture-review-checklist.md +4 -4
  454. package/template/docs/architecture/templates/business-architecture-template.md +7 -7
  455. package/template/docs/architecture/templates/data-architecture-template.md +4 -4
  456. package/template/docs/architecture/templates/engineering-baseline-review-template.md +4 -3
  457. package/template/docs/architecture/templates/functional-architecture-template.md +7 -7
  458. package/template/docs/architecture/templates/system-overview-design-template.md +5 -6
  459. package/template/docs/architecture/templates/tech-design-template.md +2 -2
  460. package/template/docs/design/README.md +8 -8
  461. package/template/docs/design/design.md +10 -1
  462. package/template/docs/design/diagrams/README.md +1 -1
  463. package/template/docs/design/templates/interaction-spec-template.md +6 -6
  464. package/template/docs/design/templates/product-overview-design-template.md +8 -8
  465. package/template/docs/design/templates/prototype-confirmation-template.md +4 -4
  466. package/template/docs/design/templates/prototype-review-checklist.md +5 -5
  467. package/template/docs/design/templates/state-matrix-template.md +1 -1
  468. package/template/docs/discovery/IDEATION.md +2 -2
  469. package/template/docs/discovery/README.md +4 -4
  470. package/template/docs/discovery/templates/competitive-analysis-template.md +4 -4
  471. package/template/docs/discovery/templates/discovery-template.md +8 -8
  472. package/template/docs/implementation/create-yss-spec-repository-mode-contract.md +59 -0
  473. package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +49 -30
  474. package/template/docs/process/harness-automation-candidates.md +10 -13
  475. package/template/docs/process/harness-executive-blueprint.md +11 -11
  476. package/template/docs/process/harness-optimization-backlog.md +6 -6
  477. package/template/docs/process/harness-pilot-retro-metrics.md +8 -8
  478. package/template/docs/process/harness-pilot-selection.md +8 -8
  479. package/template/docs/process/harness-process-tailoring.md +35 -16
  480. package/template/docs/process/harness-work-unit-map.md +9 -9
  481. package/template/docs/process/implementation-repo-integration.md +25 -11
  482. package/template/docs/process/lifecycle-artifact-map.md +66 -40
  483. package/template/docs/process/product-prototype-workflow.md +10 -10
  484. package/template/docs/process/skill-governance.md +12 -4
  485. package/template/docs/process/subagent-collaboration-validation.md +53 -0
  486. package/template/docs/process/subagent-collaboration.md +111 -0
  487. package/template/docs/process/template-governance-grilling-record.md +38 -0
  488. package/template/docs/process/template-governance-skill-validation.md +44 -0
  489. package/template/docs/process/templates/stage-checkpoint-template.md +42 -7
  490. package/template/docs/releases/next-major-template-governance.md +32 -0
  491. package/template/docs/requirements/README.md +11 -11
  492. package/template/docs/{adr/template.md → templates/adr-template.md} +2 -2
  493. package/template/docs/templates/agent-brief-template.md +5 -5
  494. package/template/docs/templates/build-architecture-checklist-template.md +41 -11
  495. package/template/docs/templates/implementation-repo-registry-template.md +8 -3
  496. package/template/docs/templates/implementation-routing-template.md +85 -19
  497. package/template/docs/templates/requirement-freeze-template.md +8 -8
  498. package/template/docs/templates/review-report-template.md +50 -0
  499. package/template/docs/templates/spec-delta-template.md +5 -5
  500. package/template/docs/templates/{prd-template.md → spec-template.md} +19 -9
  501. package/template/docs/templates/subagent-task-package-template.md +93 -0
  502. package/template/docs/templates/verification-record-template.md +2 -2
  503. package/template/docs/templates/vertical-slice-ticket-template.md +88 -0
  504. package/template/docs/user-guide/README.md +2 -2
  505. package/template/docs/user-guide/create-yss-spec-cli-guide.md +27 -209
  506. package/template/docs/user-guide/excalidraw-diagram-generator-guide.md +8 -8
  507. package/template/docs/user-guide/grill-with-docs-best-practices.md +16 -16
  508. package/template/docs/user-guide/grill-with-docs-guide.md +19 -19
  509. package/template/docs/user-guide/lifecycle-best-practices.md +40 -40
  510. package/template/docs/user-guide/product-lifecycle-workflow.md +31 -31
  511. package/template/docs/user-guide/product-rd-lifecycle-best-practices.md +121 -121
  512. package/template/docs/user-guide/spec-ticket-migration-guide.md +35 -0
  513. package/template/scripts/sync-skills +126 -0
  514. package/template/scripts/update-skill-lock +202 -0
  515. package/template/scripts/verify-lifecycle-scenarios +136 -0
  516. package/template/scripts/verify-template +148 -155
  517. package/template/skills-lock.json +1068 -65
  518. package/template/yss-project.yaml +2 -0
  519. package/template.manifest.json +3 -16
  520. package/template/.agent/skills/ask-matt/SKILL.md +0 -74
  521. package/template/.agent/skills/code-review/SKILL.md +0 -89
  522. package/template/.agent/skills/codebase-design/DEEPENING.md +0 -37
  523. package/template/.agent/skills/codebase-design/DESIGN-IT-TWICE.md +0 -44
  524. package/template/.agent/skills/codebase-design/SKILL.md +0 -114
  525. package/template/.agent/skills/competitive-intelligence/SKILL.md +0 -94
  526. package/template/.agent/skills/diagnosing-bugs/SKILL.md +0 -134
  527. package/template/.agent/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +0 -41
  528. package/template/.agent/skills/domain-modeling/ADR-FORMAT.md +0 -47
  529. package/template/.agent/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
  530. package/template/.agent/skills/domain-modeling/SKILL.md +0 -74
  531. package/template/.agent/skills/grill-with-docs/SKILL.md +0 -7
  532. package/template/.agent/skills/implement/SKILL.md +0 -15
  533. package/template/.agent/skills/improve-codebase-architecture/HTML-REPORT.md +0 -123
  534. package/template/.agent/skills/improve-codebase-architecture/SKILL.md +0 -66
  535. package/template/.agent/skills/prototype/LOGIC.md +0 -79
  536. package/template/.agent/skills/prototype/SKILL.md +0 -30
  537. package/template/.agent/skills/prototype/UI.md +0 -112
  538. package/template/.agent/skills/research/SKILL.md +0 -12
  539. package/template/.agent/skills/resolving-merge-conflicts/SKILL.md +0 -14
  540. package/template/.agent/skills/setup-matt-pocock-skills/SKILL.md +0 -127
  541. package/template/.agent/skills/setup-matt-pocock-skills/domain.md +0 -51
  542. package/template/.agent/skills/setup-matt-pocock-skills/issue-tracker-github.md +0 -45
  543. package/template/.agent/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +0 -46
  544. package/template/.agent/skills/setup-matt-pocock-skills/issue-tracker-local.md +0 -30
  545. package/template/.agent/skills/setup-matt-pocock-skills/triage-labels.md +0 -15
  546. package/template/.agent/skills/tdd/SKILL.md +0 -36
  547. package/template/.agent/skills/tdd/mocking.md +0 -59
  548. package/template/.agent/skills/tdd/tests.md +0 -77
  549. package/template/.agent/skills/to-issues/SKILL.md +0 -84
  550. package/template/.agent/skills/to-prd/SKILL.md +0 -75
  551. package/template/.agent/skills/triage/AGENT-BRIEF.md +0 -207
  552. package/template/.agent/skills/triage/OUT-OF-SCOPE.md +0 -105
  553. package/template/.agent/skills/triage/SKILL.md +0 -112
  554. package/template/.agents/skills/to-issues/SKILL.md +0 -84
  555. package/template/.agents/skills/to-prd/SKILL.md +0 -75
  556. package/template/.claude/skills/to-issues/SKILL.md +0 -84
  557. package/template/.claude/skills/to-prd/SKILL.md +0 -75
  558. package/template/.codex/skills/to-issues/SKILL.md +0 -84
  559. package/template/.codex/skills/to-prd/SKILL.md +0 -75
  560. package/template/.codex/skills/yss-anti-scheduler/SKILL.md +0 -53
  561. package/template/.codex/skills/yss-anti-scheduler/agents/openai.yaml +0 -4
  562. package/template/.codex/skills/yss-anti-scheduler/references/source-index.md +0 -157
  563. package/template/.codex/skills/yss-cache/assets/ClearCache.java +0 -34
  564. package/template/.codex/skills/yss-cache/assets/QueryCache.java +0 -36
  565. package/template/.codex/skills/yss-cache/assets/UpdateCache.java +0 -34
  566. package/template/.codex/skills/yss-cache/references/README.md +0 -5
  567. package/template/.hermes/skills/to-issues/SKILL.md +0 -84
  568. package/template/.hermes/skills/to-prd/SKILL.md +0 -75
  569. package/template/.pi/skills/to-issues/SKILL.md +0 -84
  570. package/template/.pi/skills/to-prd/SKILL.md +0 -75
  571. package/template/.trae/skills/to-issues/SKILL.md +0 -84
  572. package/template/.trae/skills/to-prd/SKILL.md +0 -75
  573. package/template/docs/templates/vertical-slice-issue-template.md +0 -61
  574. /package/template/docs/requirements/{issues → tickets}/.gitkeep +0 -0
@@ -0,0 +1,101 @@
1
+ #!/usr/bin/env bash
2
+ set -u
3
+
4
+ source_root=""
5
+ consumer_root=""
6
+ consumer_module=""
7
+
8
+ usage() {
9
+ echo "Usage: $0 [--source-root PATH] [--consumer-root PATH --consumer-module MODULE]" >&2
10
+ }
11
+
12
+ while [ "$#" -gt 0 ]; do
13
+ case "$1" in
14
+ --source-root) [ "$#" -ge 2 ] || { usage; exit 2; }; source_root=$2; shift 2 ;;
15
+ --consumer-root) [ "$#" -ge 2 ] || { usage; exit 2; }; consumer_root=$2; shift 2 ;;
16
+ --consumer-module) [ "$#" -ge 2 ] || { usage; exit 2; }; consumer_module=$2; shift 2 ;;
17
+ -h|--help) usage; exit 0 ;;
18
+ *) usage; exit 2 ;;
19
+ esac
20
+ done
21
+
22
+ if [ -z "$source_root" ]; then
23
+ source_root=${YSS_SOURCE_ROOT:-}
24
+ fi
25
+ if [ -z "$source_root" ]; then
26
+ for candidate in "$PWD" "$PWD/.." "$HOME/Projects/yss-cloud-microservice" "$HOME/Documents/yss-project/yss-cloud-microservice"; do
27
+ if [ -d "$candidate/yss-microservice-components/yss-component-cache-parent" ]; then
28
+ source_root=$candidate
29
+ break
30
+ fi
31
+ done
32
+ fi
33
+
34
+ parent="${source_root%/}/yss-microservice-components/yss-component-cache-parent"
35
+ if [ -z "$source_root" ] || [ ! -f "$parent/pom.xml" ]; then
36
+ echo "ERROR: cannot locate cache parent; use --source-root or YSS_SOURCE_ROOT" >&2
37
+ exit 2
38
+ fi
39
+ if [ ! -x "$source_root/mvnw" ]; then
40
+ echo "ERROR: Maven wrapper is missing or not executable: $source_root/mvnw" >&2
41
+ exit 2
42
+ fi
43
+ if { [ -n "$consumer_root" ] && [ -z "$consumer_module" ]; } || { [ -z "$consumer_root" ] && [ -n "$consumer_module" ]; }; then
44
+ echo "ERROR: --consumer-root and --consumer-module must be provided together" >&2
45
+ exit 2
46
+ fi
47
+
48
+ echo "== Cache reactor verify =="
49
+ (cd "$source_root" && ./mvnw -f "$parent/pom.xml" verify) || exit 1
50
+
51
+ echo "== Docker integration status =="
52
+ report="$parent/yss-component-redis-cache/target/surefire-reports/TEST-com.yss.cloud.cache.redis.config.RedisStandaloneIntegrationTest.xml"
53
+ if command -v docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then
54
+ if [ ! -f "$report" ]; then
55
+ echo "ERROR: Docker is available but Redis integration report is missing" >&2
56
+ exit 1
57
+ fi
58
+ if grep -Eq 'skipped="[1-9]' "$report"; then
59
+ echo "ERROR: Docker is available but Redis integration test was skipped" >&2
60
+ exit 1
61
+ fi
62
+ echo "PASS: real Redis integration test executed"
63
+ else
64
+ echo "SKIP: Docker is unavailable; Redis integration test may be skipped by assumption"
65
+ fi
66
+
67
+ echo "== Diff whitespace =="
68
+ if command -v git >/dev/null 2>&1 && git -C "$source_root" rev-parse --is-inside-work-tree >/dev/null 2>&1; then
69
+ git -C "$source_root" diff --check || exit 1
70
+ else
71
+ echo "SKIP: source root is not a Git worktree"
72
+ fi
73
+
74
+ echo "== Java 8 bytecode =="
75
+ classes=$(find "$parent" -path '*/target/classes/*.class' -type f | head -1)
76
+ if [ -z "$classes" ]; then
77
+ echo "ERROR: no compiled cache class found" >&2
78
+ exit 1
79
+ fi
80
+ if ! command -v javap >/dev/null 2>&1; then
81
+ echo "ERROR: javap is required for bytecode verification" >&2
82
+ exit 2
83
+ fi
84
+ majors=$(find "$parent" -path '*/target/classes/*.class' -type f -exec javap -verbose {} \; 2>/dev/null | sed -n 's/.*major version: *//p' | sort -u)
85
+ if [ "$majors" != "52" ]; then
86
+ echo "ERROR: expected only Java 8 major version 52, found: $majors" >&2
87
+ exit 1
88
+ fi
89
+ echo "PASS: all cache classes use major version 52"
90
+
91
+ if [ -n "$consumer_root" ]; then
92
+ echo "== Consumer build =="
93
+ if [ ! -x "$consumer_root/mvnw" ] || [ ! -f "$consumer_root/pom.xml" ]; then
94
+ echo "ERROR: invalid consumer root: $consumer_root" >&2
95
+ exit 2
96
+ fi
97
+ (cd "$consumer_root" && ./mvnw -pl "$consumer_module" -am -DskipTests package) || exit 1
98
+ fi
99
+
100
+ echo "RESULT: cache verification passed"
101
+ exit 0
@@ -55,6 +55,7 @@ python3 scripts/generate_scaffold.py \
55
55
  - 不要在 skill 里硬编码用户业务字段或真实连接信息。
56
56
  - 生成后要检查依赖关系是否仍符合分层约束。
57
57
  - 生成后必须继续使用 `yss-backend-scaffold-parent` 校验工程基线,再按垂直切片加载 `yss-domain`、`yss-repository`、`yss-web-controller` 等局部技能。
58
+ - 生成后的后端工程必须使用项目根目录 `./mvnw ...` 执行构建、测试、运行、OpenAPI 生成和 CI 验证;不得在 README、实施记录、Ticket、Review 或 Release 中默认写裸 `mvn ...`。既有仓库确实无法使用 wrapper 时,必须记录受控例外。
58
59
  - 涉及 API 契约时,先确认 `docs/api/specs/` 中的 OpenAPI Draft / Freeze 状态;不要用脚手架生成结果反向替代产品契约设计。
59
60
 
60
61
  ## 按需读取
@@ -37,7 +37,7 @@ description: "YSS 服务的后端开发脚手架框架和技术指南。在开
37
37
 
38
38
  ### 构建工具
39
39
 
40
- - **Maven**: 3.x (请使用项目根目录下的 `./mvnw` 脚本进行构建)
40
+ - **Maven**: 3.x (必须使用项目根目录下的 `./mvnw` 脚本进行构建、测试、运行和 CI 验证;不要默认使用裸 `mvn ...` 命令)
41
41
 
42
42
  ## 2. 架构设计 (Architecture)
43
43
 
@@ -107,7 +107,7 @@ description: "YSS 服务的后端开发脚手架框架和技术指南。在开
107
107
  - 单个对象: `SingleResult<T>`
108
108
  - 列表: `MultiResult<T>`
109
109
  - 分页: `PageResult<T>`
110
- - 涉及新增或变更前后端契约时,先在 `docs/api/specs/` 形成 OpenAPI Draft,经工程基线、架构 / OpenSpec / Comet design 和设计审查后 Freeze,再实现 Controller、DTO、前端调用和契约测试。
110
+ - 涉及新增或变更前后端契约时,先在 `docs/api/specs/` 形成 OpenAPI Draft,经工程基线、架构 / Spec Delta 设计和设计审查后 Freeze,再实现 Controller、DTO、前端调用和契约测试。
111
111
 
112
112
  ## 4. 工程基线检查清单
113
113
 
@@ -19,7 +19,7 @@ description: YSS 产品设计系统与 Ant Design 企业级 UI 风格基线。
19
19
  ## 使用流程
20
20
 
21
21
  1. 先判断任务阶段:设计系统引入 / 产品设计 / 原型评审 / 前端实现 / UI 改造 / 主题 token 落地。
22
- 2. 读取已有资产:`docs/design/design.md`、相关 PRD、交互说明、状态矩阵、OpenAPI Draft、现有页面代码。
22
+ 2. 读取已有资产:`docs/design/design.md`、相关 Spec、交互说明、状态矩阵、OpenAPI Draft、现有页面代码。
23
23
  3. 按设计系统基线约束输出或修改产物:颜色、排版、间距、圆角、动效、组件、状态、响应式。
24
24
  4. 若是产品设计阶段,配合 `product-design-prototype` 产出页面、流程、状态矩阵和 OpenAPI 反推清单。
25
25
  5. 若是前端实现阶段,配合 `yss-ui`、`yss-components`、`yss-formily`、`yss-page-module-development`,但本技能负责风格与体验一致性门禁。
@@ -35,13 +35,18 @@ description: YSS 产品设计系统与 Ant Design 企业级 UI 风格基线。
35
35
  - 表面层级:页面背景、内容容器、浮层三层模型。
36
36
  - 组件语言:优先 Ant Design / YSS UI 语义,不自造同类控件。
37
37
  - 状态完整性:loading、empty、error、readonly、disabled、no-permission、conflict、success 必须在设计或实现中可解释。
38
+ - Ant Design v6 原型基线:先用语义 token 定义角色,再用组件 token 或 CSS variables 落地;不以局部硬编码替代主题层。
38
39
 
39
40
  ## 强制规则
40
41
 
41
42
  - 不把该系统改造成营销落地页风格;业务应用首屏应直接进入可用工作界面。
42
43
  - 不用大面积渐变、装饰插画、夸张 hero、过度卡片化或单色系视觉堆叠替代信息结构。
43
44
  - 不在同一决策区域放两个 primary 按钮。
45
+ - 每个页面或决策区域只保留一个 single primary action;其余动作降级为默认、链接或危险操作。
44
46
  - 不硬编码表面色、边框色、状态色;优先使用 token 或主题变量。
47
+ - 交互原型中的每个可点击主动作都必须给出 interaction feedback:状态变化、禁用原因、成功或失败反馈至少覆盖其一。
48
+ - accessibility contrast:默认 token 不能满足目标文本对比度时,优先通过 `ConfigProvider` seed / component token 调整,不新增页面级特例色。
49
+ - React + Ant Design 的暗色或紧凑密度必须使用 theme algorithm,不手工反转颜色或逐控件压缩尺寸。
45
50
  - 不用 Tag 表达关键错误、阻断或审批状态;关键状态必须有可读文本和语义反馈。
46
51
  - 不让按钮、标签、表头、弹窗、卡片中的文字溢出或遮挡。
47
52
  - 不在表格 / 筛选 / 批量操作密集页面使用松散营销式布局。
@@ -60,16 +65,18 @@ description: YSS 产品设计系统与 Ant Design 企业级 UI 风格基线。
60
65
  实现类任务至少检查:
61
66
 
62
67
  - 是否通过 `ConfigProvider`、CSS variables 或项目 token 消费主题。
68
+ - 是否将颜色、圆角、阴影和状态样式绑定到 semantic token,而不是复制表面色和交互色。
63
69
  - 是否保持 32px 默认控件高度、14px 默认正文、4px 间距网格。
64
70
  - 是否使用 YSS UI / Ant Design 的语义组件,而不是自造同类组件。
65
71
  - 是否保留 hover、focus、active、disabled、loading、error、empty 状态。
72
+ - 是否为可提交、导出、保存、发布、审批等操作提供明确的 interaction feedback 与不可逆操作确认。
66
73
  - 是否在核心视口无横向溢出;表格横向滚动必须被限定在表格容器内。
67
74
 
68
75
  ## 与其他技能的关系
69
76
 
70
77
  | 场景 | 配合技能 |
71
78
  | --- | --- |
72
- | PRD 后做页面 / 原型 / 交互说明 | `product-design-prototype` |
79
+ | Spec 后做页面 / 原型 / 交互说明 | `product-design-prototype` |
73
80
  | 低保真原型进入高保真前评审 | `prototype-review` |
74
81
  | 低保真评审通过后的高保真 HTML 原型 | `high-fidelity-html-prototype` |
75
82
  | 低保真线框或流程图 | `wireframe-prototype` / `excalidraw-diagram-generator` |
@@ -62,6 +62,8 @@
62
62
  - `success`、`warning`、`error`、`info` 只表达功能状态。
63
63
  - 预设色板只用于 Tag、图表、分类可视化,不用于重新定义主操作。
64
64
  - 不硬编码白色、灰色、状态色;优先引用 token、CSS variables 或 Ant Design theme。
65
+ - semantic token 优先于色值:页面先声明背景、容器、浮层、文本、边框、状态等角色,再映射到具体 token。
66
+ - accessibility contrast 不足时,通过 `ConfigProvider` 的 seed token 或组件 token 调整;不要为单个页面制造不可复用的深浅色例外。
65
67
 
66
68
  ### 排版
67
69
 
@@ -129,6 +131,12 @@
129
131
  | Badge | 只做紧凑状态提示,不能替代文本 |
130
132
  | Tooltip | 只提供补充解释,不承载关键业务信息 |
131
133
 
134
+ 交互规则:
135
+
136
+ - 每个决策区域只保留一个 single primary action;危险操作和次级动作必须在视觉层级上降级。
137
+ - 保存、提交、审批、发布、导出等可点击动作必须产生 interaction feedback,包括结果消息、行内状态变化、禁用原因或确认弹窗。
138
+ - 风险或不可逆动作使用 Modal 二次确认;禁止将“已发布”误表示为“已执行数据库变更”。
139
+
132
140
  ## 页面规则
133
141
 
134
142
  - 后台页面优先使用:Header / 查询区 / 工具栏 / 表格 / 详情抽屉 / 弹窗。
@@ -190,6 +198,7 @@
190
198
  React + Ant Design:
191
199
 
192
200
  - 使用 `ConfigProvider` 注入主题。
201
+ - 默认主题使用 `theme.defaultAlgorithm`;暗色与紧凑模式通过 theme algorithm 切换,不手工反转色值或逐组件压缩。
193
202
  - 优先通过 token、component token、CSS variables、theme algorithm 实现样式。
194
203
  - 静态反馈 API 使用 `App`、hook API 或 context holder,避免主题上下文丢失。
195
204
  - 暗色模式使用 `darkAlgorithm` 或 `variables.dark.css`。
@@ -219,7 +228,10 @@ YSS UI / Vue:
219
228
  实现评审时检查:
220
229
 
221
230
  - 是否消费 token,而不是硬编码颜色和尺寸。
231
+ - 是否以 semantic token 表达颜色、圆角、阴影和状态层级。
222
232
  - 是否保持默认 14px 正文、32px 控件、4px 间距网格。
223
233
  - 是否保留 hover、focus、active、disabled、loading、empty、error 状态。
234
+ - 是否只保留一个 single primary action,并让每个关键操作提供 interaction feedback。
235
+ - 是否在目标字号和背景下复核 accessibility contrast。
224
236
  - 是否存在卡片套卡片、营销式 hero、装饰性渐变或无意义插画。
225
237
  - 是否存在横向溢出、文本遮挡或按钮文字溢出。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: yss-domain-modeling
3
- description: 用于 YSS 项目在实现前进行 DDD 领域建模。当用户提供 PRD、RDD Spec、OpenAPI、页面流程、业务规则、DDL、元数据或现有代码,希望先识别统一语言、上下文边界、聚合、实体、值对象、领域行为、状态流转、Domain Gateway、领域事件、ADR 和实现 handoff 时调用。
3
+ description: 用于 YSS 项目在实现前进行 DDD 领域建模。当用户提供 Spec、RDD Spec、OpenAPI、页面流程、业务规则、DDL、元数据或现有代码,希望先识别统一语言、上下文边界、聚合、实体、值对象、领域行为、状态流转、Domain Gateway、领域事件、ADR 和实现 handoff 时调用。
4
4
  ---
5
5
 
6
6
  # yss-domain-modeling
@@ -10,7 +10,7 @@ description: 用于 YSS 项目在实现前进行 DDD 领域建模。当用户提
10
10
  ## 何时使用
11
11
 
12
12
  - 用户要求先做 DDD、领域建模、聚合分析、上下文边界或统一语言。
13
- - 用户提供 PRD、RDD Spec、OpenAPI、页面流程、业务规则、DDL、元数据或现有代码,希望先沉淀领域模型。
13
+ - 用户提供 Spec、RDD Spec、OpenAPI、页面流程、业务规则、DDL、元数据或现有代码,希望先沉淀领域模型。
14
14
  - 用户要求从业务规则推导实体、值对象、领域行为、状态流转、Domain Gateway 或领域事件。
15
15
  - 用户要判断某个设计是否应该写 ADR、更新 `CONTEXT.md`,或如何交给后续实现。
16
16
 
@@ -23,7 +23,7 @@ description: 用于 YSS 项目在实现前进行 DDD 领域建模。当用户提
23
23
 
24
24
  ## 工作流
25
25
 
26
- 1. 先读取输入资料:PRD、RDD Spec、OpenAPI、页面流程、DDL、`CONTEXT.md`、ADR 和现有代码。
26
+ 1. 先读取输入资料:Spec、RDD Spec、OpenAPI、页面流程、DDL、`CONTEXT.md`、ADR 和现有代码。
27
27
  2. 抽取业务术语,识别同义词、歧义词、禁用词和待确认含义。
28
28
  3. 划分上下文边界,明确每个上下文负责什么、不负责什么、依赖什么。
29
29
  4. 识别聚合、聚合根、实体、值对象、领域服务和领域事件。
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "YSS Domain Modeling"
3
3
  short_description: "Model YSS domains before implementation"
4
- default_prompt: "Use $yss-domain-modeling to derive YSS domain aggregates, boundaries, rules, and implementation handoff from PRD/RDD/spec inputs."
4
+ default_prompt: "Use $yss-domain-modeling to derive YSS domain aggregates, boundaries, rules, and implementation handoff from Spec/RDD inputs."
@@ -1,12 +1,12 @@
1
1
  # Modeling Workflow
2
2
 
3
- Use this reference to turn PRD/RDD/OpenAPI/page flow/DDL/current code into a YSS domain model brief.
3
+ Use this reference to turn Spec/RDD/OpenAPI/page flow/DDL/current code into a YSS domain model brief.
4
4
 
5
5
  ## 1. Read Inputs
6
6
 
7
7
  Collect only the inputs needed for the current task:
8
8
 
9
- - PRD, user stories, acceptance criteria, and non-scope.
9
+ - Spec, user stories, acceptance criteria, and non-scope.
10
10
  - RDD Spec, OpenAPI, state machine, error codes, and business rules.
11
11
  - Page flow, form fields, table columns, actions, permissions, and visible states.
12
12
  - Existing `CONTEXT.md`, `CONTEXT-MAP.md`, ADRs, and related code.
@@ -22,7 +22,7 @@ Read `references/source-index.md` as a path-hint index whenever the task depends
22
22
  1. Identify whether the task is running SQL/Python files, exposing file-runner APIs, parsing scheduler logs, or adding a new file execution type.
23
23
  2. Read `references/source-index.md`, then inspect `FileRunnerController`, `FileRunnerService`, `FileExecuterManager`, and concrete executers.
24
24
  3. Current supported `FileType` values are `SQL` and `PYTHON`; unsupported types throw `BizException`.
25
- 4. `FileExecuterManager` depends on `SchedulerFacadeApi`; load `yss-anti-scheduler` when execution delegates to scheduler APIs.
25
+ 4. `FileExecuterManager` depends on `SchedulerFacadeApi`; inspect the filerunner source index and local scheduler integration code directly when execution delegates to scheduler APIs.
26
26
  5. For logs, inspect `DolphinLogParser` and `LogType`.
27
27
  6. For starter integration, inspect `DefaultFileRunnerConfiguration`.
28
28
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: yss-openapi
3
- description: Generate OpenAPI JSON from implemented YSS Java controllers, request DTOs, and response DTOs, then refresh frontend Orval API clients. Use only for the smart-doc plus Orval implementation workflow where smart-doc-maven-plugin emits target/openapi/openapi.json and frontend scripts such as generate:api, orval, api-schema-cleanup.cjs, api-flatten-exports.cjs, or format:generated regenerate src/api client code. Do not use this as the unified OpenAPI style guide, design-time API governance, or docs/api/specs Draft review skill.
3
+ description: Generate OpenAPI JSON from implemented YSS Java controllers, request DTOs, and response DTOs, then refresh frontend Orval API clients. Use only for the smart-doc plus Orval implementation workflow where smart-doc-maven-plugin emits an OpenAPI JSON file and frontend generation scripts regenerate API client code. Do not use this as the unified OpenAPI style guide, design-time API governance, or design-time Draft review skill.
4
4
  ---
5
5
 
6
6
  # YSS OpenAPI
@@ -9,22 +9,22 @@ Use this skill to move an already implemented backend controller/DTO contract in
9
9
 
10
10
  This is an implementation/generation skill, not the product API design step and not the unified OpenAPI specification governance skill. It generates `openapi.json` from controller methods, request DTOs, response DTOs, annotations, and Java comments; it does not decide naming conventions, resource modeling, error taxonomy, pagination policy, permission semantics, or organization-wide OpenAPI style rules.
11
11
 
12
- For new or changed API contracts, first produce OpenAPI Draft in `docs/api/specs/`, pass engineering baseline, architecture / OpenSpec / Comet design, and Design Review, then Freeze the contract before using this skill to refresh generated clients. When the backend is already the implemented source of truth, use this skill to regenerate and inspect the emitted contract before updating call sites.
12
+ For new or changed API contracts, first produce an OpenAPI Draft in the repository's agreed API draft location, pass engineering baseline, architecture / Spec Delta design, and Design Review, then Freeze the contract before using this skill to refresh generated clients. When the backend is already the implemented source of truth, use this skill to regenerate and inspect the emitted contract before updating call sites.
13
13
 
14
14
  ## Scope Boundary
15
15
 
16
16
  Use this skill for:
17
17
 
18
- - Running `smart-doc-maven-plugin` to generate `target/openapi/openapi.json` from implemented backend code.
18
+ - Running `smart-doc-maven-plugin` to generate an OpenAPI JSON file from implemented backend code.
19
19
  - Copying generated `openapi.json` into the frontend OpenAPI input path expected by Orval.
20
20
  - Running frontend API client generation and inspecting generated TypeScript changes.
21
21
  - Verifying that implemented controllers/DTOs emit the expected OpenAPI shape before call-site updates.
22
22
 
23
23
  Do not use this skill for:
24
24
 
25
- - Designing a new API contract from PRD, prototype, or architecture inputs.
25
+ - Designing a new API contract from Spec, prototype, or architecture inputs.
26
26
  - Defining the unified OpenAPI style guide or reusable API governance rules.
27
- - Reviewing `docs/api/specs/*.yaml` before OpenAPI Freeze.
27
+ - Reviewing design-time OpenAPI Draft files before OpenAPI Freeze.
28
28
  - Choosing REST resource boundaries, error models, permission behavior, pagination standards, or contract test policy.
29
29
 
30
30
  For design-time contract review, use `yss-openapi-draft-review`. For a stronger organization-wide OpenAPI governance baseline, prefer a separate OpenAPI lint/style skill backed by a maintained ruleset tool such as Stoplight Spectral or Redocly CLI, then layer YSS-specific response wrappers, permission, pagination, and security-red-line rules on top.
@@ -32,57 +32,52 @@ For design-time contract review, use `yss-openapi-draft-review`. For a stronger
32
32
  ## Core Flow
33
33
 
34
34
  1. Locate the backend module that owns smart-doc generation.
35
- - In `yss-valuation-outsourced`, this is usually `valuation-outsourced-starter`.
36
- - Confirm the module has `smart-doc-maven-plugin` and a config such as `src/main/resources/smart-doc.json`.
37
- - The smart-doc config's `outPath` determines the generated directory; in this repo it is `target/openapi`.
35
+ - Search the repository for `smart-doc-maven-plugin`, `configFile`, `outPath`, and `smart-doc.json`.
36
+ - Confirm which module contains the controllers/DTOs being changed and which plugin execution includes them.
37
+ - Read the smart-doc config instead of assuming a directory. Its `outPath` determines where the generated OpenAPI JSON is emitted.
38
38
 
39
39
  2. Generate the backend OpenAPI contract from the repository root.
40
- - Use the exact project profile/options the repo expects.
41
- - For this repo, run the root `mvnw`; do not add IntelliJ-specific listener or `-Didea.*` parameters:
40
+ - Use the exact Maven wrapper, profiles, module selector, and plugin version already used by the repository.
41
+ - Prefer the repo's documented generation command if one exists in scripts, docs, CI, or previous command history.
42
+ - Do not add IntelliJ-specific listener or `-Didea.*` parameters.
42
43
 
43
44
  ```bash
44
- sh mvnw -P SpringCloud.2021.0.9,aliyun-only -DskipTests=true -Dmaven.repo.local=/Users/zhudaoming/.m2/repository com.github.shalousun:smart-doc-maven-plugin:yss-4.0.0:openapi -f pom.xml
45
+ ./mvnw <repo profiles/options> <smart-doc plugin goal> -f <root-or-module-pom>
45
46
  ```
46
47
 
47
48
  3. Find the generated `openapi.json`.
48
- - Use `find . -path '*/target/openapi/openapi.json' -print`.
49
- - For this repo, the expected source is `valuation-outsourced-starter/target/openapi/openapi.json`.
50
- - If multiple files exist, choose the one from the module whose `smart-doc.json` and plugin includes cover the controllers/DTOs being changed.
49
+ - Use the smart-doc `outPath` from the selected config as the primary source of truth.
50
+ - If the exact file name is not obvious, search under the configured output directory for OpenAPI JSON files.
51
+ - If multiple files exist, choose the one from the module whose config and plugin includes cover the controllers/DTOs being changed.
51
52
 
52
53
  4. Copy the generated contract into the frontend OpenAPI input.
53
- - In `yss-valuation-outsourced`, copy to `valuation-outsourced-frontend/openapi/openapi.json`.
54
- - Preserve the frontend path expected by `orval.config.ts`; do not invent a new input path unless the config is updated too.
54
+ - Locate the frontend root by finding `orval.config.*` and the package script that runs Orval or API generation.
55
+ - Read the Orval config to identify the OpenAPI input path.
56
+ - Preserve the frontend input path expected by Orval; do not invent a new input path unless the config is updated too.
55
57
 
56
58
  ```bash
57
- cp valuation-outsourced-starter/target/openapi/openapi.json valuation-outsourced-frontend/openapi/openapi.json
59
+ cp <generated-openapi-json> <orval-input-openapi-json>
58
60
  ```
59
61
 
60
62
  5. Regenerate the frontend API client from the frontend root.
61
- - In this repo, run from `valuation-outsourced-frontend`:
63
+ - Use the API generation script already defined by the frontend package when present.
64
+ - If there is no wrapper script, run the configured Orval command and any local cleanup/format scripts referenced by the package scripts.
62
65
 
63
66
  ```bash
64
- pnpm generate:api
65
- ```
66
-
67
- - The script expands to:
68
-
69
- ```bash
70
- orval && node scripts/api-schema-cleanup.cjs && node scripts/api-flatten-exports.cjs && pnpm format:generated
67
+ pnpm <api-generation-script>
71
68
  ```
72
69
 
73
70
  6. Inspect generated changes before touching call sites.
74
- - Check `openapi/openapi.json`.
75
- - Check `packages/src/api/generated/**`.
71
+ - Check the Orval input JSON path from the config.
72
+ - Check the generated client output paths from the Orval config.
76
73
  - Update handwritten call sites only after seeing the regenerated function names, request body shape, params type, and result type.
77
74
 
78
75
  ## How It Works
79
76
 
80
77
  - `smart-doc-maven-plugin` scans Java controller methods, request/response DTOs, annotations, comments, and configured dependency source jars. It emits an OpenAPI contract under the configured `outPath`.
81
78
  - The backend module is the source of truth for routes, HTTP verbs, DTO field names, enum descriptions, binary responses, multipart inputs, and operation IDs.
82
- - The frontend `orval.config.ts` reads `openapi/openapi.json` and generates TypeScript schema types plus axios client functions under `packages/src/api/generated`.
83
- - `scripts/api-schema-cleanup.cjs` changes empty object-like generated schemas from `{ [key: string]: unknown }` to `Record<string, never>` so empty bodies/responses are stricter.
84
- - `scripts/api-flatten-exports.cjs` converts Orval single-mode `getApi()` factory internals into top-level named exports, then keeps `getApi()` as a compatibility wrapper.
85
- - `pnpm format:generated` formats generated TypeScript files.
79
+ - The frontend `orval.config.*` determines which OpenAPI input file is read and where TypeScript schema types plus client functions are generated.
80
+ - Local cleanup, export-flattening, or formatting scripts may post-process generated files. Use them only when they are part of the repository's generation script.
86
81
 
87
82
  ## Repo Checks
88
83
 
@@ -90,35 +85,28 @@ Run these discovery commands when the layout is uncertain:
90
85
 
91
86
  ```bash
92
87
  rg -n "smart-doc-maven-plugin|configFile|outPath|openapi" -S pom.xml '**/pom.xml' '**/smart-doc.json'
93
- find . -maxdepth 5 \( -name 'orval.config.*' -o -name 'package.json' -o -name 'api-schema-cleanup.cjs' -o -name 'api-flatten-exports.cjs' \) -print
88
+ find . -maxdepth 6 \( -name 'orval.config.*' -o -name 'package.json' -o -name 'smart-doc.json' \) -print
89
+ rg -n "orval|format:generated|api-schema-cleanup|api-flatten-exports" -S '**/package.json' '**/orval.config.*'
94
90
  ```
95
91
 
96
- For `yss-valuation-outsourced`, expect:
97
-
98
- - Backend smart-doc config: `valuation-outsourced-starter/src/main/resources/smart-doc.json`
99
- - Backend generated file: `valuation-outsourced-starter/target/openapi/openapi.json`
100
- - Frontend Orval input: `valuation-outsourced-frontend/openapi/openapi.json`
101
- - Frontend Orval config: `valuation-outsourced-frontend/orval.config.ts`
102
- - Frontend generated code: `valuation-outsourced-frontend/packages/src/api/generated`
103
-
104
92
  ## Troubleshooting
105
93
 
106
94
  - If a controller or DTO is missing, check `smart-doc.json` `packageFilters`, the plugin `<includes>`, module dependencies, and whether source jars are available in the local Maven repository.
107
- - If schema names look unstable or invalid, check `componentType`; this repo uses `NORMAL` to keep class-like schema names.
95
+ - If schema names look unstable or invalid, check `componentType` and the repository's smart-doc configuration.
108
96
  - If binary download or Excel upload contracts are wrong, inspect backend annotations and any OpenAPI normalizer/override code in the repo before manually editing generated JSON.
109
97
  - If Orval changes a client function signature, update frontend call sites to match the generated contract. Do not preserve old call shapes by hand-editing generated files.
110
98
  - If `api-flatten-exports.cjs` cannot parse `getApi`, inspect the generated `index.ts`; an Orval version or mode change may have changed the output shape.
111
- - If formatting or generation fails in nested workspaces, run from the frontend root that owns `orval.config.ts` and the `generate:api` script.
99
+ - If formatting or generation fails in nested workspaces, run from the frontend root that owns `orval.config.*` and the API generation script.
112
100
 
113
101
  ## Verification
114
102
 
115
103
  Prefer targeted checks:
116
104
 
117
105
  ```bash
118
- test -s valuation-outsourced-starter/target/openapi/openapi.json
119
- test -s valuation-outsourced-frontend/openapi/openapi.json
120
- cd valuation-outsourced-frontend && pnpm generate:api
121
- git diff -- valuation-outsourced-frontend/openapi/openapi.json valuation-outsourced-frontend/packages/src/api/generated
106
+ test -s <generated-openapi-json>
107
+ test -s <orval-input-openapi-json>
108
+ cd <frontend-root> && pnpm <api-generation-script>
109
+ git diff -- <orval-input-openapi-json> <generated-client-output-paths>
122
110
  ```
123
111
 
124
- For frontend behavior after API signature changes, run the smallest build or type check that is reliable for the repo. In `yss-valuation-outsourced`, `pnpm exec vite build` from the frontend package workspace has historically been a better signal than broad repo-wide checks when toolchain noise exists.
112
+ For frontend behavior after API signature changes, run the smallest build or type check that is reliable for the repository and the affected frontend package.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: yss-openapi-draft-review
3
- description: "Use when reviewing a docs/api/specs OpenAPI Draft before Engineering Baseline, YSS DDD Review, architecture/OpenSpec/Comet design, OpenAPI Freeze, vertical slicing, frontend/backend implementation, or when checking P0 requirement coverage, page action to endpoint mapping, YSS response wrappers, errors, permissions, pagination, optimistic locking, security red lines, and contract test seams."
3
+ description: "Use when reviewing a docs/api/specs OpenAPI Draft before Engineering Baseline, YSS DDD Review, architecture/Spec Delta design, OpenAPI Freeze, vertical slicing, frontend/backend implementation, or when checking P0 requirement coverage, page action to endpoint mapping, YSS response wrappers, errors, permissions, pagination, optimistic locking, security red lines, and contract test seams."
4
4
  ---
5
5
 
6
6
  # YSS OpenAPI Draft Review
@@ -10,14 +10,14 @@ Use this skill after OpenAPI Draft creation and before Engineering Baseline / YS
10
10
  ## Required Inputs
11
11
 
12
12
  - OpenAPI Draft under `docs/api/specs/*.yaml`.
13
- - Calibrated PRD.
13
+ - Calibrated Spec.
14
14
  - Interaction spec / prototype review when UI exists.
15
15
  - YSS engineering baseline rules, especially `SingleResult<T>`, `MultiResult<T>`, and `PageResult<T>`.
16
16
 
17
17
  ## Review Flow
18
18
 
19
19
  1. Parse the OpenAPI file and verify YAML, `$ref`, path parameters, and lint when tooling is available.
20
- 2. Build a P0 traceability matrix from PRD functional requirements and interaction actions to OpenAPI paths, schemas, errors, and contract tests.
20
+ 2. Build a P0 traceability matrix from Spec functional requirements and interaction actions to OpenAPI paths, schemas, errors, and contract tests.
21
21
  3. Check page action coverage: every action has `actionKey`, endpoint or explicit non-goal, permission behavior, state transition, idempotency/concurrency rule, and error codes.
22
22
  4. Check object lifecycle coverage: manage/maintain/configure/create/update/archive/retry/cancel/publish/export/create-draft semantics have endpoints or explicit scope downgrades.
23
23
  5. Check YSS API baseline: REST shape, `SingleResult<T>` for single objects, `MultiResult<T>` for non-page lists, `PageResult<T>` for pagination, and stable DTO/schema names.
@@ -15,13 +15,13 @@ Use `yss-openapi-governance` for:
15
15
  - Running Spectral or Redocly CLI against `docs/api/specs/*.yaml`.
16
16
  - Checking YSS response wrappers, error contracts, pagination, permissions, security red lines, and contract-test seams.
17
17
  - Comparing generated `openapi.json` against frozen design rules when backend code is already implemented.
18
- - Writing or updating governance notes under `docs/api/`, `docs/architecture/`, or the active OpenSpec / Comet design.
18
+ - Writing or updating governance notes under `docs/api/`, `docs/architecture/`, or the active Spec Delta design.
19
19
 
20
20
  Use other skills for:
21
21
 
22
22
  - `yss-openapi`: generate `target/openapi/openapi.json` from implemented controllers/DTOs and refresh Orval clients.
23
- - `yss-openapi-draft-review`: perform fail-closed semantic review against PRD, prototype, page actions, P0 coverage, and architecture readiness.
24
- - `openspec-*` or `comet-*`: formalize behavior changes and implementation tasks after the contract is frozen.
23
+ - `yss-openapi-draft-review`: perform fail-closed semantic review against Spec, prototype, page actions, P0 coverage, and architecture readiness.
24
+ - `docs/specs/*-spec-delta.md` and `to-tickets`: formalize behavior changes and implementation tickets after the contract is frozen.
25
25
 
26
26
  ## Preferred Tooling
27
27
 
@@ -71,7 +71,7 @@ If neither tool is configured, do not invent project policy silently. Create or
71
71
  5. Produce governance output.
72
72
  - For quick checks, report lint command, pass/fail result, and blocking findings with file paths.
73
73
  - For durable decisions, write or update a Chinese governance artifact under `docs/api/` or `docs/architecture/`.
74
- - For active OpenSpec / Comet work, reference the active change and keep rules aligned with `proposal.md`, `design.md`, `tasks.md`, and specs.
74
+ - For active Spec Delta work, reference the active change and keep rules aligned with the related design, task, and spec artifacts.
75
75
 
76
76
  ## Minimal Spectral Baseline
77
77