create-yss-spec 2.1.10 → 2.1.13

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 (1222) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/template/.agents/skills/ask-matt/SKILL.md +8 -2
  4. package/template/.agents/skills/code-review/SKILL.md +6 -4
  5. package/template/.agents/skills/high-fidelity-html-prototype/SKILL.md +2 -19
  6. package/template/.agents/skills/implement/SKILL.md +1 -1
  7. package/template/.agents/skills/llm-wiki/SKILL.md +60 -0
  8. package/template/.agents/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
  9. package/template/.agents/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
  10. package/template/.agents/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
  11. package/template/.agents/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
  12. package/template/.agents/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
  13. package/template/.agents/skills/llm-wiki/references/compile.md +126 -0
  14. package/template/.agents/skills/llm-wiki/references/discover.md +41 -0
  15. package/template/.agents/skills/llm-wiki/references/ingest.md +36 -0
  16. package/template/.agents/skills/llm-wiki/references/lint.md +54 -0
  17. package/template/.agents/skills/llm-wiki/references/query.md +21 -0
  18. package/template/.agents/skills/llm-wiki/references/schema.md +45 -0
  19. package/template/.agents/skills/llm-wiki/references/writing.md +35 -0
  20. package/template/.agents/skills/llm-wiki/scripts/advise.mjs +196 -0
  21. package/template/.agents/skills/llm-wiki/scripts/advise.test.mjs +91 -0
  22. package/template/.agents/skills/llm-wiki/scripts/extract.mjs +55 -0
  23. package/template/.agents/skills/llm-wiki/scripts/extract.test.mjs +34 -0
  24. package/template/.agents/skills/llm-wiki/scripts/inventory.mjs +174 -0
  25. package/template/.agents/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
  26. package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
  27. package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
  28. package/template/.agents/skills/to-spec/SKILL.md +1 -1
  29. package/template/.agents/skills/yss-antd-design/SKILL.md +34 -0
  30. package/template/.agents/skills/yss-antd-design/references/boundaries.md +30 -0
  31. package/template/.agents/skills/yss-antd-design/references/cli-matrix.md +38 -0
  32. package/template/.agents/skills/yss-antd-design/references/evidence.md +26 -0
  33. package/template/.agents/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
  34. package/template/.agents/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
  35. package/template/.agents/skills/yss-api-integration/SKILL.md +2 -0
  36. package/template/.agents/skills/yss-application/SKILL.md +52 -0
  37. package/template/.agents/skills/yss-application/agents/openai.yaml +5 -0
  38. package/template/{.claude/skills/yss-backend-scaffold-application/SKILL.md → .agents/skills/yss-application/references/application-layer-guide.md} +0 -7
  39. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  40. package/template/.agents/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  41. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  42. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  43. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  44. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  45. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  46. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  47. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  48. package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  49. package/template/.agents/skills/yss-design-system/SKILL.md +9 -5
  50. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +64 -0
  51. package/template/.agents/skills/yss-design-system/references/design-system.md +20 -12
  52. package/template/.agents/skills/yss-domain/SKILL.md +5 -0
  53. package/template/{.claude/skills/yss-backend-scaffold-domain/SKILL.md → .agents/skills/yss-domain/references/domain-layer-guide.md} +0 -7
  54. package/template/.agents/skills/yss-microapp-commit/SKILL.md +2 -0
  55. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +1 -1
  56. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +2 -2
  57. package/template/.agents/skills/yss-prototype-stage/SKILL.md +4 -2
  58. package/template/.agents/skills/yss-repository/SKILL.md +5 -0
  59. package/template/{.codex/skills/yss-backend-scaffold-infrastructure/SKILL.md → .agents/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
  60. package/template/.agents/skills/yss-router/references/boundaries.md +2 -6
  61. package/template/.agents/skills/yss-router/references/router-contract.yaml +8 -12
  62. package/template/.agents/skills/yss-source-index/references/source-map-config.md +0 -4
  63. package/template/.agents/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  64. package/template/.agents/skills/yss-ui/SKILL.md +1 -1
  65. package/template/.agents/skills/yss-web-controller/SKILL.md +1 -0
  66. package/template/.agents/skills/{yss-backend-scaffold-web/SKILL.md → yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
  67. package/template/.claude/skills/ask-matt/SKILL.md +8 -2
  68. package/template/.claude/skills/code-review/SKILL.md +6 -4
  69. package/template/.claude/skills/high-fidelity-html-prototype/SKILL.md +2 -19
  70. package/template/.claude/skills/implement/SKILL.md +1 -1
  71. package/template/.claude/skills/llm-wiki/SKILL.md +60 -0
  72. package/template/.claude/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
  73. package/template/.claude/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
  74. package/template/.claude/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
  75. package/template/.claude/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
  76. package/template/.claude/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
  77. package/template/.claude/skills/llm-wiki/references/compile.md +126 -0
  78. package/template/.claude/skills/llm-wiki/references/discover.md +41 -0
  79. package/template/.claude/skills/llm-wiki/references/ingest.md +36 -0
  80. package/template/.claude/skills/llm-wiki/references/lint.md +54 -0
  81. package/template/.claude/skills/llm-wiki/references/query.md +21 -0
  82. package/template/.claude/skills/llm-wiki/references/schema.md +45 -0
  83. package/template/.claude/skills/llm-wiki/references/writing.md +35 -0
  84. package/template/.claude/skills/llm-wiki/scripts/advise.mjs +196 -0
  85. package/template/.claude/skills/llm-wiki/scripts/advise.test.mjs +91 -0
  86. package/template/.claude/skills/llm-wiki/scripts/extract.mjs +55 -0
  87. package/template/.claude/skills/llm-wiki/scripts/extract.test.mjs +34 -0
  88. package/template/.claude/skills/llm-wiki/scripts/inventory.mjs +174 -0
  89. package/template/.claude/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
  90. package/template/.claude/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
  91. package/template/.claude/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
  92. package/template/.claude/skills/to-spec/SKILL.md +1 -1
  93. package/template/.claude/skills/yss-antd-design/SKILL.md +34 -0
  94. package/template/.claude/skills/yss-antd-design/references/boundaries.md +30 -0
  95. package/template/.claude/skills/yss-antd-design/references/cli-matrix.md +38 -0
  96. package/template/.claude/skills/yss-antd-design/references/evidence.md +26 -0
  97. package/template/.claude/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
  98. package/template/.claude/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
  99. package/template/.claude/skills/yss-api-integration/SKILL.md +2 -0
  100. package/template/.claude/skills/yss-application/SKILL.md +52 -0
  101. package/template/.claude/skills/yss-application/agents/openai.yaml +5 -0
  102. package/template/{.codex/skills/yss-backend-scaffold-application/SKILL.md → .claude/skills/yss-application/references/application-layer-guide.md} +0 -7
  103. package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  104. package/template/.claude/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  105. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  106. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  107. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  108. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  109. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  110. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  111. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  112. package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  113. package/template/.claude/skills/yss-design-system/SKILL.md +9 -5
  114. package/template/.claude/skills/yss-design-system/references/design-qa-theme.md +64 -0
  115. package/template/.claude/skills/yss-design-system/references/design-system.md +20 -12
  116. package/template/.claude/skills/yss-domain/SKILL.md +5 -0
  117. package/template/{.agents/skills/yss-backend-scaffold-domain/SKILL.md → .claude/skills/yss-domain/references/domain-layer-guide.md} +0 -7
  118. package/template/.claude/skills/yss-microapp-commit/SKILL.md +2 -0
  119. package/template/.claude/skills/yss-product-lifecycle/SKILL.md +1 -1
  120. package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +2 -2
  121. package/template/.claude/skills/yss-prototype-stage/SKILL.md +4 -2
  122. package/template/.claude/skills/yss-repository/SKILL.md +5 -0
  123. package/template/.claude/skills/{yss-backend-scaffold-infrastructure/SKILL.md → yss-repository/references/infrastructure-layer-guide.md} +0 -7
  124. package/template/.claude/skills/yss-router/references/boundaries.md +2 -6
  125. package/template/.claude/skills/yss-router/references/router-contract.yaml +8 -12
  126. package/template/.claude/skills/yss-source-index/references/source-map-config.md +0 -4
  127. package/template/.claude/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  128. package/template/.claude/skills/yss-ui/SKILL.md +1 -1
  129. package/template/.claude/skills/yss-web-controller/SKILL.md +1 -0
  130. package/template/{.codex/skills/yss-backend-scaffold-web/SKILL.md → .claude/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
  131. package/template/.codex/skills/ask-matt/SKILL.md +8 -2
  132. package/template/.codex/skills/code-review/SKILL.md +6 -4
  133. package/template/.codex/skills/high-fidelity-html-prototype/SKILL.md +2 -19
  134. package/template/.codex/skills/implement/SKILL.md +1 -1
  135. package/template/.codex/skills/llm-wiki/SKILL.md +60 -0
  136. package/template/.codex/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
  137. package/template/.codex/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
  138. package/template/.codex/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
  139. package/template/.codex/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
  140. package/template/.codex/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
  141. package/template/.codex/skills/llm-wiki/references/compile.md +126 -0
  142. package/template/.codex/skills/llm-wiki/references/discover.md +41 -0
  143. package/template/.codex/skills/llm-wiki/references/ingest.md +36 -0
  144. package/template/.codex/skills/llm-wiki/references/lint.md +54 -0
  145. package/template/.codex/skills/llm-wiki/references/query.md +21 -0
  146. package/template/.codex/skills/llm-wiki/references/schema.md +45 -0
  147. package/template/.codex/skills/llm-wiki/references/writing.md +35 -0
  148. package/template/.codex/skills/llm-wiki/scripts/advise.mjs +196 -0
  149. package/template/.codex/skills/llm-wiki/scripts/advise.test.mjs +91 -0
  150. package/template/.codex/skills/llm-wiki/scripts/extract.mjs +55 -0
  151. package/template/.codex/skills/llm-wiki/scripts/extract.test.mjs +34 -0
  152. package/template/.codex/skills/llm-wiki/scripts/inventory.mjs +174 -0
  153. package/template/.codex/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
  154. package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
  155. package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
  156. package/template/.codex/skills/to-spec/SKILL.md +1 -1
  157. package/template/.codex/skills/yss-antd-design/SKILL.md +34 -0
  158. package/template/.codex/skills/yss-antd-design/references/boundaries.md +30 -0
  159. package/template/.codex/skills/yss-antd-design/references/cli-matrix.md +38 -0
  160. package/template/.codex/skills/yss-antd-design/references/evidence.md +26 -0
  161. package/template/.codex/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
  162. package/template/.codex/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
  163. package/template/.codex/skills/yss-api-integration/SKILL.md +2 -0
  164. package/template/.codex/skills/yss-application/SKILL.md +52 -0
  165. package/template/.codex/skills/yss-application/agents/openai.yaml +5 -0
  166. package/template/{.agents/skills/yss-backend-scaffold-application/SKILL.md → .codex/skills/yss-application/references/application-layer-guide.md} +0 -7
  167. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  168. package/template/.codex/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  169. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  170. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  171. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  172. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  173. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  174. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  175. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  176. package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  177. package/template/.codex/skills/yss-design-system/SKILL.md +9 -5
  178. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +64 -0
  179. package/template/.codex/skills/yss-design-system/references/design-system.md +20 -12
  180. package/template/.codex/skills/yss-domain/SKILL.md +5 -0
  181. package/template/.codex/skills/{yss-backend-scaffold-domain/SKILL.md → yss-domain/references/domain-layer-guide.md} +0 -7
  182. package/template/.codex/skills/yss-microapp-commit/SKILL.md +2 -0
  183. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +1 -1
  184. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +2 -2
  185. package/template/.codex/skills/yss-prototype-stage/SKILL.md +4 -2
  186. package/template/.codex/skills/yss-repository/SKILL.md +5 -0
  187. package/template/{.hermes/skills/yss-backend-scaffold-infrastructure/SKILL.md → .codex/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
  188. package/template/.codex/skills/yss-router/references/boundaries.md +2 -6
  189. package/template/.codex/skills/yss-router/references/router-contract.yaml +8 -12
  190. package/template/.codex/skills/yss-source-index/references/source-map-config.md +0 -4
  191. package/template/.codex/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  192. package/template/.codex/skills/yss-ui/SKILL.md +1 -1
  193. package/template/.codex/skills/yss-web-controller/SKILL.md +1 -0
  194. package/template/{.hermes/skills/yss-backend-scaffold-web/SKILL.md → .codex/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
  195. package/template/.cursor/environment.json +5 -0
  196. package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +51 -0
  197. package/template/.cursor/skills/alibaba-java-code-style/agents/openai.yaml +4 -0
  198. package/template/.cursor/skills/alibaba-java-code-style/references/database-engineering-design.md +147 -0
  199. package/template/.cursor/skills/alibaba-java-code-style/references/java-programming.md +178 -0
  200. package/template/.cursor/skills/alibaba-java-code-style/references/reliability-test-security.md +89 -0
  201. package/template/.cursor/skills/ask-matt/PHASE-BOUNDARIES.md +55 -0
  202. package/template/.cursor/skills/ask-matt/SKILL.md +95 -0
  203. package/template/.cursor/skills/ask-matt/agents/openai.yaml +5 -0
  204. package/template/.cursor/skills/code-review/SKILL.md +117 -0
  205. package/template/.cursor/skills/code-review/agents/openai.yaml +3 -0
  206. package/template/.cursor/skills/codebase-design/DEEPENING.md +37 -0
  207. package/template/.cursor/skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  208. package/template/.cursor/skills/codebase-design/SKILL.md +114 -0
  209. package/template/.cursor/skills/codebase-design/agents/openai.yaml +3 -0
  210. package/template/.cursor/skills/competitive-intelligence/SKILL.md +94 -0
  211. package/template/.cursor/skills/cross-repo-implementation-routing/SKILL.md +51 -0
  212. package/template/.cursor/skills/diagnosing-bugs/SKILL.md +138 -0
  213. package/template/.cursor/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  214. package/template/.cursor/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +44 -0
  215. package/template/.cursor/skills/dispatching-parallel-agents/SKILL.md +185 -0
  216. package/template/.cursor/skills/domain-modeling/ADR-FORMAT.md +47 -0
  217. package/template/.cursor/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  218. package/template/.cursor/skills/domain-modeling/SKILL.md +74 -0
  219. package/template/.cursor/skills/domain-modeling/agents/openai.yaml +3 -0
  220. package/template/.cursor/skills/grill-me/SKILL.md +7 -0
  221. package/template/.cursor/skills/grill-me/agents/openai.yaml +5 -0
  222. package/template/.cursor/skills/grill-with-docs/SKILL.md +19 -0
  223. package/template/.cursor/skills/grill-with-docs/agents/openai.yaml +5 -0
  224. package/template/.cursor/skills/grilling/SKILL.md +28 -0
  225. package/template/.cursor/skills/grilling/agents/openai.yaml +3 -0
  226. package/template/.cursor/skills/handoff/SKILL.md +16 -0
  227. package/template/.cursor/skills/handoff/agents/openai.yaml +5 -0
  228. package/template/.cursor/skills/high-fidelity-html-prototype/SKILL.md +89 -0
  229. package/template/.cursor/skills/high-fidelity-html-prototype/agents/openai.yaml +5 -0
  230. package/template/.cursor/skills/implement/SKILL.md +15 -0
  231. package/template/.cursor/skills/implement/agents/openai.yaml +5 -0
  232. package/template/.cursor/skills/implementation-repo-onboarding/SKILL.md +50 -0
  233. package/template/.cursor/skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
  234. package/template/.cursor/skills/improve-codebase-architecture/SKILL.md +71 -0
  235. package/template/.cursor/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  236. package/template/.cursor/skills/llm-wiki/SKILL.md +60 -0
  237. package/template/.cursor/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
  238. package/template/.cursor/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
  239. package/template/.cursor/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
  240. package/template/.cursor/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
  241. package/template/.cursor/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
  242. package/template/.cursor/skills/llm-wiki/references/compile.md +126 -0
  243. package/template/.cursor/skills/llm-wiki/references/discover.md +41 -0
  244. package/template/.cursor/skills/llm-wiki/references/ingest.md +36 -0
  245. package/template/.cursor/skills/llm-wiki/references/lint.md +54 -0
  246. package/template/.cursor/skills/llm-wiki/references/query.md +21 -0
  247. package/template/.cursor/skills/llm-wiki/references/schema.md +45 -0
  248. package/template/.cursor/skills/llm-wiki/references/writing.md +35 -0
  249. package/template/.cursor/skills/llm-wiki/scripts/advise.mjs +196 -0
  250. package/template/.cursor/skills/llm-wiki/scripts/advise.test.mjs +91 -0
  251. package/template/.cursor/skills/llm-wiki/scripts/extract.mjs +55 -0
  252. package/template/.cursor/skills/llm-wiki/scripts/extract.test.mjs +34 -0
  253. package/template/.cursor/skills/llm-wiki/scripts/inventory.mjs +174 -0
  254. package/template/.cursor/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
  255. package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
  256. package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
  257. package/template/.cursor/skills/lombok/SKILL.md +351 -0
  258. package/template/.cursor/skills/loop-me/SKILL.md +32 -0
  259. package/template/.cursor/skills/loop-me/agents/openai.yaml +5 -0
  260. package/template/.cursor/skills/maintaining-skills/SKILL.md +25 -0
  261. package/template/.cursor/skills/mapstruct/SKILL.md +334 -0
  262. package/template/.cursor/skills/migrate-to-shoehorn/SKILL.md +118 -0
  263. package/template/.cursor/skills/migrate-to-shoehorn/agents/openai.yaml +3 -0
  264. package/template/.cursor/skills/prototype/LOGIC.md +67 -0
  265. package/template/.cursor/skills/prototype/SKILL.md +26 -0
  266. package/template/.cursor/skills/prototype/UI.md +112 -0
  267. package/template/.cursor/skills/prototype/agents/openai.yaml +3 -0
  268. package/template/.cursor/skills/prototype-review/SKILL.md +74 -0
  269. package/template/.cursor/skills/prototype-review/agents/openai.yaml +4 -0
  270. package/template/.cursor/skills/research/SKILL.md +12 -0
  271. package/template/.cursor/skills/research/agents/openai.yaml +3 -0
  272. package/template/.cursor/skills/resolving-merge-conflicts/SKILL.md +14 -0
  273. package/template/.cursor/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  274. package/template/.cursor/skills/scaffold-exercises/SKILL.md +106 -0
  275. package/template/.cursor/skills/scaffold-exercises/agents/openai.yaml +3 -0
  276. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +125 -0
  277. package/template/.cursor/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  278. package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +51 -0
  279. package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-github.md +45 -0
  280. package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
  281. package/template/.cursor/skills/setup-matt-pocock-skills/issue-tracker-local.md +66 -0
  282. package/template/.cursor/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
  283. package/template/.cursor/skills/setup-pre-commit/SKILL.md +91 -0
  284. package/template/.cursor/skills/setup-pre-commit/agents/openai.yaml +3 -0
  285. package/template/.cursor/skills/setup-ts-deep-modules/SKILL.md +102 -0
  286. package/template/.cursor/skills/setup-ts-deep-modules/agents/openai.yaml +5 -0
  287. package/template/.cursor/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +95 -0
  288. package/template/.cursor/skills/tdd/SKILL.md +38 -0
  289. package/template/.cursor/skills/tdd/agents/openai.yaml +3 -0
  290. package/template/.cursor/skills/tdd/mocking.md +59 -0
  291. package/template/.cursor/skills/tdd/tests.md +77 -0
  292. package/template/.cursor/skills/teach/GLOSSARY-FORMAT.md +35 -0
  293. package/template/.cursor/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  294. package/template/.cursor/skills/teach/MISSION-FORMAT.md +31 -0
  295. package/template/.cursor/skills/teach/RESOURCES-FORMAT.md +32 -0
  296. package/template/.cursor/skills/teach/SKILL.md +140 -0
  297. package/template/.cursor/skills/teach/agents/openai.yaml +5 -0
  298. package/template/.cursor/skills/to-questionnaire/SKILL.md +53 -0
  299. package/template/.cursor/skills/to-questionnaire/agents/openai.yaml +5 -0
  300. package/template/.cursor/skills/to-spec/SKILL.md +75 -0
  301. package/template/.cursor/skills/to-spec/agents/openai.yaml +5 -0
  302. package/template/.cursor/skills/to-tickets/SKILL.md +105 -0
  303. package/template/.cursor/skills/to-tickets/agents/openai.yaml +5 -0
  304. package/template/.cursor/skills/triage/AGENT-BRIEF.md +207 -0
  305. package/template/.cursor/skills/triage/OUT-OF-SCOPE.md +105 -0
  306. package/template/.cursor/skills/triage/SKILL.md +112 -0
  307. package/template/.cursor/skills/triage/agents/openai.yaml +5 -0
  308. package/template/.cursor/skills/using-git-worktrees/SKILL.md +202 -0
  309. package/template/.cursor/skills/wait-what/SKILL.md +7 -0
  310. package/template/.cursor/skills/wait-what/agents/openai.yaml +5 -0
  311. package/template/.cursor/skills/wayfinder/SKILL.md +128 -0
  312. package/template/.cursor/skills/wayfinder/agents/openai.yaml +5 -0
  313. package/template/.cursor/skills/writing-beats/SKILL.md +67 -0
  314. package/template/.cursor/skills/writing-beats/agents/openai.yaml +5 -0
  315. package/template/.cursor/skills/writing-for-agents/SKILL-MECHANICS.md +22 -0
  316. package/template/.cursor/skills/writing-for-agents/SKILL.md +81 -0
  317. package/template/.cursor/skills/writing-for-agents/agents/openai.yaml +3 -0
  318. package/template/.cursor/skills/writing-fragments/SKILL.md +79 -0
  319. package/template/.cursor/skills/writing-fragments/agents/openai.yaml +5 -0
  320. package/template/.cursor/skills/writing-shape/SKILL.md +79 -0
  321. package/template/.cursor/skills/writing-shape/agents/openai.yaml +5 -0
  322. package/template/.cursor/skills/yss-antd-design/SKILL.md +34 -0
  323. package/template/.cursor/skills/yss-antd-design/references/boundaries.md +30 -0
  324. package/template/.cursor/skills/yss-antd-design/references/cli-matrix.md +38 -0
  325. package/template/.cursor/skills/yss-antd-design/references/evidence.md +26 -0
  326. package/template/.cursor/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
  327. package/template/.cursor/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
  328. package/template/.cursor/skills/yss-api-integration/SKILL.md +429 -0
  329. package/template/.cursor/skills/yss-api-integration/agents/openai.yaml +5 -0
  330. package/template/.cursor/skills/yss-application/SKILL.md +52 -0
  331. package/template/.cursor/skills/yss-application/agents/openai.yaml +5 -0
  332. package/template/{.hermes/skills/yss-backend-scaffold-application/SKILL.md → .cursor/skills/yss-application/references/application-layer-guide.md} +0 -7
  333. package/template/.cursor/skills/yss-audit-log/SKILL.md +67 -0
  334. package/template/.cursor/skills/yss-audit-log/agents/openai.yaml +5 -0
  335. package/template/.cursor/skills/yss-audit-log/assets/AuditLogAspect.java +262 -0
  336. package/template/.cursor/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +37 -0
  337. package/template/.cursor/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +18 -0
  338. package/template/.cursor/skills/yss-audit-log/assets/YssAuditPublishService.java +69 -0
  339. package/template/.cursor/skills/yss-audit-log/references/README.md +69 -0
  340. package/template/.cursor/skills/yss-audit-log/references/source-index.md +43 -0
  341. package/template/.cursor/skills/yss-cache/SKILL.md +44 -0
  342. package/template/.cursor/skills/yss-cache/agents/openai.yaml +5 -0
  343. package/template/.cursor/skills/yss-cache/references/annotations.md +39 -0
  344. package/template/.cursor/skills/yss-cache/references/architecture.md +25 -0
  345. package/template/.cursor/skills/yss-cache/references/configuration.md +34 -0
  346. package/template/.cursor/skills/yss-cache/references/redis-fallback.md +23 -0
  347. package/template/.cursor/skills/yss-cache/references/redis-topology.md +62 -0
  348. package/template/.cursor/skills/yss-cache/references/serialization.md +17 -0
  349. package/template/.cursor/skills/yss-cache/references/source-index.md +67 -0
  350. package/template/.cursor/skills/yss-cache/references/troubleshooting.md +33 -0
  351. package/template/.cursor/skills/yss-cache/references/verification.md +34 -0
  352. package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +84 -0
  353. package/template/.cursor/skills/yss-cache/scripts/inspect-cache-usage.sh +96 -0
  354. package/template/.cursor/skills/yss-cache/scripts/verify-cache-component.sh +101 -0
  355. package/template/.cursor/skills/yss-components/SKILL.md +386 -0
  356. package/template/.cursor/skills/yss-components/agents/openai.yaml +5 -0
  357. package/template/.cursor/skills/yss-components/references/frontend-docs.md +9 -0
  358. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +96 -0
  359. package/template/.cursor/skills/yss-ddd-scaffold-generator/agents/openai.yaml +5 -0
  360. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +37 -0
  361. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/logback-spring.xml.template +15 -0
  362. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/parent-pom.xml.template +84 -0
  363. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/adapter-pom.xml.template +19 -0
  364. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +43 -0
  365. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +50 -0
  366. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/domain-pom.xml.template +36 -0
  367. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/infrastructure-pom.xml.template +34 -0
  368. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +95 -0
  369. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +44 -0
  370. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/jvm.config +1 -0
  371. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/maven.config +3 -0
  372. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/settings.xml +128 -0
  373. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/MavenWrapperDownloader.java +117 -0
  374. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.jar +0 -0
  375. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.properties +18 -0
  376. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw +316 -0
  377. package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw.cmd +188 -0
  378. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +194 -0
  379. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +420 -0
  380. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +199 -0
  381. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +5 -0
  382. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +8 -0
  383. package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  384. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +8 -0
  385. package/template/{.agents/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  386. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +8 -0
  387. package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  388. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +138 -0
  389. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +5 -0
  390. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +8 -0
  391. package/template/{.claude/skills → .cursor/skills/yss-ddd-scaffold-generator/references}/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  392. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +225 -0
  393. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +32 -0
  394. package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +26 -0
  395. package/template/.cursor/skills/yss-design-system/SKILL.md +103 -0
  396. package/template/.cursor/skills/yss-design-system/agents/openai.yaml +5 -0
  397. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +64 -0
  398. package/template/.cursor/skills/yss-design-system/references/design-system.md +245 -0
  399. package/template/.cursor/skills/yss-design-system/scripts/validate-frontmatter.mjs +36 -0
  400. package/template/.cursor/skills/yss-design-system/scripts/validate-frontmatter.test.mjs +12 -0
  401. package/template/.cursor/skills/yss-distributed-id/SKILL.md +69 -0
  402. package/template/.cursor/skills/yss-distributed-id/agents/openai.yaml +5 -0
  403. package/template/.cursor/skills/yss-distributed-id/assets/AutoIdInterceptor.java +246 -0
  404. package/template/.cursor/skills/yss-distributed-id/assets/EnableDistributedId.java +25 -0
  405. package/template/.cursor/skills/yss-distributed-id/assets/LeafConf.java +36 -0
  406. package/template/.cursor/skills/yss-distributed-id/references/README.md +51 -0
  407. package/template/.cursor/skills/yss-distributed-id/references/source-index.md +86 -0
  408. package/template/.cursor/skills/yss-domain/SKILL.md +68 -0
  409. package/template/.cursor/skills/yss-domain/agents/openai.yaml +5 -0
  410. package/template/{.hermes/skills/yss-backend-scaffold-domain/SKILL.md → .cursor/skills/yss-domain/references/domain-layer-guide.md} +0 -7
  411. package/template/.cursor/skills/yss-dto/SKILL.md +86 -0
  412. package/template/.cursor/skills/yss-dto/agents/openai.yaml +5 -0
  413. package/template/.cursor/skills/yss-dto/assets/CommandDTO.java +8 -0
  414. package/template/.cursor/skills/yss-dto/assets/PageQuery.java +133 -0
  415. package/template/.cursor/skills/yss-dto/assets/QueryDTO.java +6 -0
  416. package/template/.cursor/skills/yss-dto/assets/Result.java +105 -0
  417. package/template/.cursor/skills/yss-dto/references/README.md +67 -0
  418. package/template/.cursor/skills/yss-dto/references/openapi-wire-profile.yaml +181 -0
  419. package/template/.cursor/skills/yss-dto/references/source-index.md +55 -0
  420. package/template/.cursor/skills/yss-excel-mvc/SKILL.md +66 -0
  421. package/template/.cursor/skills/yss-excel-mvc/agents/openai.yaml +5 -0
  422. package/template/.cursor/skills/yss-excel-mvc/assets/ExcelDynamicData.java +66 -0
  423. package/template/.cursor/skills/yss-excel-mvc/assets/RequestExcel.java +33 -0
  424. package/template/.cursor/skills/yss-excel-mvc/assets/RequestFastExcelArgumentResolver.java +272 -0
  425. package/template/.cursor/skills/yss-excel-mvc/assets/ResponseExcel.java +46 -0
  426. package/template/.cursor/skills/yss-excel-mvc/assets/ResponseFastExcelReturnValueHandler.java +154 -0
  427. package/template/.cursor/skills/yss-excel-mvc/references/README.md +5 -0
  428. package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +74 -0
  429. package/template/.cursor/skills/yss-exception/SKILL.md +55 -0
  430. package/template/.cursor/skills/yss-exception/agents/openai.yaml +4 -0
  431. package/template/{.agents/skills/yss-log → .cursor/skills/yss-exception}/references/source-index.md +8 -7
  432. package/template/.cursor/skills/yss-formily/SKILL.md +304 -0
  433. package/template/.cursor/skills/yss-formily/agents/openai.yaml +5 -0
  434. package/template/.cursor/skills/yss-formily/references/examples.md +65 -0
  435. package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +189 -0
  436. package/template/.cursor/skills/yss-formily-schema-generator/agents/openai.yaml +5 -0
  437. package/template/.cursor/skills/yss-formily-schema-generator/assets/java-sdk/ExampleUsage.java +111 -0
  438. package/template/.cursor/skills/yss-formily-schema-generator/assets/java-sdk/YssFormilyDsl.java +1219 -0
  439. package/template/.cursor/skills/yss-formily-schema-generator/references/workflow.md +240 -0
  440. package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +76 -0
  441. package/template/.cursor/skills/yss-hook/SKILL.md +200 -0
  442. package/template/.cursor/skills/yss-hook/agents/openai.yaml +5 -0
  443. package/template/.cursor/skills/yss-hook/references/frontend-docs.md +10 -0
  444. package/template/.cursor/skills/yss-microapp-commit/SKILL.md +201 -0
  445. package/template/.cursor/skills/yss-microapp-commit/agents/openai.yaml +5 -0
  446. package/template/.cursor/skills/yss-microapp-commit/references/scope-mapping.md +204 -0
  447. package/template/.cursor/skills/yss-mybatis/SKILL.md +77 -0
  448. package/template/.cursor/skills/yss-mybatis/agents/openai.yaml +5 -0
  449. package/template/.cursor/skills/yss-mybatis/assets/BaseRepository.java +112 -0
  450. package/template/.cursor/skills/yss-mybatis/assets/EntityQueryAspect.java +37 -0
  451. package/template/.cursor/skills/yss-mybatis/assets/MybatisBaseConfiguration.java +18 -0
  452. package/template/.cursor/skills/yss-mybatis/assets/PageQueryEntityConfigration.java +18 -0
  453. package/template/.cursor/skills/yss-mybatis/references/README.md +57 -0
  454. package/template/.cursor/skills/yss-mybatis/references/source-index.md +93 -0
  455. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +82 -0
  456. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +130 -0
  457. package/template/.cursor/skills/yss-openapi-governance/agents/openai.yaml +4 -0
  458. package/template/.cursor/skills/yss-page-module-development/SKILL.md +153 -0
  459. package/template/.cursor/skills/yss-page-module-development/agents/openai.yaml +5 -0
  460. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +32 -0
  461. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +158 -0
  462. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +188 -0
  463. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +256 -0
  464. package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +76 -0
  465. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/constant.ts +128 -0
  466. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +144 -0
  467. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +141 -0
  468. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/index.vue +175 -0
  469. package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/style.less +83 -0
  470. package/template/.cursor/skills/yss-page-module-development/references/frontend-docs.md +11 -0
  471. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +49 -0
  472. package/template/.cursor/skills/yss-product-lifecycle/agents/openai.yaml +4 -0
  473. package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +32 -0
  474. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +122 -0
  475. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +521 -0
  476. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +103 -0
  477. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +107 -0
  478. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +42 -0
  479. package/template/.cursor/skills/yss-repository/SKILL.md +76 -0
  480. package/template/.cursor/skills/yss-repository/agents/openai.yaml +5 -0
  481. package/template/{.agents/skills/yss-backend-scaffold-infrastructure/SKILL.md → .cursor/skills/yss-repository/references/infrastructure-layer-guide.md} +0 -7
  482. package/template/.cursor/skills/yss-resilience4j/SKILL.md +46 -0
  483. package/template/.cursor/skills/yss-resilience4j/agents/openai.yaml +4 -0
  484. package/template/{.hermes/skills/yss-jdbc → .cursor/skills/yss-resilience4j}/references/source-index.md +6 -6
  485. package/template/.cursor/skills/yss-router/SKILL.md +49 -0
  486. package/template/.cursor/skills/yss-router/agents/openai.yaml +4 -0
  487. package/template/.cursor/skills/yss-router/references/boundaries.md +50 -0
  488. package/template/.cursor/skills/yss-router/references/router-contract.yaml +245 -0
  489. package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +113 -0
  490. package/template/.cursor/skills/yss-router/references/yss-skill-execution-result.md +62 -0
  491. package/template/.cursor/skills/yss-security-algorithm/SKILL.md +52 -0
  492. package/template/.cursor/skills/yss-security-algorithm/agents/openai.yaml +4 -0
  493. package/template/{.agents/skills/yss-jdbc → .cursor/skills/yss-security-algorithm}/references/source-index.md +7 -5
  494. package/template/.cursor/skills/yss-source-index/SKILL.md +63 -0
  495. package/template/.cursor/skills/yss-source-index/agents/openai.yaml +4 -0
  496. package/template/.cursor/skills/yss-source-index/references/source-location.md +18 -0
  497. package/template/.cursor/skills/yss-source-index/references/source-map-config.md +30 -0
  498. package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +24 -0
  499. package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.test.mjs +15 -0
  500. package/template/.cursor/skills/yss-ui/SKILL.md +169 -0
  501. package/template/.cursor/skills/yss-ui/agents/openai.yaml +5 -0
  502. package/template/.cursor/skills/yss-ui/assets/demos/button/auth-basic.vue +24 -0
  503. package/template/.cursor/skills/yss-ui/assets/demos/button/auth-dropdown.vue +29 -0
  504. package/template/.cursor/skills/yss-ui/assets/demos/button/permission.vue +10 -0
  505. package/template/.cursor/skills/yss-ui/assets/demos/button/size.vue +12 -0
  506. package/template/.cursor/skills/yss-ui/assets/demos/button/states.vue +12 -0
  507. package/template/.cursor/skills/yss-ui/assets/demos/card/basic/index.vue +54 -0
  508. package/template/.cursor/skills/yss-ui/assets/demos/card/basic/style.less +41 -0
  509. package/template/.cursor/skills/yss-ui/assets/demos/card/cover/index.vue +25 -0
  510. package/template/.cursor/skills/yss-ui/assets/demos/card/flexible-layout/index.vue +122 -0
  511. package/template/.cursor/skills/yss-ui/assets/demos/card/flexible-layout/style.less +191 -0
  512. package/template/.cursor/skills/yss-ui/assets/demos/card/header-extra/index.vue +260 -0
  513. package/template/.cursor/skills/yss-ui/assets/demos/card/header-extra/style.less +124 -0
  514. package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/constants.ts +61 -0
  515. package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/index.vue +72 -0
  516. package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/metrics-cards.vue +70 -0
  517. package/template/.cursor/skills/yss-ui/assets/demos/card/layout-metrics/style.less +232 -0
  518. package/template/.cursor/skills/yss-ui/assets/demos/card/loading/index.vue +19 -0
  519. package/template/.cursor/skills/yss-ui/assets/demos/card/meta/index.vue +19 -0
  520. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/constants.ts +44 -0
  521. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/hooks/useConditionBasic.ts +18 -0
  522. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/basic/index.vue +100 -0
  523. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/constants.ts +51 -0
  524. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/hooks/useConditionLinked.ts +29 -0
  525. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/linked/index.vue +23 -0
  526. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/constants.ts +35 -0
  527. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/hooks/useConditionNesting.ts +25 -0
  528. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/nesting-between/index.vue +24 -0
  529. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/constants.ts +7 -0
  530. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/hooks/useConditionRemote.ts +75 -0
  531. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/remote/index.vue +23 -0
  532. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/constants.ts +42 -0
  533. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/hooks/useConditionBasic.ts +22 -0
  534. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation/index.vue +138 -0
  535. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/constants.ts +42 -0
  536. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/hooks/useConditionBasic.ts +22 -0
  537. package/template/.cursor/skills/yss-ui/assets/demos/condition-builder/validation-custom/index.vue +134 -0
  538. package/template/.cursor/skills/yss-ui/assets/demos/cron/basic/index.vue +54 -0
  539. package/template/.cursor/skills/yss-ui/assets/demos/cron/select/index.vue +145 -0
  540. package/template/.cursor/skills/yss-ui/assets/demos/echarts/basic.vue +30 -0
  541. package/template/.cursor/skills/yss-ui/assets/demos/echarts/calendar-heatmap.vue +49 -0
  542. package/template/.cursor/skills/yss-ui/assets/demos/echarts/candlestick.vue +30 -0
  543. package/template/.cursor/skills/yss-ui/assets/demos/echarts/dark.vue +40 -0
  544. package/template/.cursor/skills/yss-ui/assets/demos/echarts/expose-methods.vue +97 -0
  545. package/template/.cursor/skills/yss-ui/assets/demos/echarts/funnel.vue +42 -0
  546. package/template/.cursor/skills/yss-ui/assets/demos/echarts/gauge.vue +25 -0
  547. package/template/.cursor/skills/yss-ui/assets/demos/echarts/line.vue +24 -0
  548. package/template/.cursor/skills/yss-ui/assets/demos/echarts/mix.vue +33 -0
  549. package/template/.cursor/skills/yss-ui/assets/demos/echarts/pie.vue +34 -0
  550. package/template/.cursor/skills/yss-ui/assets/demos/echarts/radar.vue +38 -0
  551. package/template/.cursor/skills/yss-ui/assets/demos/echarts/ring-segment.vue +77 -0
  552. package/template/.cursor/skills/yss-ui/assets/demos/echarts/scatter.vue +23 -0
  553. package/template/.cursor/skills/yss-ui/assets/demos/echarts/stacked-area.vue +55 -0
  554. package/template/.cursor/skills/yss-ui/assets/demos/echarts/stacked-bar.vue +52 -0
  555. package/template/.cursor/skills/yss-ui/assets/demos/echarts/treemap.vue +30 -0
  556. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/all-types/hooks/useAllTypes.ts +259 -0
  557. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/all-types/index.vue +33 -0
  558. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/async-remote/hooks/useAsyncRemote.ts +201 -0
  559. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/async-remote/index.vue +45 -0
  560. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/basic/index.vue +104 -0
  561. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/big-data/index.vue +82 -0
  562. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/custom-rule/index.vue +114 -0
  563. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/direct-editable/index.vue +94 -0
  564. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/drag/index.vue +125 -0
  565. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/filter/index.vue +107 -0
  566. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/linkage/index.vue +181 -0
  567. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/pagination-action/index.vue +131 -0
  568. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/required/index.vue +95 -0
  569. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/row-edit/index.vue +220 -0
  570. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/row-options/index.vue +165 -0
  571. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/slot-linkage/index.vue +184 -0
  572. package/template/.cursor/skills/yss-ui/assets/demos/edit-table/submit-view/index.vue +107 -0
  573. package/template/.cursor/skills/yss-ui/assets/demos/file-import/basic.vue +54 -0
  574. package/template/.cursor/skills/yss-ui/assets/demos/file-import/formily.vue +42 -0
  575. package/template/.cursor/skills/yss-ui/assets/demos/file-import/multiple.vue +33 -0
  576. package/template/.cursor/skills/yss-ui/assets/demos/file-import/result-slot.vue +30 -0
  577. package/template/.cursor/skills/yss-ui/assets/demos/formily/actions.vue +61 -0
  578. package/template/.cursor/skills/yss-ui/assets/demos/formily/align.vue +56 -0
  579. package/template/.cursor/skills/yss-ui/assets/demos/formily/async-validate.vue +69 -0
  580. package/template/.cursor/skills/yss-ui/assets/demos/formily/basic.vue +317 -0
  581. package/template/.cursor/skills/yss-ui/assets/demos/formily/collapse.vue +104 -0
  582. package/template/.cursor/skills/yss-ui/assets/demos/formily/custom-component.vue +75 -0
  583. package/template/.cursor/skills/yss-ui/assets/demos/formily/disabled.vue +71 -0
  584. package/template/.cursor/skills/yss-ui/assets/demos/formily/dynamic-array.vue +74 -0
  585. package/template/.cursor/skills/yss-ui/assets/demos/formily/dynamic.vue +59 -0
  586. package/template/.cursor/skills/yss-ui/assets/demos/formily/effects.vue +117 -0
  587. package/template/.cursor/skills/yss-ui/assets/demos/formily/events-inline.vue +82 -0
  588. package/template/.cursor/skills/yss-ui/assets/demos/formily/events-scope.vue +101 -0
  589. package/template/.cursor/skills/yss-ui/assets/demos/formily/grid.vue +71 -0
  590. package/template/.cursor/skills/yss-ui/assets/demos/formily/group.vue +102 -0
  591. package/template/.cursor/skills/yss-ui/assets/demos/formily/helper-slot.vue +50 -0
  592. package/template/.cursor/skills/yss-ui/assets/demos/formily/label-tip.vue +42 -0
  593. package/template/.cursor/skills/yss-ui/assets/demos/formily/linkage-multi.vue +127 -0
  594. package/template/.cursor/skills/yss-ui/assets/demos/formily/linkage.vue +78 -0
  595. package/template/.cursor/skills/yss-ui/assets/demos/formily/modes.vue +72 -0
  596. package/template/.cursor/skills/yss-ui/assets/demos/formily/remote-enum.vue +88 -0
  597. package/template/.cursor/skills/yss-ui/assets/demos/formily/slot.vue +54 -0
  598. package/template/.cursor/skills/yss-ui/assets/demos/formily/steps.vue +135 -0
  599. package/template/.cursor/skills/yss-ui/assets/demos/formily/submit-failed.vue +72 -0
  600. package/template/.cursor/skills/yss-ui/assets/demos/monaco/basic.vue +40 -0
  601. package/template/.cursor/skills/yss-ui/assets/demos/monaco/diff-basic.vue +143 -0
  602. package/template/.cursor/skills/yss-ui/assets/demos/monaco/fullscreen.vue +84 -0
  603. package/template/.cursor/skills/yss-ui/assets/demos/monaco/history-log-viewer.vue +586 -0
  604. package/template/.cursor/skills/yss-ui/assets/demos/monaco/log-viewer.vue +260 -0
  605. package/template/.cursor/skills/yss-ui/assets/demos/monaco/mock/mockLogApi.ts +199 -0
  606. package/template/.cursor/skills/yss-ui/assets/demos/monaco/monaco.vue +66 -0
  607. package/template/.cursor/skills/yss-ui/assets/demos/monaco/readonly.vue +20 -0
  608. package/template/.cursor/skills/yss-ui/assets/demos/monaco/resizable.vue +22 -0
  609. package/template/.cursor/skills/yss-ui/assets/demos/monaco/sql-schema.vue +20 -0
  610. package/template/.cursor/skills/yss-ui/assets/demos/monaco/switch-lang-theme.vue +48 -0
  611. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/constant.ts +18 -0
  612. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/index.vue +60 -0
  613. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table/style.less +39 -0
  614. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/hooks/useTreeTable.ts +158 -0
  615. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/index.vue +88 -0
  616. package/template/.cursor/skills/yss-ui/assets/demos/split-pane/tree-table-layout/style.less +73 -0
  617. package/template/.cursor/skills/yss-ui/assets/demos/table/action/index.vue +83 -0
  618. package/template/.cursor/skills/yss-ui/assets/demos/table/action/style.less +3 -0
  619. package/template/.cursor/skills/yss-ui/assets/demos/table/action-auth/index.vue +41 -0
  620. package/template/.cursor/skills/yss-ui/assets/demos/table/action-slot/index.vue +62 -0
  621. package/template/.cursor/skills/yss-ui/assets/demos/table/action-slot/style.less +36 -0
  622. package/template/.cursor/skills/yss-ui/assets/demos/table/basic/hooks/useBasicTable.ts +205 -0
  623. package/template/.cursor/skills/yss-ui/assets/demos/table/basic/index.vue +89 -0
  624. package/template/.cursor/skills/yss-ui/assets/demos/table/basic/style.less +28 -0
  625. package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/hooks/useColumnCustomSearch.ts +236 -0
  626. package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/index.vue +141 -0
  627. package/template/.cursor/skills/yss-ui/assets/demos/table/column-custom-search/style.less +48 -0
  628. package/template/.cursor/skills/yss-ui/assets/demos/table/drag/index.vue +42 -0
  629. package/template/.cursor/skills/yss-ui/assets/demos/table/expand/action-expand.vue +142 -0
  630. package/template/.cursor/skills/yss-ui/assets/demos/table/expand/index.vue +35 -0
  631. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-async/index.vue +93 -0
  632. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-auto/index.vue +99 -0
  633. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-custom/index.vue +72 -0
  634. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-local/index.vue +112 -0
  635. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-mixed/index.vue +142 -0
  636. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/constant.ts +129 -0
  637. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/hooks/useTableData.ts +186 -0
  638. package/template/.cursor/skills/yss-ui/assets/demos/table/filter-remote/index.vue +73 -0
  639. package/template/.cursor/skills/yss-ui/assets/demos/table/group-header/index.vue +86 -0
  640. package/template/.cursor/skills/yss-ui/assets/demos/table/group-header/style.less +3 -0
  641. package/template/.cursor/skills/yss-ui/assets/demos/table/header-height/index.vue +29 -0
  642. package/template/.cursor/skills/yss-ui/assets/demos/table/header-height/style.less +9 -0
  643. package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/hooks/useMergeCells.ts +183 -0
  644. package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/index.vue +17 -0
  645. package/template/.cursor/skills/yss-ui/assets/demos/table/merge-cells/style.less +3 -0
  646. package/template/.cursor/skills/yss-ui/assets/demos/table/pagination-remote/hooks/usePaginationRemote.ts +106 -0
  647. package/template/.cursor/skills/yss-ui/assets/demos/table/pagination-remote/index.vue +24 -0
  648. package/template/.cursor/skills/yss-ui/assets/demos/table/renderers/index.vue +64 -0
  649. package/template/.cursor/skills/yss-ui/assets/demos/table/selection-checkbox/index.vue +88 -0
  650. package/template/.cursor/skills/yss-ui/assets/demos/table/selection-checkbox/style.less +9 -0
  651. package/template/.cursor/skills/yss-ui/assets/demos/table/selection-radio/index.vue +57 -0
  652. package/template/.cursor/skills/yss-ui/assets/demos/table/selection-radio/style.less +9 -0
  653. package/template/.cursor/skills/yss-ui/assets/demos/table/transform/index.vue +32 -0
  654. package/template/.cursor/skills/yss-ui/assets/demos/tree/basic-left/index.vue +124 -0
  655. package/template/.cursor/skills/yss-ui/assets/demos/tree/datasource-group/index.vue +31 -0
  656. package/template/.cursor/skills/yss-ui/assets/demos/tree/multi-checkable/index.vue +86 -0
  657. package/template/.cursor/skills/yss-ui/assets/demos/tree/multiple-select/index.vue +76 -0
  658. package/template/.cursor/skills/yss-ui/assets/demos/tree/resource-list/index.vue +41 -0
  659. package/template/.cursor/skills/yss-ui/assets/demos/tree/search-toolbar/index.vue +156 -0
  660. package/template/.cursor/skills/yss-ui/assets/demos/tree/slot-icon/index.vue +36 -0
  661. package/template/.cursor/skills/yss-ui/assets/demos/tree/slot-switcher-icon/index.vue +34 -0
  662. package/template/.cursor/skills/yss-ui/assets/docs/components/button.md +79 -0
  663. package/template/.cursor/skills/yss-ui/assets/docs/components/card.md +162 -0
  664. package/template/.cursor/skills/yss-ui/assets/docs/components/conditionBuilder.md +114 -0
  665. package/template/.cursor/skills/yss-ui/assets/docs/components/cron.md +77 -0
  666. package/template/.cursor/skills/yss-ui/assets/docs/components/echarts.md +110 -0
  667. package/template/.cursor/skills/yss-ui/assets/docs/components/editTable.md +212 -0
  668. package/template/.cursor/skills/yss-ui/assets/docs/components/fileImport.md +85 -0
  669. package/template/.cursor/skills/yss-ui/assets/docs/components/formily.md +370 -0
  670. package/template/.cursor/skills/yss-ui/assets/docs/components/monaco.md +369 -0
  671. package/template/.cursor/skills/yss-ui/assets/docs/components/sheet.md +169 -0
  672. package/template/.cursor/skills/yss-ui/assets/docs/components/split-pane.md +45 -0
  673. package/template/.cursor/skills/yss-ui/assets/docs/components/table.md +398 -0
  674. package/template/.cursor/skills/yss-ui/assets/docs/components/tree.md +102 -0
  675. package/template/.cursor/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +166 -0
  676. package/template/.cursor/skills/yss-ui/assets/docs/guide/index.md +132 -0
  677. package/template/.cursor/skills/yss-ui/assets/docs/guide/installation.md +97 -0
  678. package/template/.cursor/skills/yss-ui/assets/docs/guide/jsp.md +227 -0
  679. package/template/.cursor/skills/yss-ui/assets/docs/guide/llms.md +295 -0
  680. package/template/.cursor/skills/yss-ui/assets/docs/guide/monorepo-versioning.md +149 -0
  681. package/template/.cursor/skills/yss-ui/assets/docs/guide/release-workflow.md +251 -0
  682. package/template/.cursor/skills/yss-ui/assets/docs/hooks/use-table-height.md +101 -0
  683. package/template/.cursor/skills/yss-ui/assets/docs/hooks/use-tree-height.md +115 -0
  684. package/template/.cursor/skills/yss-ui/assets/docs/hooks/useFullscreen.md +130 -0
  685. package/template/.cursor/skills/yss-ui/assets/docs/hooks/useLoading.md +97 -0
  686. package/template/.cursor/skills/yss-ui/assets/docs/root/resources.md +18 -0
  687. package/template/.cursor/skills/yss-ui/assets/keyword-index.json +53 -0
  688. package/template/.cursor/skills/yss-ui/assets/keyword-index.md +47 -0
  689. package/template/.cursor/skills/yss-ui/assets/reference-index.json +55 -0
  690. package/template/.cursor/skills/yss-ui/assets/reference-index.md +74 -0
  691. package/template/.cursor/skills/yss-ui/assets/scenario-index.json +50 -0
  692. package/template/.cursor/skills/yss-ui/assets/scenario-index.md +41 -0
  693. package/template/.cursor/skills/yss-ui/references/accessibility.md +23 -0
  694. package/template/.cursor/skills/yss-ui/references/antdv-compatibility.md +39 -0
  695. package/template/.cursor/skills/yss-ui/references/checklist.md +110 -0
  696. package/template/.cursor/skills/yss-ui/references/component-routing.md +31 -0
  697. package/template/.cursor/skills/yss-ui/references/frontend-docs.md +11 -0
  698. package/template/.cursor/skills/yss-ui/references/migration-antdv-to-yss.md +20 -0
  699. package/template/.cursor/skills/yss-ui/references/quick-recipes.md +280 -0
  700. package/template/.cursor/skills/yss-ui/references/theme-locale-overlay.md +25 -0
  701. package/template/.cursor/skills/yss-ui/references/verification.md +20 -0
  702. package/template/.cursor/skills/yss-up-springboot3/SKILL.md +40 -0
  703. package/template/.cursor/skills/yss-up-springboot3/agents/openai.yaml +4 -0
  704. package/template/.cursor/skills/yss-use-table-height/SKILL.md +340 -0
  705. package/template/.cursor/skills/yss-use-table-height/agents/openai.yaml +5 -0
  706. package/template/.cursor/skills/yss-use-table-height/references/frontend-docs.md +9 -0
  707. package/template/.cursor/skills/yss-use-tree-height/SKILL.md +431 -0
  708. package/template/.cursor/skills/yss-use-tree-height/agents/openai.yaml +5 -0
  709. package/template/.cursor/skills/yss-use-tree-height/references/frontend-docs.md +9 -0
  710. package/template/.cursor/skills/yss-userinfo/SKILL.md +49 -0
  711. package/template/.cursor/skills/yss-userinfo/agents/openai.yaml +4 -0
  712. package/template/{.codex/skills/yss-jdbc → .cursor/skills/yss-userinfo}/references/source-index.md +6 -5
  713. package/template/.cursor/skills/yss-validation/SKILL.md +56 -0
  714. package/template/.cursor/skills/yss-validation/agents/openai.yaml +4 -0
  715. package/template/{.claude/skills/yss-jdbc → .cursor/skills/yss-validation}/references/source-index.md +6 -6
  716. package/template/.cursor/skills/yss-web-controller/SKILL.md +78 -0
  717. package/template/.cursor/skills/yss-web-controller/agents/openai.yaml +5 -0
  718. package/template/.cursor/skills/yss-web-controller/assets/templates/Controller.java.template +73 -0
  719. package/template/.cursor/skills/yss-web-controller/assets/templates/WebConvertor.java.template +23 -0
  720. package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/cmd/AddCmd.java.template +23 -0
  721. package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/cmd/UpdateCmd.java.template +23 -0
  722. package/template/.cursor/skills/yss-web-controller/assets/templates/domain/dto/query/PageQuery.java.template +21 -0
  723. package/template/.cursor/skills/yss-web-controller/assets/templates/domain/vo/VO.java.template +20 -0
  724. package/template/{.claude/skills/yss-backend-scaffold-web/SKILL.md → .cursor/skills/yss-web-controller/references/web-adapter-layer-guide.md} +0 -7
  725. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +77 -0
  726. package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +19 -0
  727. package/template/.hermes/skills/ask-matt/SKILL.md +8 -2
  728. package/template/.hermes/skills/code-review/SKILL.md +6 -4
  729. package/template/.hermes/skills/high-fidelity-html-prototype/SKILL.md +2 -19
  730. package/template/.hermes/skills/implement/SKILL.md +1 -1
  731. package/template/.hermes/skills/llm-wiki/SKILL.md +60 -0
  732. package/template/.hermes/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
  733. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
  734. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
  735. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
  736. package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
  737. package/template/.hermes/skills/llm-wiki/references/compile.md +126 -0
  738. package/template/.hermes/skills/llm-wiki/references/discover.md +41 -0
  739. package/template/.hermes/skills/llm-wiki/references/ingest.md +36 -0
  740. package/template/.hermes/skills/llm-wiki/references/lint.md +54 -0
  741. package/template/.hermes/skills/llm-wiki/references/query.md +21 -0
  742. package/template/.hermes/skills/llm-wiki/references/schema.md +45 -0
  743. package/template/.hermes/skills/llm-wiki/references/writing.md +35 -0
  744. package/template/.hermes/skills/llm-wiki/scripts/advise.mjs +196 -0
  745. package/template/.hermes/skills/llm-wiki/scripts/advise.test.mjs +91 -0
  746. package/template/.hermes/skills/llm-wiki/scripts/extract.mjs +55 -0
  747. package/template/.hermes/skills/llm-wiki/scripts/extract.test.mjs +34 -0
  748. package/template/.hermes/skills/llm-wiki/scripts/inventory.mjs +174 -0
  749. package/template/.hermes/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
  750. package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
  751. package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
  752. package/template/.hermes/skills/to-spec/SKILL.md +1 -1
  753. package/template/.hermes/skills/yss-antd-design/SKILL.md +34 -0
  754. package/template/.hermes/skills/yss-antd-design/references/boundaries.md +30 -0
  755. package/template/.hermes/skills/yss-antd-design/references/cli-matrix.md +38 -0
  756. package/template/.hermes/skills/yss-antd-design/references/evidence.md +26 -0
  757. package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
  758. package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
  759. package/template/.hermes/skills/yss-api-integration/SKILL.md +2 -0
  760. package/template/.hermes/skills/yss-application/SKILL.md +52 -0
  761. package/template/.hermes/skills/yss-application/agents/openai.yaml +5 -0
  762. package/template/.hermes/skills/yss-application/references/application-layer-guide.md +132 -0
  763. package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  764. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  765. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  766. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  767. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  768. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  769. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  770. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  771. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  772. package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  773. package/template/.hermes/skills/yss-design-system/SKILL.md +9 -5
  774. package/template/.hermes/skills/yss-design-system/references/design-qa-theme.md +64 -0
  775. package/template/.hermes/skills/yss-design-system/references/design-system.md +20 -12
  776. package/template/.hermes/skills/yss-domain/SKILL.md +5 -0
  777. package/template/.hermes/skills/yss-domain/references/domain-layer-guide.md +274 -0
  778. package/template/.hermes/skills/yss-microapp-commit/SKILL.md +2 -0
  779. package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +1 -1
  780. package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +2 -2
  781. package/template/.hermes/skills/yss-prototype-stage/SKILL.md +4 -2
  782. package/template/.hermes/skills/yss-repository/SKILL.md +5 -0
  783. package/template/.hermes/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
  784. package/template/.hermes/skills/yss-router/references/boundaries.md +2 -6
  785. package/template/.hermes/skills/yss-router/references/router-contract.yaml +8 -12
  786. package/template/.hermes/skills/yss-source-index/references/source-map-config.md +0 -4
  787. package/template/.hermes/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  788. package/template/.hermes/skills/yss-ui/SKILL.md +1 -1
  789. package/template/.hermes/skills/yss-web-controller/SKILL.md +1 -0
  790. package/template/.hermes/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
  791. package/template/.pi/skills/ask-matt/SKILL.md +8 -2
  792. package/template/.pi/skills/code-review/SKILL.md +6 -4
  793. package/template/.pi/skills/high-fidelity-html-prototype/SKILL.md +2 -19
  794. package/template/.pi/skills/implement/SKILL.md +1 -1
  795. package/template/.pi/skills/llm-wiki/SKILL.md +60 -0
  796. package/template/.pi/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
  797. package/template/.pi/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
  798. package/template/.pi/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
  799. package/template/.pi/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
  800. package/template/.pi/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
  801. package/template/.pi/skills/llm-wiki/references/compile.md +126 -0
  802. package/template/.pi/skills/llm-wiki/references/discover.md +41 -0
  803. package/template/.pi/skills/llm-wiki/references/ingest.md +36 -0
  804. package/template/.pi/skills/llm-wiki/references/lint.md +54 -0
  805. package/template/.pi/skills/llm-wiki/references/query.md +21 -0
  806. package/template/.pi/skills/llm-wiki/references/schema.md +45 -0
  807. package/template/.pi/skills/llm-wiki/references/writing.md +35 -0
  808. package/template/.pi/skills/llm-wiki/scripts/advise.mjs +196 -0
  809. package/template/.pi/skills/llm-wiki/scripts/advise.test.mjs +91 -0
  810. package/template/.pi/skills/llm-wiki/scripts/extract.mjs +55 -0
  811. package/template/.pi/skills/llm-wiki/scripts/extract.test.mjs +34 -0
  812. package/template/.pi/skills/llm-wiki/scripts/inventory.mjs +174 -0
  813. package/template/.pi/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
  814. package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
  815. package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
  816. package/template/.pi/skills/to-spec/SKILL.md +1 -1
  817. package/template/.pi/skills/yss-antd-design/SKILL.md +34 -0
  818. package/template/.pi/skills/yss-antd-design/references/boundaries.md +30 -0
  819. package/template/.pi/skills/yss-antd-design/references/cli-matrix.md +38 -0
  820. package/template/.pi/skills/yss-antd-design/references/evidence.md +26 -0
  821. package/template/.pi/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
  822. package/template/.pi/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
  823. package/template/.pi/skills/yss-api-integration/SKILL.md +2 -0
  824. package/template/.pi/skills/yss-application/SKILL.md +52 -0
  825. package/template/.pi/skills/yss-application/agents/openai.yaml +5 -0
  826. package/template/.pi/skills/yss-application/references/application-layer-guide.md +132 -0
  827. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  828. package/template/.pi/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  829. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  830. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  831. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  832. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  833. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  834. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  835. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  836. package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  837. package/template/.pi/skills/yss-design-system/SKILL.md +9 -5
  838. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +64 -0
  839. package/template/.pi/skills/yss-design-system/references/design-system.md +20 -12
  840. package/template/.pi/skills/yss-domain/SKILL.md +5 -0
  841. package/template/.pi/skills/yss-domain/references/domain-layer-guide.md +274 -0
  842. package/template/.pi/skills/yss-microapp-commit/SKILL.md +2 -0
  843. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +1 -1
  844. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +2 -2
  845. package/template/.pi/skills/yss-prototype-stage/SKILL.md +4 -2
  846. package/template/.pi/skills/yss-repository/SKILL.md +5 -0
  847. package/template/.pi/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
  848. package/template/.pi/skills/yss-router/references/boundaries.md +2 -6
  849. package/template/.pi/skills/yss-router/references/router-contract.yaml +8 -12
  850. package/template/.pi/skills/yss-source-index/references/source-map-config.md +0 -4
  851. package/template/.pi/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  852. package/template/.pi/skills/yss-ui/SKILL.md +1 -1
  853. package/template/.pi/skills/yss-web-controller/SKILL.md +1 -0
  854. package/template/.pi/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
  855. package/template/.qoder/skills/ask-matt/SKILL.md +8 -2
  856. package/template/.qoder/skills/code-review/SKILL.md +6 -4
  857. package/template/.qoder/skills/high-fidelity-html-prototype/SKILL.md +2 -19
  858. package/template/.qoder/skills/implement/SKILL.md +1 -1
  859. package/template/.qoder/skills/llm-wiki/SKILL.md +60 -0
  860. package/template/.qoder/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
  861. package/template/.qoder/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
  862. package/template/.qoder/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
  863. package/template/.qoder/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
  864. package/template/.qoder/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
  865. package/template/.qoder/skills/llm-wiki/references/compile.md +126 -0
  866. package/template/.qoder/skills/llm-wiki/references/discover.md +41 -0
  867. package/template/.qoder/skills/llm-wiki/references/ingest.md +36 -0
  868. package/template/.qoder/skills/llm-wiki/references/lint.md +54 -0
  869. package/template/.qoder/skills/llm-wiki/references/query.md +21 -0
  870. package/template/.qoder/skills/llm-wiki/references/schema.md +45 -0
  871. package/template/.qoder/skills/llm-wiki/references/writing.md +35 -0
  872. package/template/.qoder/skills/llm-wiki/scripts/advise.mjs +196 -0
  873. package/template/.qoder/skills/llm-wiki/scripts/advise.test.mjs +91 -0
  874. package/template/.qoder/skills/llm-wiki/scripts/extract.mjs +55 -0
  875. package/template/.qoder/skills/llm-wiki/scripts/extract.test.mjs +34 -0
  876. package/template/.qoder/skills/llm-wiki/scripts/inventory.mjs +174 -0
  877. package/template/.qoder/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
  878. package/template/.qoder/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
  879. package/template/.qoder/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
  880. package/template/.qoder/skills/to-spec/SKILL.md +1 -1
  881. package/template/.qoder/skills/yss-antd-design/SKILL.md +34 -0
  882. package/template/.qoder/skills/yss-antd-design/references/boundaries.md +30 -0
  883. package/template/.qoder/skills/yss-antd-design/references/cli-matrix.md +38 -0
  884. package/template/.qoder/skills/yss-antd-design/references/evidence.md +26 -0
  885. package/template/.qoder/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
  886. package/template/.qoder/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
  887. package/template/.qoder/skills/yss-api-integration/SKILL.md +2 -0
  888. package/template/.qoder/skills/yss-application/SKILL.md +52 -0
  889. package/template/.qoder/skills/yss-application/agents/openai.yaml +5 -0
  890. package/template/.qoder/skills/yss-application/references/application-layer-guide.md +132 -0
  891. package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  892. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  893. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  894. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  895. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  896. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  897. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  898. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  899. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  900. package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  901. package/template/.qoder/skills/yss-design-system/SKILL.md +9 -5
  902. package/template/.qoder/skills/yss-design-system/references/design-qa-theme.md +64 -0
  903. package/template/.qoder/skills/yss-design-system/references/design-system.md +20 -12
  904. package/template/.qoder/skills/yss-domain/SKILL.md +5 -0
  905. package/template/.qoder/skills/yss-domain/references/domain-layer-guide.md +274 -0
  906. package/template/.qoder/skills/yss-microapp-commit/SKILL.md +2 -0
  907. package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +1 -1
  908. package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +2 -2
  909. package/template/.qoder/skills/yss-prototype-stage/SKILL.md +4 -2
  910. package/template/.qoder/skills/yss-repository/SKILL.md +5 -0
  911. package/template/.qoder/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
  912. package/template/.qoder/skills/yss-router/references/boundaries.md +2 -6
  913. package/template/.qoder/skills/yss-router/references/router-contract.yaml +8 -12
  914. package/template/.qoder/skills/yss-source-index/references/source-map-config.md +0 -4
  915. package/template/.qoder/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  916. package/template/.qoder/skills/yss-ui/SKILL.md +1 -1
  917. package/template/.qoder/skills/yss-web-controller/SKILL.md +1 -0
  918. package/template/.qoder/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
  919. package/template/.trae/skills/ask-matt/SKILL.md +8 -2
  920. package/template/.trae/skills/code-review/SKILL.md +6 -4
  921. package/template/.trae/skills/high-fidelity-html-prototype/SKILL.md +2 -19
  922. package/template/.trae/skills/implement/SKILL.md +1 -1
  923. package/template/.trae/skills/llm-wiki/SKILL.md +60 -0
  924. package/template/.trae/skills/llm-wiki/assets/CLAUDE.md.template +26 -0
  925. package/template/.trae/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +3 -0
  926. package/template/.trae/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +5 -0
  927. package/template/.trae/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +1 -0
  928. package/template/.trae/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +7 -0
  929. package/template/.trae/skills/llm-wiki/references/compile.md +126 -0
  930. package/template/.trae/skills/llm-wiki/references/discover.md +41 -0
  931. package/template/.trae/skills/llm-wiki/references/ingest.md +36 -0
  932. package/template/.trae/skills/llm-wiki/references/lint.md +54 -0
  933. package/template/.trae/skills/llm-wiki/references/query.md +21 -0
  934. package/template/.trae/skills/llm-wiki/references/schema.md +45 -0
  935. package/template/.trae/skills/llm-wiki/references/writing.md +35 -0
  936. package/template/.trae/skills/llm-wiki/scripts/advise.mjs +196 -0
  937. package/template/.trae/skills/llm-wiki/scripts/advise.test.mjs +91 -0
  938. package/template/.trae/skills/llm-wiki/scripts/extract.mjs +55 -0
  939. package/template/.trae/skills/llm-wiki/scripts/extract.test.mjs +34 -0
  940. package/template/.trae/skills/llm-wiki/scripts/inventory.mjs +174 -0
  941. package/template/.trae/skills/llm-wiki/scripts/inventory.test.mjs +98 -0
  942. package/template/.trae/skills/llm-wiki/scripts/lint-wikilinks.mjs +177 -0
  943. package/template/.trae/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +212 -0
  944. package/template/.trae/skills/to-spec/SKILL.md +1 -1
  945. package/template/.trae/skills/yss-antd-design/SKILL.md +34 -0
  946. package/template/.trae/skills/yss-antd-design/references/boundaries.md +30 -0
  947. package/template/.trae/skills/yss-antd-design/references/cli-matrix.md +38 -0
  948. package/template/.trae/skills/yss-antd-design/references/evidence.md +26 -0
  949. package/template/.trae/skills/yss-antd-design/scripts/validate-frontmatter.mjs +46 -0
  950. package/template/.trae/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +27 -0
  951. package/template/.trae/skills/yss-api-integration/SKILL.md +2 -0
  952. package/template/.trae/skills/yss-application/SKILL.md +52 -0
  953. package/template/.trae/skills/yss-application/agents/openai.yaml +5 -0
  954. package/template/.trae/skills/yss-application/references/application-layer-guide.md +132 -0
  955. package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +1 -1
  956. package/template/.trae/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +4 -4
  957. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +2 -2
  958. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +1 -1
  959. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +2 -2
  960. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +1 -1
  961. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +3 -3
  962. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +1 -1
  963. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +4 -4
  964. package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +1 -1
  965. package/template/.trae/skills/yss-design-system/SKILL.md +9 -5
  966. package/template/.trae/skills/yss-design-system/references/design-qa-theme.md +64 -0
  967. package/template/.trae/skills/yss-design-system/references/design-system.md +20 -12
  968. package/template/.trae/skills/yss-domain/SKILL.md +5 -0
  969. package/template/.trae/skills/yss-domain/references/domain-layer-guide.md +274 -0
  970. package/template/.trae/skills/yss-microapp-commit/SKILL.md +2 -0
  971. package/template/.trae/skills/yss-product-lifecycle/SKILL.md +1 -1
  972. package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +2 -2
  973. package/template/.trae/skills/yss-prototype-stage/SKILL.md +4 -2
  974. package/template/.trae/skills/yss-repository/SKILL.md +5 -0
  975. package/template/.trae/skills/yss-repository/references/infrastructure-layer-guide.md +192 -0
  976. package/template/.trae/skills/yss-router/references/boundaries.md +2 -6
  977. package/template/.trae/skills/yss-router/references/router-contract.yaml +8 -12
  978. package/template/.trae/skills/yss-source-index/references/source-map-config.md +0 -4
  979. package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +1 -1
  980. package/template/.trae/skills/yss-ui/SKILL.md +1 -1
  981. package/template/.trae/skills/yss-web-controller/SKILL.md +1 -0
  982. package/template/.trae/skills/yss-web-controller/references/web-adapter-layer-guide.md +168 -0
  983. package/template/AGENTS.md +18 -3
  984. package/template/CLAUDE.md +13 -0
  985. package/template/CONTEXT.md +3 -3
  986. package/template/README.md +2 -1
  987. package/template/docs/agents/README.md +6 -4
  988. package/template/docs/agents/skills-maintenance.md +3 -1
  989. package/template/docs/agents/yss-skill-registry.yaml +510 -0
  990. package/template/docs/architecture/templates/engineering-baseline-review-template.md +2 -2
  991. package/template/docs/design/README.md +5 -5
  992. package/template/docs/design/design.md +94 -29
  993. package/template/docs/design/templates/prototype-evidence-template.yaml +12 -1
  994. package/template/docs/design/tokens/theme.json +16 -9
  995. package/template/docs/design/tokens/tokens.compact.json +35 -32
  996. package/template/docs/design/tokens/tokens.dark.json +5 -5
  997. package/template/docs/design/tokens/tokens.default.json +41 -32
  998. package/template/docs/design/tokens/variables.css +62 -37
  999. package/template/docs/design/tokens/variables.dark.css +5 -5
  1000. package/template/docs/process/implementation-repo-integration.md +9 -0
  1001. package/template/docs/templates/build-architecture-checklist-template.md +5 -5
  1002. package/template/docs/templates/implementation-routing-template.md +5 -5
  1003. package/template/docs/templates/review-report-template.md +3 -3
  1004. package/template/docs/templates/vertical-slice-ticket-template.md +4 -4
  1005. package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +5 -4
  1006. package/template/docs/user-guide//347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -2
  1007. package/template/scripts/lib/skill-registry.mjs +198 -0
  1008. package/template/scripts/lib/skill-supply-chain.mjs +7 -4
  1009. package/template/scripts/verify-skill-registry +10 -0
  1010. package/template/scripts/verify-template +3 -2
  1011. package/template/skills-lock.json +125 -133
  1012. package/template/wiki/.wiki-manifest.json +390 -0
  1013. package/template/wiki/raw/AGENTS.md +42 -61
  1014. package/template/wiki/raw/CONTEXT.md +27 -1
  1015. package/template/wiki/raw/README.md +4 -1
  1016. package/template/wiki/raw/create-yss-spec-repository-mode-contract.md +95 -0
  1017. package/template/wiki/raw/harness-process-tailoring.md +64 -0
  1018. package/template/wiki/raw/implementation-repo-integration.md +62 -0
  1019. package/template/wiki/raw/issue-tracker.md +135 -0
  1020. package/template/wiki/raw/lifecycle-registry.yaml +369 -0
  1021. package/template/wiki/raw/maintenance-intensity.yaml +25 -0
  1022. package/template/wiki/raw/skills-lock-names.md +92 -0
  1023. package/template/wiki/raw/skills-maintenance.md +90 -0
  1024. package/template/wiki/raw/spec-template.md +3 -4
  1025. package/template/wiki/raw/triage-labels.md +15 -0
  1026. package/template/wiki/raw/vertical-slice-ticket-template.md +14 -8
  1027. package/template/wiki/raw/yss-skill-registry.yaml +504 -0
  1028. package/template/wiki/wiki/Agent/345/205/245/345/217/243/350/247/204/345/210/231.md +17 -5
  1029. package/template/wiki/wiki/CLAUDE.md +15 -11
  1030. package/template/wiki/wiki/Fresh/351/252/214/350/257/201/344/270/216/347/213/254/347/253/213/345/256/241/346/237/245.md +15 -5
  1031. package/template/wiki/wiki/LLM Wiki.md +30 -0
  1032. package/template/wiki/wiki/Matt/346/212/200/350/203/275/344/275/223/347/263/273.md +17 -5
  1033. package/template/wiki/wiki/OpenAPI/345/245/221/347/272/246.md +16 -5
  1034. package/template/wiki/wiki/SpecDelta.md +15 -5
  1035. package/template/wiki/wiki/Spec/345/237/272/347/272/277.md +18 -5
  1036. package/template/wiki/wiki/Ticket/344/270/216/346/265/201/347/250/213/347/212/266/346/200/201.md +17 -5
  1037. package/template/wiki/wiki/YSS/345/267/245/347/250/213/346/212/200/350/203/275/344/275/223/347/263/273.md +19 -5
  1038. package/template/wiki/wiki/YSS/350/267/257/347/224/261/344/270/216/345/220/210/345/220/214/347/274/226/350/257/221.md +16 -5
  1039. package/template/wiki/wiki/concept-table.md +9 -0
  1040. package/template/wiki/wiki/index.md +12 -11
  1041. package/template/wiki/wiki/log.md +27 -0
  1042. package/template/wiki/wiki//344/272/247/345/223/201/347/240/224/345/217/221/347/224/237/345/221/275/345/221/250/346/234/237.md +15 -4
  1043. package/template/wiki/wiki//344/272/247/345/223/201/350/256/276/350/256/241/345/275/261/345/223/215/344/270/216/345/216/237/345/236/213.md +14 -4
  1044. package/template/wiki/wiki//344/273/223/345/272/223/350/272/253/344/273/275/344/270/216/350/267/257/347/224/261.md +15 -4
  1045. package/template/wiki/wiki//345/210/207/347/211/207/345/256/236/347/216/260/345/220/210/345/220/214.md +17 -5
  1046. package/template/wiki/wiki//345/236/202/347/233/264/345/210/207/347/211/207Ticket.md +19 -5
  1047. package/template/wiki/wiki//345/244/215/347/233/230/344/270/216/346/235/203/345/250/201/350/265/204/344/272/247/344/277/256/350/256/242.md +15 -4
  1048. package/template/wiki/wiki//345/256/236/347/216/260/344/273/223/345/272/223/344/270/216/350/267/250/344/273/223/345/272/223/345/245/221/347/272/246.md +17 -4
  1049. package/template/wiki/wiki//345/275/261/345/223/215/351/235/242/345/210/206/350/257/212/344/270/216/346/265/201/347/250/213/350/243/201/345/211/252.md +15 -4
  1050. package/template/wiki/wiki//346/212/200/350/203/275/346/212/225/345/275/261/344/270/216/351/224/201/345/256/232.md +18 -4
  1051. package/template/wiki/wiki//346/235/241/344/273/266/345/274/272/345/210/266/351/227/250/347/246/201.md +13 -4
  1052. package/template/wiki/wiki//346/250/241/346/235/277/345/217/221/345/270/203/351/227/250/347/246/201/344/270/216/351/252/214/350/257/201.md +17 -4
  1053. package/template/wiki/wiki//346/250/241/346/235/277/346/200/273/350/247/210.md +16 -5
  1054. package/template/wiki/wiki//346/250/241/346/235/277/347/273/264/346/212/244/346/265/201/347/250/213.md +14 -4
  1055. package/template/yss-public-skills.json +4 -16
  1056. package/template.snapshot.json +4 -4
  1057. package/template/.agents/skills/product-design-prototype/SKILL.md +0 -91
  1058. package/template/.agents/skills/product-design-prototype/agents/openai.yaml +0 -4
  1059. package/template/.agents/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1060. package/template/.agents/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1061. package/template/.agents/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1062. package/template/.agents/skills/yss-dictionary/SKILL.md +0 -49
  1063. package/template/.agents/skills/yss-dictionary/agents/openai.yaml +0 -4
  1064. package/template/.agents/skills/yss-dictionary/references/source-index.md +0 -80
  1065. package/template/.agents/skills/yss-jdbc/SKILL.md +0 -73
  1066. package/template/.agents/skills/yss-jdbc/agents/openai.yaml +0 -5
  1067. package/template/.agents/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  1068. package/template/.agents/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  1069. package/template/.agents/skills/yss-jdbc/assets/DsParam.java +0 -19
  1070. package/template/.agents/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  1071. package/template/.agents/skills/yss-jdbc/references/README.md +0 -55
  1072. package/template/.agents/skills/yss-log/SKILL.md +0 -48
  1073. package/template/.agents/skills/yss-log/agents/openai.yaml +0 -4
  1074. package/template/.agents/skills/yss-taskflow/SKILL.md +0 -58
  1075. package/template/.agents/skills/yss-taskflow/agents/openai.yaml +0 -4
  1076. package/template/.agents/skills/yss-taskflow/references/source-index.md +0 -158
  1077. package/template/.claude/skills/product-design-prototype/SKILL.md +0 -91
  1078. package/template/.claude/skills/product-design-prototype/agents/openai.yaml +0 -4
  1079. package/template/.claude/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1080. package/template/.claude/skills/yss-dictionary/SKILL.md +0 -49
  1081. package/template/.claude/skills/yss-dictionary/agents/openai.yaml +0 -4
  1082. package/template/.claude/skills/yss-dictionary/references/source-index.md +0 -80
  1083. package/template/.claude/skills/yss-jdbc/SKILL.md +0 -73
  1084. package/template/.claude/skills/yss-jdbc/agents/openai.yaml +0 -5
  1085. package/template/.claude/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  1086. package/template/.claude/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  1087. package/template/.claude/skills/yss-jdbc/assets/DsParam.java +0 -19
  1088. package/template/.claude/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  1089. package/template/.claude/skills/yss-jdbc/references/README.md +0 -55
  1090. package/template/.claude/skills/yss-log/SKILL.md +0 -48
  1091. package/template/.claude/skills/yss-log/agents/openai.yaml +0 -4
  1092. package/template/.claude/skills/yss-log/references/source-index.md +0 -34
  1093. package/template/.claude/skills/yss-taskflow/SKILL.md +0 -58
  1094. package/template/.claude/skills/yss-taskflow/agents/openai.yaml +0 -4
  1095. package/template/.claude/skills/yss-taskflow/references/source-index.md +0 -158
  1096. package/template/.codex/skills/product-design-prototype/SKILL.md +0 -91
  1097. package/template/.codex/skills/product-design-prototype/agents/openai.yaml +0 -4
  1098. package/template/.codex/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1099. package/template/.codex/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1100. package/template/.codex/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1101. package/template/.codex/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1102. package/template/.codex/skills/yss-dictionary/SKILL.md +0 -49
  1103. package/template/.codex/skills/yss-dictionary/agents/openai.yaml +0 -4
  1104. package/template/.codex/skills/yss-dictionary/references/source-index.md +0 -80
  1105. package/template/.codex/skills/yss-jdbc/SKILL.md +0 -73
  1106. package/template/.codex/skills/yss-jdbc/agents/openai.yaml +0 -5
  1107. package/template/.codex/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  1108. package/template/.codex/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  1109. package/template/.codex/skills/yss-jdbc/assets/DsParam.java +0 -19
  1110. package/template/.codex/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  1111. package/template/.codex/skills/yss-jdbc/references/README.md +0 -55
  1112. package/template/.codex/skills/yss-log/SKILL.md +0 -48
  1113. package/template/.codex/skills/yss-log/agents/openai.yaml +0 -4
  1114. package/template/.codex/skills/yss-log/references/source-index.md +0 -34
  1115. package/template/.codex/skills/yss-taskflow/SKILL.md +0 -58
  1116. package/template/.codex/skills/yss-taskflow/agents/openai.yaml +0 -4
  1117. package/template/.codex/skills/yss-taskflow/references/source-index.md +0 -158
  1118. package/template/.hermes/skills/product-design-prototype/SKILL.md +0 -91
  1119. package/template/.hermes/skills/product-design-prototype/agents/openai.yaml +0 -4
  1120. package/template/.hermes/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1121. package/template/.hermes/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1122. package/template/.hermes/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1123. package/template/.hermes/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1124. package/template/.hermes/skills/yss-dictionary/SKILL.md +0 -49
  1125. package/template/.hermes/skills/yss-dictionary/agents/openai.yaml +0 -4
  1126. package/template/.hermes/skills/yss-dictionary/references/source-index.md +0 -80
  1127. package/template/.hermes/skills/yss-jdbc/SKILL.md +0 -73
  1128. package/template/.hermes/skills/yss-jdbc/agents/openai.yaml +0 -5
  1129. package/template/.hermes/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  1130. package/template/.hermes/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  1131. package/template/.hermes/skills/yss-jdbc/assets/DsParam.java +0 -19
  1132. package/template/.hermes/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  1133. package/template/.hermes/skills/yss-jdbc/references/README.md +0 -55
  1134. package/template/.hermes/skills/yss-log/SKILL.md +0 -48
  1135. package/template/.hermes/skills/yss-log/agents/openai.yaml +0 -4
  1136. package/template/.hermes/skills/yss-log/references/source-index.md +0 -34
  1137. package/template/.hermes/skills/yss-taskflow/SKILL.md +0 -58
  1138. package/template/.hermes/skills/yss-taskflow/agents/openai.yaml +0 -4
  1139. package/template/.hermes/skills/yss-taskflow/references/source-index.md +0 -158
  1140. package/template/.pi/skills/product-design-prototype/SKILL.md +0 -91
  1141. package/template/.pi/skills/product-design-prototype/agents/openai.yaml +0 -4
  1142. package/template/.pi/skills/yss-backend-scaffold-application/SKILL.md +0 -139
  1143. package/template/.pi/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1144. package/template/.pi/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
  1145. package/template/.pi/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1146. package/template/.pi/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
  1147. package/template/.pi/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1148. package/template/.pi/skills/yss-backend-scaffold-web/SKILL.md +0 -175
  1149. package/template/.pi/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1150. package/template/.pi/skills/yss-dictionary/SKILL.md +0 -49
  1151. package/template/.pi/skills/yss-dictionary/agents/openai.yaml +0 -4
  1152. package/template/.pi/skills/yss-dictionary/references/source-index.md +0 -80
  1153. package/template/.pi/skills/yss-jdbc/SKILL.md +0 -73
  1154. package/template/.pi/skills/yss-jdbc/agents/openai.yaml +0 -5
  1155. package/template/.pi/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  1156. package/template/.pi/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  1157. package/template/.pi/skills/yss-jdbc/assets/DsParam.java +0 -19
  1158. package/template/.pi/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  1159. package/template/.pi/skills/yss-jdbc/references/README.md +0 -55
  1160. package/template/.pi/skills/yss-jdbc/references/source-index.md +0 -33
  1161. package/template/.pi/skills/yss-log/SKILL.md +0 -48
  1162. package/template/.pi/skills/yss-log/agents/openai.yaml +0 -4
  1163. package/template/.pi/skills/yss-log/references/source-index.md +0 -34
  1164. package/template/.pi/skills/yss-taskflow/SKILL.md +0 -58
  1165. package/template/.pi/skills/yss-taskflow/agents/openai.yaml +0 -4
  1166. package/template/.pi/skills/yss-taskflow/references/source-index.md +0 -158
  1167. package/template/.qoder/skills/product-design-prototype/SKILL.md +0 -91
  1168. package/template/.qoder/skills/product-design-prototype/agents/openai.yaml +0 -4
  1169. package/template/.qoder/skills/yss-backend-scaffold-application/SKILL.md +0 -139
  1170. package/template/.qoder/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1171. package/template/.qoder/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
  1172. package/template/.qoder/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1173. package/template/.qoder/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
  1174. package/template/.qoder/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1175. package/template/.qoder/skills/yss-backend-scaffold-web/SKILL.md +0 -175
  1176. package/template/.qoder/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1177. package/template/.qoder/skills/yss-dictionary/SKILL.md +0 -49
  1178. package/template/.qoder/skills/yss-dictionary/agents/openai.yaml +0 -4
  1179. package/template/.qoder/skills/yss-dictionary/references/source-index.md +0 -80
  1180. package/template/.qoder/skills/yss-jdbc/SKILL.md +0 -73
  1181. package/template/.qoder/skills/yss-jdbc/agents/openai.yaml +0 -5
  1182. package/template/.qoder/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  1183. package/template/.qoder/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  1184. package/template/.qoder/skills/yss-jdbc/assets/DsParam.java +0 -19
  1185. package/template/.qoder/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  1186. package/template/.qoder/skills/yss-jdbc/references/README.md +0 -55
  1187. package/template/.qoder/skills/yss-jdbc/references/source-index.md +0 -33
  1188. package/template/.qoder/skills/yss-log/SKILL.md +0 -48
  1189. package/template/.qoder/skills/yss-log/agents/openai.yaml +0 -4
  1190. package/template/.qoder/skills/yss-log/references/source-index.md +0 -34
  1191. package/template/.qoder/skills/yss-taskflow/SKILL.md +0 -58
  1192. package/template/.qoder/skills/yss-taskflow/agents/openai.yaml +0 -4
  1193. package/template/.qoder/skills/yss-taskflow/references/source-index.md +0 -158
  1194. package/template/.trae/skills/product-design-prototype/SKILL.md +0 -91
  1195. package/template/.trae/skills/product-design-prototype/agents/openai.yaml +0 -4
  1196. package/template/.trae/skills/yss-backend-scaffold-application/SKILL.md +0 -139
  1197. package/template/.trae/skills/yss-backend-scaffold-application/agents/openai.yaml +0 -5
  1198. package/template/.trae/skills/yss-backend-scaffold-domain/SKILL.md +0 -281
  1199. package/template/.trae/skills/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
  1200. package/template/.trae/skills/yss-backend-scaffold-infrastructure/SKILL.md +0 -199
  1201. package/template/.trae/skills/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
  1202. package/template/.trae/skills/yss-backend-scaffold-web/SKILL.md +0 -175
  1203. package/template/.trae/skills/yss-backend-scaffold-web/agents/openai.yaml +0 -5
  1204. package/template/.trae/skills/yss-dictionary/SKILL.md +0 -49
  1205. package/template/.trae/skills/yss-dictionary/agents/openai.yaml +0 -4
  1206. package/template/.trae/skills/yss-dictionary/references/source-index.md +0 -80
  1207. package/template/.trae/skills/yss-jdbc/SKILL.md +0 -73
  1208. package/template/.trae/skills/yss-jdbc/agents/openai.yaml +0 -5
  1209. package/template/.trae/skills/yss-jdbc/assets/DefaultHutoolConfiguration.java +0 -9
  1210. package/template/.trae/skills/yss-jdbc/assets/DefaultHutoolDbHolder.java +0 -33
  1211. package/template/.trae/skills/yss-jdbc/assets/DsParam.java +0 -19
  1212. package/template/.trae/skills/yss-jdbc/assets/JdbcSqlUtil.java +0 -92
  1213. package/template/.trae/skills/yss-jdbc/references/README.md +0 -55
  1214. package/template/.trae/skills/yss-jdbc/references/source-index.md +0 -33
  1215. package/template/.trae/skills/yss-log/SKILL.md +0 -48
  1216. package/template/.trae/skills/yss-log/agents/openai.yaml +0 -4
  1217. package/template/.trae/skills/yss-log/references/source-index.md +0 -34
  1218. package/template/.trae/skills/yss-taskflow/SKILL.md +0 -58
  1219. package/template/.trae/skills/yss-taskflow/agents/openai.yaml +0 -4
  1220. package/template/.trae/skills/yss-taskflow/references/source-index.md +0 -158
  1221. package/template/wiki/raw/create-yss-spec-contract.md +0 -59
  1222. package/template/wiki/raw/skills-lock.json +0 -1379
@@ -0,0 +1,212 @@
1
+ import assert from "node:assert/strict";
2
+ import { mkdir, mkdtemp, writeFile } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import path from "node:path";
5
+ import test from "node:test";
6
+ import { fileURLToPath } from "node:url";
7
+ import { sha256 } from "./inventory.mjs";
8
+ import { lintWiki } from "./lint-wikilinks.mjs";
9
+
10
+ const skillRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
11
+ const broken = path.join(skillRoot, "assets/fixtures/broken-wiki");
12
+
13
+ test("broken fixture fails on dangling wikilink", async () => {
14
+ const result = await lintWiki(broken);
15
+ assert.equal(result.ok, false);
16
+ assert.ok(result.errors.some((line) => line.includes("[[不存在的页]]")));
17
+ });
18
+
19
+ test("complete wiki passes wikilink, index, and source-section checks", async () => {
20
+ const root = await mkdtemp(path.join(tmpdir(), "llm-wiki-lint-"));
21
+ const wiki = path.join(root, "wiki");
22
+ await mkdir(wiki, { recursive: true });
23
+ await writeFile(
24
+ path.join(wiki, "index.md"),
25
+ "# index\n\n## 分类\n\n- [[Alpha]]\n",
26
+ "utf8",
27
+ );
28
+ await writeFile(
29
+ path.join(wiki, "Alpha.md"),
30
+ "# Alpha\n\nSee [[Alpha]].\n\n## 来源\n\n- live\n",
31
+ "utf8",
32
+ );
33
+ await writeFile(path.join(wiki, "CLAUDE.md"), "# schema\n", "utf8");
34
+ const result = await lintWiki(root);
35
+ assert.equal(result.ok, true, result.errors.join("\n"));
36
+ assert.equal(result.counts.articles, 1);
37
+ });
38
+
39
+ test("cross-path wikilink fails instead of being ignored", async () => {
40
+ const root = await mkdtemp(path.join(tmpdir(), "llm-wiki-cross-"));
41
+ const wiki = path.join(root, "wiki");
42
+ await mkdir(wiki, { recursive: true });
43
+ await writeFile(path.join(wiki, "index.md"), "# index\n\n## 分类\n\n- [[Alpha]]\n", "utf8");
44
+ await writeFile(
45
+ path.join(wiki, "Alpha.md"),
46
+ "# Alpha\n\nSee [[../other]]\n\n## 来源\n\n- live\n",
47
+ "utf8",
48
+ );
49
+ const result = await lintWiki(root);
50
+ assert.equal(result.ok, false);
51
+ assert.ok(result.errors.some((line) => line.includes("CROSS-WIKI") && line.includes("[[../other]]")));
52
+ });
53
+
54
+ test("manifest sha256 mismatch is stale", async () => {
55
+ const repo = await mkdtemp(path.join(tmpdir(), "llm-wiki-hash-"));
56
+ const wikiRoot = path.join(repo, "wiki-root");
57
+ const wiki = path.join(wikiRoot, "wiki");
58
+ await mkdir(wiki, { recursive: true });
59
+ await mkdir(path.join(wikiRoot, "raw"), { recursive: true });
60
+ await mkdir(path.join(repo, "docs"), { recursive: true });
61
+ const liveRel = "docs/api.md";
62
+ await writeFile(path.join(repo, liveRel), "v2\n", "utf8");
63
+ await writeFile(path.join(wikiRoot, "raw", "api.md"), "v1\n", "utf8");
64
+ await writeFile(path.join(wiki, "index.md"), "# index\n\n## 分类\n\n- [[API]]\n", "utf8");
65
+ await writeFile(path.join(wiki, "API.md"), "# API\n\nSummary.\n\n## 来源\n\n- live\n", "utf8");
66
+ await writeFile(
67
+ path.join(wikiRoot, ".wiki-manifest.json"),
68
+ JSON.stringify({
69
+ schemaVersion: 1,
70
+ sources: [
71
+ {
72
+ id: "api.md",
73
+ kind: "document",
74
+ livePath: liveRel,
75
+ rawPath: "raw/api.md",
76
+ sha256: sha256(Buffer.from("v1\n")),
77
+ },
78
+ ],
79
+ articles: [{ id: "API", file: "wiki/API.md", sourceIds: ["api.md"] }],
80
+ }),
81
+ "utf8",
82
+ );
83
+ const result = await lintWiki(wikiRoot, { repoRoot: repo });
84
+ assert.equal(result.ok, false);
85
+ assert.ok(result.errors.some((line) => line.includes("STALE HASH") && line.includes("api.md")));
86
+ });
87
+
88
+ async function seedClosedWiki() {
89
+ const repo = await mkdtemp(path.join(tmpdir(), "llm-wiki-closed-"));
90
+ const wikiRoot = path.join(repo, "wiki-root");
91
+ const wiki = path.join(wikiRoot, "wiki");
92
+ await mkdir(wiki, { recursive: true });
93
+ await mkdir(path.join(wikiRoot, "raw"), { recursive: true });
94
+ await mkdir(path.join(repo, "docs"), { recursive: true });
95
+ const liveRel = "docs/api.md";
96
+ await writeFile(path.join(repo, liveRel), "v1\n", "utf8");
97
+ await writeFile(path.join(wikiRoot, "raw", "api.md"), "v1\n", "utf8");
98
+ await writeFile(path.join(wiki, "index.md"), "# index\n\n## 分类\n\n- [[Alpha]]\n", "utf8");
99
+ await writeFile(
100
+ path.join(wiki, "Alpha.md"),
101
+ "# Alpha\n\nSee [[Alpha]].\n\n## 来源\n\n- live\n",
102
+ "utf8",
103
+ );
104
+ const manifest = {
105
+ schemaVersion: 1,
106
+ profile: "documents",
107
+ sources: [
108
+ {
109
+ id: "api.md",
110
+ kind: "document",
111
+ livePath: liveRel,
112
+ rawPath: "raw/api.md",
113
+ sha256: sha256(Buffer.from("v1\n")),
114
+ },
115
+ ],
116
+ articles: [{ id: "Alpha", file: "wiki/Alpha.md", sourceIds: ["api.md"] }],
117
+ };
118
+ await writeFile(path.join(wikiRoot, ".wiki-manifest.json"), JSON.stringify(manifest), "utf8");
119
+ return { repo, wikiRoot, wiki, manifest };
120
+ }
121
+
122
+ test("closed manifest passes listing, id, sourceIds, profile, and rawPath checks", async () => {
123
+ const { repo, wikiRoot } = await seedClosedWiki();
124
+ const result = await lintWiki(wikiRoot, { repoRoot: repo });
125
+ assert.equal(result.ok, true, result.errors.join("\n"));
126
+ });
127
+
128
+ test("open manifest fails unlisted article, id mismatch, unknown source, profile kind, and rawPath", async () => {
129
+ const repo = await mkdtemp(path.join(tmpdir(), "llm-wiki-open-"));
130
+ const wikiRoot = path.join(repo, "wiki-root");
131
+ const wiki = path.join(wikiRoot, "wiki");
132
+ await mkdir(wiki, { recursive: true });
133
+ await mkdir(path.join(repo, "docs"), { recursive: true });
134
+ await writeFile(path.join(repo, "docs", "api.md"), "v1\n", "utf8");
135
+ await writeFile(path.join(wiki, "index.md"), "# index\n\n## 分类\n\n- [[Alpha]]\n- [[Beta]]\n", "utf8");
136
+ await writeFile(path.join(wiki, "Alpha.md"), "# Alpha\n\nSee [[Beta]].\n\n## 来源\n\n- live\n", "utf8");
137
+ await writeFile(path.join(wiki, "Beta.md"), "# Beta\n\nSee [[Alpha]].\n\n## 来源\n\n- live\n", "utf8");
138
+ await writeFile(
139
+ path.join(wikiRoot, ".wiki-manifest.json"),
140
+ JSON.stringify({
141
+ schemaVersion: 1,
142
+ profile: "documents",
143
+ sources: [
144
+ {
145
+ id: "api.md",
146
+ kind: "code-surface",
147
+ livePath: "docs/api.md",
148
+ rawPath: "raw/should-not-exist.md",
149
+ sha256: sha256(Buffer.from("v1\n")),
150
+ },
151
+ {
152
+ id: "note",
153
+ kind: "document",
154
+ livePath: "docs/api.md",
155
+ rawPath: "",
156
+ sha256: sha256(Buffer.from("v1\n")),
157
+ },
158
+ ],
159
+ articles: [
160
+ {
161
+ id: "WrongId",
162
+ file: "wiki/Alpha.md",
163
+ sourceIds: ["api.md", "ghost"],
164
+ },
165
+ ],
166
+ }),
167
+ "utf8",
168
+ );
169
+ const result = await lintWiki(wikiRoot, { repoRoot: repo });
170
+ assert.equal(result.ok, false);
171
+ assert.ok(result.errors.some((line) => line.includes("UNLISTED ARTICLE") && line.includes("Beta.md")));
172
+ assert.ok(result.errors.some((line) => line.includes("MANIFEST ID MISMATCH") && line.includes("WrongId")));
173
+ assert.ok(result.errors.some((line) => line.includes("UNKNOWN SOURCE ID") && line.includes("ghost")));
174
+ assert.ok(result.errors.some((line) => line.includes("PROFILE KIND") && line.includes("code-surface")));
175
+ assert.ok(result.errors.some((line) => line.includes("RAW PATH REQUIRED") && line.includes("note")));
176
+ assert.ok(result.errors.some((line) => line.includes("RAW PATH FORBIDDEN") && line.includes("api.md")));
177
+ });
178
+
179
+ test("derived source requires a known extract.kind", async () => {
180
+ const { repo, wikiRoot, manifest } = await seedClosedWiki();
181
+ manifest.sources.push({
182
+ id: "lock",
183
+ kind: "derived",
184
+ livePath: "docs/api.md",
185
+ rawPath: "raw/api.md",
186
+ sha256: sha256(Buffer.from("v1\n")),
187
+ });
188
+ await writeFile(path.join(wikiRoot, ".wiki-manifest.json"), JSON.stringify(manifest), "utf8");
189
+ const missing = await lintWiki(wikiRoot, { repoRoot: repo });
190
+ assert.equal(missing.ok, false);
191
+ assert.ok(missing.errors.some((line) => line.includes("EXTRACT REQUIRED") && line.includes("lock")));
192
+
193
+ manifest.sources.at(-1).extract = { kind: "whole-file" };
194
+ await writeFile(path.join(wikiRoot, ".wiki-manifest.json"), JSON.stringify(manifest), "utf8");
195
+ const unknown = await lintWiki(wikiRoot, { repoRoot: repo });
196
+ assert.equal(unknown.ok, false);
197
+ assert.ok(unknown.errors.some((line) => line.includes("EXTRACT KIND") && line.includes("whole-file")));
198
+
199
+ manifest.sources.at(-1).extract = { kind: "skill-names" };
200
+ await writeFile(path.join(wikiRoot, ".wiki-manifest.json"), JSON.stringify(manifest), "utf8");
201
+ const ok = await lintWiki(wikiRoot, { repoRoot: repo });
202
+ assert.equal(ok.ok, true, ok.errors.join("\n"));
203
+ });
204
+
205
+ test("document rawPath must exist on disk", async () => {
206
+ const { repo, wikiRoot, manifest } = await seedClosedWiki();
207
+ manifest.sources[0].rawPath = "raw/missing.md";
208
+ await writeFile(path.join(wikiRoot, ".wiki-manifest.json"), JSON.stringify(manifest), "utf8");
209
+ const result = await lintWiki(wikiRoot, { repoRoot: repo });
210
+ assert.equal(result.ok, false);
211
+ assert.ok(result.errors.some((line) => line.includes("RAW MISSING") && line.includes("raw/missing.md")));
212
+ });
@@ -16,7 +16,7 @@ If the issue tracker or triage label vocabulary is missing, tell the user to run
16
16
 
17
17
  Check with the user that these seams match their expectations.
18
18
 
19
- 3. Write the spec using the template below, then publish it to the project issue tracker. Apply the `ready-for-agent` triage label - no need for additional triage.
19
+ 3. Write the spec using the template below, then publish it to the project issue tracker. Apply the `ready-for-human` triage label. Spec drafts need a human baseline approval before they are `approved`, and before implementation tickets may become `ready-for-agent`. Do not label the Spec itself `ready-for-agent`.
20
20
 
21
21
  <spec-template>
22
22
 
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: yss-antd-design
3
+ description: Use when 原型设计或高保真构建需要查询 Ant Design v6 设计语言、组件 API/demo/token/semantic,或落盘 AntD CLI 证据。不用于前端代码落地(改用 yss-ui)、Vue 生产 API、生命周期批准、安装官方 antd skill,或替代 yss-prototype-stage。
4
+ ---
5
+
6
+ # YSS Ant Design 事实
7
+
8
+ 只服务原型设计与高保真构建。把官方 `@ant-design/cli`、`design.md`、MCP 与 LLMs.txt 收成可追溯的事实引擎。阶段合同仍是 `yss-prototype-stage`。前端代码落地一律改用 `yss-ui`,不要继续调用本技能。
9
+
10
+ ## 何时使用
11
+
12
+ - 已进入 `yss-prototype-stage` 的高保真产出前后,需要 Ant Design v6 组件 / token / demo / semantic / 上游 `design.md` 事实。
13
+ - 需要写入 `prototype-evidence.yaml` 的 AntD 段。
14
+
15
+ 不要用本技能:前端实现、Vue / Ant Design Vue 生产代码、批准门禁、生成页面流、安装官方 `antd` skill,或运行 `antd setup`。进入实现切片后停用本技能,改走 `yss-ui`。
16
+
17
+ ## 步骤
18
+
19
+ 1. 检测 CLI:优先已安装的 `antd`,否则用 `npx -y @ant-design/cli`。记录实际 CLI 版本。不要在模板源执行 `npm install -g`。
20
+ 2. 读项目 `docs/design/design.md` 与 `docs/design/tokens/*`。
21
+ 3. 选定 `<target_antd_version>`(项目已选的 v6;未选则先查再记录,不得依赖空仓库自动检测)。此后每次知识查询都传同一版本。
22
+ 4. 设置 `ANTD_NO_AUTO_REPORT=1`。一律 `--format json`,对外说明用 `--lang zh`。
23
+ 5. 查询官方 `design.md`,再按选用组件跑 `info` / `demo` / `token` / `semantic`。命令矩阵见 `references/cli-matrix.md`。
24
+ 6. 把 JSON 路径写入证据清单。字段与 lint 适用范围见 `references/evidence.md`。
25
+ 7. 上游默认与项目 token 冲突时,以项目覆盖为准,并标记 `project_override_reviewed`。
26
+
27
+ ## 硬规则
28
+
29
+ - 禁止凭记忆写 Ant Design v6 API。
30
+ - 禁止 `antd setup`、`npx skills add ant-design/ant-design-cli`,以及把官方 `skills/antd` 拷进 `.agents/skills`。
31
+ - 禁止把官方 `design.md` 的默认色、圆角、间距写回项目实现或覆盖项目 token。
32
+ - 禁止在前端代码落地、垂直切片实现或 `yss-ui` 任务中调用本技能。
33
+ - 禁止把 React props / demo / hook 当作 `yss-ui` 或 Ant Design Vue API。
34
+ - MCP 与 `llms-full.txt` 不是门禁证据。边界见 `references/boundaries.md`。
@@ -0,0 +1,30 @@
1
+ # 边界与官方资料
2
+
3
+ 官方文档只提供 React `antd` 事实,不提供 YSS 阶段合同。入口对照:
4
+
5
+ | 官方资料 | 本技能用法 |
6
+ |---|---|
7
+ | https://ant.design/docs/react/for-agents-cn | 了解 CLI / skill / MCP / LLMs 分层。不要把其中的 “安装 skill” prompt 写进 `AGENTS.md` |
8
+ | https://ant.design/docs/react/cli-cn | 命令与参数的权威说明 |
9
+ | https://ant.design/docs/react/design-md-cn | 上游 `design.md` 定位。项目覆盖是 `docs/design/design.md` |
10
+ | https://ant.design/docs/react/mcp-cn | MCP 是 IDE 加速,8 个知识工具不含 `lint` |
11
+ | https://ant.design/docs/react/llms-cn | CLI 不可用时的降级目录。不要默认注入 `llms-full.txt` |
12
+ | https://ant.design/design.md | 与 `antd design.md` 同一份 v6 上游默认 |
13
+
14
+ ## 与其他技能
15
+
16
+ - `yss-prototype-stage`:阶段顺序、评审、浏览器验证、用户确认。本技能只回写 AntD 事实段。
17
+ - `yss-design-system`:项目风格与 token 规范。本技能查询上游事实,不得改项目 token。
18
+ - `product-design:index`:Codex 视觉产出。本技能不替代它,也不使用 `antd-page-generator`。
19
+ - `yss-ui`:前端代码落地的唯一 UI 入口。进入实现后不得再查本技能或 `@ant-design/cli` 的 React API。
20
+ - 官方 `antd` skill:不安装、不锁定、不投影。
21
+
22
+ ## MCP 与 LLMs.txt
23
+
24
+ 开发者本机可以运行 `npx -y @ant-design/cli mcp --version <target_antd_version> --lang zh`,但:
25
+
26
+ - 不把 `.cursor/mcp.json` 提交为模板默认。
27
+ - 不把 MCP 调用记录当成 `evidence.antd-cli-validation`。
28
+ - `antd-page-generator` 不是原型阶段入口。
29
+
30
+ CLI 不可用时,可用 `https://ant.design/llms.txt` 定位单组件 `.md`,并在证据里写明降级原因。恢复 CLI 后补 JSON 落盘。
@@ -0,0 +1,38 @@
1
+ # CLI 命令矩阵
2
+
3
+ 运行时入口:已安装的 `antd`,或 `npx -y @ant-design/cli`。记录实际 CLI 版本。知识查询必须带 `--format json`、`--lang zh` 和同一 `<target_antd_version>`。
4
+
5
+ 官方命令说明:https://ant.design/docs/react/cli-cn
6
+
7
+ ## 允许(原型 / 设计事实)
8
+
9
+ | 命令 | 用途 |
10
+ |---|---|
11
+ | `antd design.md --version <target_antd_version> --lang zh --format json` | 上游默认 Light 主题。只对 antd v6 发布 |
12
+ | `antd list --version <target_antd_version> --format json` | 组件选型 |
13
+ | `antd info <Component> --version <target_antd_version> --format json` | props / 类型 / 默认值 |
14
+ | `antd demo <Component> [name] --version <target_antd_version> --format json` | 可运行 demo 源码(React/TSX) |
15
+ | `antd token <Component> --version <target_antd_version> --format json` | 组件或全局 token |
16
+ | `antd semantic <Component> --version <target_antd_version> --format json` | `classNames` / `styles` 结构 |
17
+ | `antd doc <Component> --version <target_antd_version> --lang zh --format json` | 需要完整文档时 |
18
+ | `antd changelog <v1> <v2> [Component] --format json` | 仅当版本差异影响当前决策 |
19
+
20
+ `design.md` 对 v5 返回 `UNSUPPORTED_VERSION_FEATURE`。空仓库不传 `--version` 时的回退版本不要假设;必须写进证据。
21
+
22
+ ## 条件允许
23
+
24
+ | 命令 | 条件 |
25
+ |---|---|
26
+ | `antd lint <tsx-or-src> --format json` | 产物是 React/TSX 源码。HTML 原型不得当作通过 |
27
+ | `antd doctor` / `antd usage` / `antd migrate` | 仅已登记的 React + `antd` 实现仓 |
28
+ | `antd env --format json` | 排障需要环境快照时 |
29
+
30
+ ## 默认禁止
31
+
32
+ | 命令 | 原因 |
33
+ |---|---|
34
+ | `antd setup` | 会写入 `.agents/skills/antd` 和 `AGENTS.md`,绕过 `skills-lock.json` |
35
+ | `npx skills add ant-design/ant-design-cli` | 同上,安装官方 skill |
36
+ | `antd bug` / `antd bug-cli` | 与 YSS Ticket 无关。保持 `ANTD_NO_AUTO_REPORT=1` |
37
+ | `antd upgrade` | 不得在模板源或未授权时改动全局 CLI |
38
+ | `antd mcp` 作为证据采集 | MCP 调用默认不落盘,见 `boundaries.md` |
@@ -0,0 +1,26 @@
1
+ # AntD 事实证据
2
+
3
+ 目标文件:`docs/.scratch/<feature>/verification/prototype-evidence.yaml`,字段以 `docs/design/templates/prototype-evidence-template.yaml` 为准。本文件只说明如何填 AntD 段。
4
+
5
+ ## 必填
6
+
7
+ - `antd.cli_command`:实际调用的可执行文件,`antd` 或 `npx -y @ant-design/cli`。
8
+ - `antd.cli_version`:本轮 `antd -V` 或等价输出,禁止写死模板默认值。
9
+ - `antd.target_antd_version`:本轮全部知识查询使用的同一 v6 版本。
10
+ - `antd.queries.design_md`:`antd design.md ... --format json` 的落盘路径。
11
+ - `antd.queries.components[]`:每个选用组件的 `info_ref` / `demo_ref` / `token_ref` / `semantic_ref`。
12
+ - `design_baseline.project_design_ref`:`docs/design/design.md`。
13
+ - `design_baseline.project_override_reviewed`:上游默认与项目 token 已对照。
14
+
15
+ JSON 输出存为相邻文件,证据清单只引用路径。不要把整份 `llms-full.txt` 或 MCP 对话贴进清单。
16
+
17
+ ## lint
18
+
19
+ `antd lint` 只对可解析的 React/TSX 源码有规则命中。HTML 原型会出现空 issues(假绿)或 `skippedFiles` / `parse-error` / `partial: true`。
20
+
21
+ | 产物 | `lint_applicable` | 做法 |
22
+ |---|---|---|
23
+ | `docs/.scratch/<feature>/design/prototypes/index.html` | `not-applicable` | 写 `lint_reason: html-prototype`;`lint_ref` 可空;`lint_passed` 保持 `false`,不得改成 `true` |
24
+ | React/TSX 原型源 | `true` | 对变更文件跑 `antd lint --format json`,保存输出;无 issue 才把 `lint_passed` 设为 `true` |
25
+
26
+ 浏览器验证仍由 `yss-prototype-stage` 采集,不在本技能宣布 `gate.prototype-verified` 通过。
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+ import { readFile } from "node:fs/promises";
3
+ import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+
6
+ export function validateFrontmatter(text) {
7
+ const match = /^---\n([\s\S]*?)\n---/.exec(text);
8
+ if (!match) throw new Error("Invalid SKILL.md frontmatter block");
9
+ const fields = new Map();
10
+ for (const line of match[1].split("\n")) {
11
+ if (!line.trim()) continue;
12
+ const index = line.indexOf(":");
13
+ if (index < 0) throw new Error(`Invalid frontmatter line: ${line}`);
14
+ fields.set(line.slice(0, index).trim(), line.slice(index + 1).trim());
15
+ }
16
+ const keys = [...fields.keys()].sort();
17
+ if (keys.join(",") !== "description,name") throw new Error(`Expected keys ['description', 'name'], got ${JSON.stringify(keys)}`);
18
+ const name = fields.get("name");
19
+ const description = fields.get("description");
20
+ if (name !== "yss-antd-design") throw new Error("Invalid skill name: " + name);
21
+ if (!description || description.length > 1024) throw new Error("Description must be present and <= 1024 chars");
22
+ if (!/yss-ui|官方 antd skill|yss-prototype-stage/.test(description)) {
23
+ throw new Error("Description must exclude frontend landing via yss-ui, official antd skill, and stage-contract takeover");
24
+ }
25
+ return name;
26
+ }
27
+
28
+ export function validateSetupBan(text) {
29
+ if (!/禁止 `antd setup`/.test(text)) throw new Error("SKILL.md must forbid antd setup");
30
+ if (!/npx skills add ant-design\/ant-design-cli/.test(text)) throw new Error("SKILL.md must forbid official skill installer");
31
+ }
32
+
33
+ async function main() {
34
+ const skill = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..", "SKILL.md");
35
+ try {
36
+ const text = await readFile(skill, "utf8");
37
+ const name = validateFrontmatter(text);
38
+ validateSetupBan(text);
39
+ console.log(`${name} frontmatter ok`);
40
+ } catch (error) {
41
+ console.error(error.message);
42
+ process.exitCode = 1;
43
+ }
44
+ }
45
+
46
+ if (process.argv[1] === fileURLToPath(import.meta.url)) await main();
@@ -0,0 +1,27 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+ import { validateFrontmatter, validateSetupBan } from "./validate-frontmatter.mjs";
4
+
5
+ const valid = `---
6
+ name: yss-antd-design
7
+ description: Use when 原型设计。不用于前端代码落地(改用 yss-ui)、安装官方 antd skill,或替代 yss-prototype-stage。
8
+ ---
9
+
10
+ # body
11
+ - 禁止 \`antd setup\`、\`npx skills add ant-design/ant-design-cli\`
12
+ `;
13
+
14
+ test("accepts the required skill frontmatter", () => {
15
+ assert.equal(validateFrontmatter(valid), "yss-antd-design");
16
+ });
17
+
18
+ test("rejects missing exclusion branches in description", () => {
19
+ assert.throws(
20
+ () => validateFrontmatter("---\nname: yss-antd-design\ndescription: Use when querying antd.\n---\n"),
21
+ /exclude frontend landing/
22
+ );
23
+ });
24
+
25
+ test("rejects a skill that does not forbid official setup", () => {
26
+ assert.throws(() => validateSetupBan("# no setup ban"), /forbid antd setup/);
27
+ });
@@ -5,6 +5,8 @@ description: Guide AI to correctly use Orval-generated API clients in Vue 3 micr
5
5
 
6
6
  # API 集成 Skill
7
7
 
8
+ 目录与锁文件身份是 `yss-api-integration`;Agent 发现名与 Router 闭包键是 `api-integration`。二者指向同一技能,注册表以 alias 对齐。
9
+
8
10
  ## 📋 目标
9
11
 
10
12
  帮助 AI 正确使用基于 **Orval** 生成的 API 客户端:
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: yss-application
3
+ description: Use when implementing YSS application use cases, transaction boundaries, cross-aggregate orchestration, idempotency, or application-level DTO conversion.
4
+ ---
5
+
6
+ # yss-application
7
+
8
+ Application 层用例编排 skill。负责协调 Domain 与 Gateway,定义事务边界和跨聚合流程,不承载核心领域规则。
9
+
10
+ ## 何时使用
11
+
12
+ - 用户要实现 Application Service、用例编排或 `@Transactional` 边界。
13
+ - 用户要补 App 层 MapStruct Convertor 或跨聚合协调逻辑。
14
+ - 脚手架生成完成后进入业务实现,Router 按 `backend_impact` 加载本 skill。
15
+
16
+ ## 不适用
17
+
18
+ - 只做领域建模时,优先 `yss-domain`。
19
+ - 只做持久层时,优先 `yss-repository`。
20
+ - 只做 Controller 时,优先 `yss-web-controller`。
21
+
22
+ ## 工作方式
23
+
24
+ 1. 先探测工程是新 DDD `application/domain/infrastructure/adapter` 还是 legacy `core/client/repository` profile。
25
+ 2. 确认 Use Case、Application 边界、事务边界已在批准合同中写明。
26
+ 3. 实现 AppService 时调用 Domain Service / Gateway,核心规则下沉 Domain。
27
+ 4. 涉及 POJO 样板加载 `lombok`;涉及 App 层转换加载 `mapstruct`。
28
+ 5. 详细包结构、注解、示例和 legacy 兼容说明见 `references/application-layer-guide.md`。
29
+
30
+ ## 产物范围
31
+
32
+ - `application/.../service/*Service.java`(或 legacy `core/service`)
33
+ - `application/.../service/impl/*ServiceImpl.java`
34
+ - `application/.../service/convertor/*Convertor.java`(MapStruct)
35
+
36
+ ## 协同顺序
37
+
38
+ - 领域建模:`yss-domain`
39
+ - 持久层:`yss-repository`
40
+ - Web 适配:`yss-web-controller`
41
+ - DTO 契约:`yss-dto`
42
+
43
+ ## 阶段 7 合同
44
+
45
+ - 只消费批准后的 `Slice Implementation Contract` 和当前 `work_unit`。
46
+ - AppService 骨架可 `controlled-generation`;用例编排、事务、幂等、权限和失败行为必须 `behavior-tdd`。
47
+ - 按 `yss-router/references/yss-skill-execution-result.md` 返回统一 `YSS Skill Execution Result`。
48
+ - 发现新 API、权限、状态机或跨上下文影响时填入 `new_impacts` 并暂停。
49
+
50
+ ## 按需读取
51
+
52
+ - 分层开发规范:`references/application-layer-guide.md`
@@ -0,0 +1,5 @@
1
+ version: 1
2
+ interface:
3
+ display_name: "YSS Application Layer"
4
+ short_description: "YSS Application 层用例编排、事务边界与跨聚合协调规范"
5
+ default_prompt: "Use $yss-application to implement the application layer for a YSS backend module."
@@ -0,0 +1,132 @@
1
+ 本 Skill 约束 Application 层的用例边界。它是目标 DDD 架构规则,不等同于现有 YSS 组件仓库中所有 `core/service` 的历史实现;先探测工程布局并记录兼容 profile。
2
+
3
+ ## 1. 核心职责 (Core Responsibilities)
4
+
5
+ - **业务用例编排 (Use Case Orchestration)**: 协调 Domain Service 和 Gateway 完成复杂的业务流程。
6
+ - **服务接口实现 (Service Implementation)**: 实现 Application Service 接口,对外提供业务能力。
7
+ - **DTO 转换 (DTO Conversion)**: 只在合同指定时负责 Domain/Application model 与 client/web DTO/VO 的转换;不得把 Repository PO 带入 Application。
8
+ - **事务控制 (Transaction Management)**: 在应用层进行 `@Transactional` 事务管理。
9
+
10
+ ## 2. 代码结构 (Code Structure)
11
+
12
+ ```
13
+ com.yss.{module}.core
14
+ ├── service # 应用服务接口
15
+ │ ├── impl # 应用服务实现
16
+ │ └── convertor # MapStruct 转换器 (App 层专用)
17
+ ├── component # 业务组件 (Exporter, Handler)
18
+ └── job # 任务执行逻辑 (Runner, Func)
19
+ ```
20
+
21
+ ## 3. 开发规范 (Development Guidelines)
22
+
23
+ ### 3.1 应用服务实现 (AppServiceImpl)
24
+
25
+ - **位置**: 新 DDD 工程优先 `application/.../service/impl`;legacy profile 才使用 `core/service/impl`。
26
+ - **注解**: `@Service`,通常配合 `@RequiredArgsConstructor` 进行构造器注入。
27
+ - **事务**: 只在已确认的用例边界添加 `@Transactional(rollbackFor = Exception.class)`;读用例明确 `readOnly` 与总数策略。
28
+ - **逻辑**: 主要负责调用 Domain Service 或 Gateway,**不应包含核心领域逻辑**(应下沉到 Domain 层)。
29
+
30
+ ### 3.2 对象转换 (Convertor)
31
+
32
+ - **工具**: MapStruct。
33
+ - **位置**: `com.yss.{module}.core.service.convertor`。
34
+ - **职责**: 将 `Domain Object` (VO/Entity) 转换为 `Application VO` 或 `Client VO`。
35
+ - **规范**: 定义 `INSTANCE` 常量,使用 `Mappers.getMapper(...)` 获取实例。
36
+
37
+ ### 3.3 异常处理
38
+
39
+ - **业务异常**: 使用 `ExceptionFactory.bizException(...)` 或项目已批准的 `BizException` 错误码。
40
+ - **已知系统异常**: 使用 `ExceptionFactory.sysException(...)` 并保留 cause;未知异常交由全局处理器兜底,不在 Application 吞并或改写。
41
+
42
+ ## 4. Legacy 参考形状(不可复制)
43
+
44
+ 以下 `QualityTemplate*` 代码只是说明 legacy `core/service` 形状的占位示例,不是当前参考源码中已验证存在的通用模块,也不定义新模块的包名、接口或返回模型。新 DDD profile 必须由批准合同生成中性 Application 接口,不能复制这些名称或 DTO/VO Gateway 泄漏。
45
+
46
+ ### 4.1 Application Service Implementation
47
+
48
+ ```java
49
+ package com.yss.quality.core.service.impl;
50
+
51
+ import com.yss.cloud.dto.result.PageResult;
52
+ import com.yss.quality.client.dto.cmd.QualityTemplateAddCmd;
53
+ import com.yss.quality.client.dto.query.QualityTemplatePage;
54
+ import com.yss.quality.client.vo.QualityTemplateVO;
55
+ import com.yss.quality.domain.template.gateway.QualityTemplateGateway;
56
+ import com.yss.quality.domain.template.service.QualityTemplateService;
57
+ import lombok.RequiredArgsConstructor;
58
+ import lombok.extern.slf4j.Slf4j;
59
+ import org.springframework.stereotype.Service;
60
+ import org.springframework.transaction.annotation.Transactional;
61
+
62
+ import java.util.List;
63
+
64
+ /**
65
+ * 数据质量规则模板应用服务实现类
66
+ */
67
+ @Service
68
+ @RequiredArgsConstructor
69
+ @Slf4j
70
+ public class QualityTemplateServiceImpl implements QualityTemplateService {
71
+
72
+ private final QualityTemplateGateway qualityTemplateGateway;
73
+
74
+ @Override
75
+ public PageResult<QualityTemplateVO> pageQualityTemplate(QualityTemplatePage query) {
76
+ // 直接调用 Domain Gateway
77
+ return qualityTemplateGateway.pageQualityTemplate(query);
78
+ }
79
+
80
+ @Override
81
+ @Transactional(rollbackFor = Exception.class)
82
+ public Long addQualityTemplate(QualityTemplateAddCmd cmd) {
83
+ // 可以在此进行简单的应用层校验或编排
84
+ log.info("Adding quality template");
85
+ return qualityTemplateGateway.addQualityTemplate(cmd);
86
+ }
87
+ }
88
+ ```
89
+
90
+ ### 4.2 Convertor (MapStruct)
91
+
92
+ ```java
93
+ package com.yss.quality.core.service.convertor;
94
+
95
+ import com.yss.quality.client.vo.QualityTechTemplateVO;
96
+ import com.yss.quality.client.vo.QualityTemplateVO;
97
+ import com.yss.quality.params.base.PluginParams;
98
+ import org.mapstruct.Mapper;
99
+ import org.mapstruct.NullValueCheckStrategy;
100
+ import org.mapstruct.NullValuePropertyMappingStrategy;
101
+ import org.mapstruct.factory.Mappers;
102
+
103
+ import java.util.List;
104
+
105
+ @Mapper(
106
+ nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
107
+ nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS
108
+ )
109
+ public interface QualityTechTemplateConvertor {
110
+ QualityTechTemplateConvertor INSTANCE = Mappers.getMapper(QualityTechTemplateConvertor.class);
111
+
112
+ // 将 Domain VO 和 PluginParams 组合转换为 TechTemplateVO
113
+ QualityTechTemplateVO useQualityTechTemplateVO(QualityTemplateVO qualityTemplateVO, List<PluginParams> pluginParams);
114
+ }
115
+ ```
116
+
117
+ ## 5. 注意事项 (Notes)
118
+
119
+ 1. **职责分离**: Application 层关注“做什么”(流程编排),Domain 层关注“怎么做”(业务规则)。
120
+ 2. **依赖方向**: Application 层依赖 Domain 层,不应依赖 Adapter 层(Web/Job)。
121
+ 3. **事务边界**: 一个用例一个边界;跨聚合写入、幂等键、事件发布时点必须写入合同并用 `behavior-tdd` 验证。
122
+ 4. **上下文能力**: 当前用户、审计、普通技术日志、校验和异常是条件依赖,按 `yss-router` 影响闭包加载,不在 AppService 内手工解析 Header/JWT。
123
+
124
+ ## 6. 架构探测门禁
125
+
126
+ 先确认工程是新 DDD `application/domain/infrastructure/adapter`,还是 legacy `core/client/repository`。没有 `backend_repository`、Maven Wrapper 和已批准合同版本时输出 `blocked`;不得用示例包名推断真实接口。
127
+
128
+ ## 7. 阶段 7 合同
129
+
130
+ - 明确当前 Use Case、Application 边界、事务边界、跨聚合协调和异常映射,只消费批准后的合同版本。
131
+ - AppService 骨架可受控生成;用例编排、事务、幂等、权限和失败行为必须使用 `behavior-tdd`。
132
+ - 返回统一 `YSS Skill Execution Result`,证据至少包含 Application 代码、测试、MapStruct/Lombok 条件和实际 `./mvnw ...` 结果。
@@ -67,7 +67,7 @@ node scripts/generate_scaffold.mjs \
67
67
  - Harness 内多项目布局必须使用 `apps/backend/<project>/`;`apps/backend/` 只能是生成器的父容器,`app/backend/`、`app/frontend/` 及其子路径一律拒绝。
68
68
  - 不要在 skill 里硬编码用户业务字段或真实连接信息。
69
69
  - 生成后要检查依赖关系是否仍符合分层约束。
70
- - 生成后必须继续使用 `yss-backend-scaffold-parent` 校验工程基线,再按垂直切片加载 `yss-domain`、`yss-repository`、`yss-web-controller` 等局部技能。
70
+ - 生成后必须继续使用 `yss-backend-scaffold-parent` 校验工程基线,再按垂直切片加载 `yss-domain`、`yss-application`、`yss-repository`、`yss-web-controller` 等行为 skill;各 skill 的 `references/*-layer-guide.md` 承载分层开发规范。
71
71
  - 当前脚手架第一阶段仅支持经过验证的 `mysql`;未提供完整模板和验证的数据库类型不得伪装成已支持。
72
72
  - 生成后的后端工程必须使用项目根目录 `./mvnw ...` 执行构建、测试、运行和 CI 验证;不得在 README、实施记录、Ticket、Review 或 Release 中默认写裸 `mvn ...`。既有仓库确实无法使用 wrapper 时,必须记录受控例外。
73
73
  - 原型确认后,`scaffold_status=required` 才能进入本 skill;本 skill 的生成边界是工程结构、POM、配置、Wrapper 和机械模板,不是业务实现。
@@ -188,7 +188,7 @@ Controller -> Service -> Gateway -> Repository -> Database
188
188
  ## 7. 参考资料
189
189
 
190
190
  - [YSS 后端开发规范](./yss-backend-scaffold-parent/SKILL.md)
191
- - [Domain 层开发指南](./yss-backend-scaffold-domain/SKILL.md)
192
- - [Application 层开发指南](./yss-backend-scaffold-application/SKILL.md)
193
- - [Infrastructure 层开发指南](./yss-backend-scaffold-infrastructure/SKILL.md)
194
- - [Web Adapter 开发指南](./yss-backend-scaffold-web/SKILL.md)
191
+ - [Domain 层开发指南](./yss-backend-scaffold-domain/SKILL.md) → `yss-domain`
192
+ - [Application 层开发指南](./yss-backend-scaffold-application/SKILL.md) → `yss-application`
193
+ - [Infrastructure 层开发指南](./yss-backend-scaffold-infrastructure/SKILL.md) → `yss-repository`
194
+ - [Web Adapter 开发指南](./yss-backend-scaffold-web/SKILL.md) → `yss-web-controller`