create-yss-spec 3.5.3 → 3.5.5

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 (1728) hide show
  1. package/README.md +8 -0
  2. package/cli-core.lock.json +130 -0
  3. package/package.json +7 -3
  4. package/resources/upgrade-skill/SKILL.md +26 -0
  5. package/resources/upgrade-skill/protocol.md +40 -0
  6. package/resources/upgrade-skill/references/cli-families.md +14 -0
  7. package/src/cli/help.js +1 -0
  8. package/src/cli/index.js +12 -0
  9. package/src/filesystem/transaction-runner.js +27 -0
  10. package/src/template/asset-runtime.js +26 -5
  11. package/src/template/verification-runtime.js +9 -1
  12. package/template/.agents/skills/.strategic-design-skills-manifest.json +5 -5
  13. package/template/.agents/skills/archify/SKILL.md +4 -52
  14. package/template/.agents/skills/archify/references/authoring-notes.md +12 -0
  15. package/template/.agents/skills/archify/references/authoring-workflow.md +25 -0
  16. package/template/.agents/skills/archify/references/delivery-workflow.md +25 -0
  17. package/template/.agents/skills/archify/references/upstream-updates.md +12 -0
  18. package/template/.agents/skills/code-review/SKILL.md +3 -34
  19. package/template/.agents/skills/code-review/references/legacy-convergence.md +5 -0
  20. package/template/.agents/skills/code-review/references/review-axis-checklists.md +18 -0
  21. package/template/.agents/skills/code-review/references/smell-baseline.md +23 -0
  22. package/template/.agents/skills/diagnosing-bugs/SKILL.md +3 -91
  23. package/template/.agents/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  24. package/template/.agents/skills/diagnosing-bugs/references/investigation.md +49 -0
  25. package/template/.agents/skills/git-commit-core/agents/openai.yaml +2 -0
  26. package/template/.agents/skills/maintaining-skills/references/authoring.md +6 -0
  27. package/template/.agents/skills/prototype-review/SKILL.md +11 -0
  28. package/template/.agents/skills/prototype-review/references/component-qa.md +32 -0
  29. package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +3 -73
  30. package/template/.agents/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  31. package/template/.agents/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  32. package/template/.agents/skills/to-spec/SKILL.md +9 -62
  33. package/template/.agents/skills/to-tickets/SKILL.md +20 -86
  34. package/template/.agents/skills/using-git-worktrees/SKILL.md +5 -122
  35. package/template/.agents/skills/using-git-worktrees/references/git-fallback.md +46 -0
  36. package/template/.agents/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  37. package/template/.agents/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  38. package/template/.agents/skills/wayfinder/SKILL.md +7 -86
  39. package/template/.agents/skills/wayfinder/references/chart-map.md +14 -0
  40. package/template/.agents/skills/wayfinder/references/map-format.md +49 -0
  41. package/template/.agents/skills/wayfinder/references/scope-and-frontier.md +24 -0
  42. package/template/.agents/skills/wayfinder/references/ticket-types.md +12 -0
  43. package/template/.agents/skills/wayfinder/references/work-map.md +15 -0
  44. package/template/.agents/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  45. package/template/.agents/skills/yedit-table-usage/SKILL.md +5 -172
  46. package/template/.agents/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  47. package/template/.agents/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  48. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  49. package/template/.agents/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  50. package/template/.agents/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  51. package/template/.agents/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  52. package/template/.agents/skills/yss-design-system/SKILL.md +13 -3
  53. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  54. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  55. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  56. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  57. package/template/.agents/skills/yss-design-system/references/data-quality-theme.md +2 -2
  58. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +1 -1
  59. package/template/.agents/skills/yss-design-system/references/design-system.md +3 -3
  60. package/template/.agents/skills/yss-design-system/references/enterprise-craft.md +33 -0
  61. package/template/.agents/skills/yss-design-system/references/page-composition.md +24 -0
  62. package/template/.agents/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  63. package/template/.agents/skills/yss-design-system/references/search-date-theme.md +19 -0
  64. package/template/.agents/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  65. package/template/.agents/skills/yss-harness-upgrade/SKILL.md +26 -0
  66. package/template/.agents/skills/yss-harness-upgrade/references/cli-families.md +14 -0
  67. package/template/.agents/skills/yss-hook/SKILL.md +8 -102
  68. package/template/.agents/skills/yss-hook/references/async-actions.md +49 -0
  69. package/template/.agents/skills/yss-hook/references/list-pagination.md +46 -0
  70. package/template/.agents/skills/yss-hook/references/polling.md +20 -0
  71. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +6 -3
  72. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -0
  73. package/template/.agents/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  74. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +2 -49
  75. package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  76. package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  77. package/template/.agents/skills/yss-openapi-governance/SKILL.md +2 -48
  78. package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  79. package/template/.agents/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  80. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +29 -29
  81. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +415 -386
  82. package/template/.agents/skills/yss-product-lifecycle/references/plan-requirements.md +2 -0
  83. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +2 -2
  84. package/template/.agents/skills/yss-prototype-stage/SKILL.md +27 -8
  85. package/template/.agents/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  86. package/template/.agents/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  87. package/template/.agents/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  88. package/template/.agents/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  89. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  90. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  91. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  92. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  93. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  94. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  95. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  96. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  97. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  98. package/template/.agents/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  99. package/template/.agents/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  100. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  101. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  102. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  103. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  104. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  105. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  106. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  107. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  108. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  109. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  110. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  111. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  112. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  113. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  114. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  115. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  116. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  117. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  118. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  119. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  120. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  121. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  122. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  123. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  124. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  125. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  126. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  127. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  128. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  129. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  130. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  131. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  132. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  133. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  134. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  135. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  136. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  137. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  138. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  139. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  140. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  141. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  142. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  143. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  144. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  145. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  146. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  147. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  148. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  149. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  150. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  151. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  152. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  153. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  154. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  155. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  156. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  157. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  158. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  159. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  160. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  161. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  162. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  163. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  164. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  165. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  166. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  167. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  168. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  169. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  170. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  171. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  172. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  173. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  174. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  175. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  176. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  177. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  178. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  179. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  180. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  181. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  182. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  183. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  184. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  185. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  186. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  187. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  188. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  189. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  190. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  191. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  192. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  193. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  194. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  195. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  196. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  197. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  198. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  199. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  200. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  201. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  202. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  203. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  204. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  205. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  206. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  207. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  208. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  209. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  210. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  211. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  212. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  213. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  214. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  215. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  216. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  217. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  218. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  219. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  220. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  221. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  222. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  223. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  224. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  225. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  226. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  227. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  228. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  229. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  230. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  231. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  232. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  233. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  234. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  235. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  236. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  237. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  238. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  239. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  240. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  241. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  242. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  243. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  244. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  245. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  246. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  247. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  248. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  249. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  250. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  251. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  252. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  253. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  254. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  255. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  256. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  257. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  258. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  259. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  260. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  261. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  262. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  263. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  264. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  265. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  266. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  267. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  268. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  269. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  270. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  271. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  272. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  273. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  274. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  275. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  276. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  277. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  278. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  279. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  280. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  281. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  282. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  283. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  284. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  285. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  286. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  287. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  288. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  289. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  290. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  291. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  292. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  293. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  294. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  295. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  296. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  297. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  298. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  299. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  300. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  301. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  302. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  303. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  304. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  305. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  306. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  307. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  308. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  309. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  310. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  311. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  312. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  313. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  314. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  315. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  316. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  317. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  318. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  319. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  320. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  321. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  322. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  323. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  324. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  325. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  326. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  327. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  328. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  329. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  330. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  331. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  332. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  333. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  334. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  335. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  336. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  337. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  338. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  339. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  340. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  341. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  342. package/template/.agents/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  343. package/template/.agents/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  344. package/template/.agents/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  345. package/template/.agents/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  346. package/template/.agents/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  347. package/template/.agents/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  348. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  349. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  350. package/template/.agents/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  351. package/template/.agents/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  352. package/template/.agents/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  353. package/template/.agents/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  354. package/template/.agents/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  355. package/template/.agents/skills/yss-prototype-stage/references/usability-research.md +26 -0
  356. package/template/.agents/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  357. package/template/.agents/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  358. package/template/.agents/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  359. package/template/.agents/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  360. package/template/.agents/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  361. package/template/.agents/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  362. package/template/.agents/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  363. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  364. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  365. package/template/.agents/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  366. package/template/.agents/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  367. package/template/.agents/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  368. package/template/.agents/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  369. package/template/.agents/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  370. package/template/.agents/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  371. package/template/.agents/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  372. package/template/.agents/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  373. package/template/.agents/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  374. package/template/.agents/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  375. package/template/.agents/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  376. package/template/.agents/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  377. package/template/.agents/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  378. package/template/.agents/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  379. package/template/.agents/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  380. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  381. package/template/.agents/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  382. package/template/.agents/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  383. package/template/.agents/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  384. package/template/.agents/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  385. package/template/.agents/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  386. package/template/.agents/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  387. package/template/.agents/skills/yss-stage-decision/SKILL.md +5 -0
  388. package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -4
  389. package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -4
  390. package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +13 -1
  391. package/template/.agents/skills/yss-technical-design/SKILL.md +4 -0
  392. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  393. package/template/.agents/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  394. package/template/.agents/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  395. package/template/.agents/skills/ytable-usage/SKILL.md +3 -191
  396. package/template/.agents/skills/ytable-usage/references/selection-and-batch.md +30 -0
  397. package/template/.agents/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  398. package/template/.codex/skills/archify/SKILL.md +4 -52
  399. package/template/.codex/skills/archify/references/authoring-notes.md +12 -0
  400. package/template/.codex/skills/archify/references/authoring-workflow.md +25 -0
  401. package/template/.codex/skills/archify/references/delivery-workflow.md +25 -0
  402. package/template/.codex/skills/archify/references/upstream-updates.md +12 -0
  403. package/template/.codex/skills/code-review/SKILL.md +3 -34
  404. package/template/.codex/skills/code-review/references/legacy-convergence.md +5 -0
  405. package/template/.codex/skills/code-review/references/review-axis-checklists.md +18 -0
  406. package/template/.codex/skills/code-review/references/smell-baseline.md +23 -0
  407. package/template/.codex/skills/diagnosing-bugs/SKILL.md +3 -91
  408. package/template/.codex/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  409. package/template/.codex/skills/diagnosing-bugs/references/investigation.md +49 -0
  410. package/template/.codex/skills/git-commit-core/agents/openai.yaml +2 -0
  411. package/template/.codex/skills/maintaining-skills/references/authoring.md +6 -0
  412. package/template/.codex/skills/prototype-review/SKILL.md +11 -0
  413. package/template/.codex/skills/prototype-review/references/component-qa.md +32 -0
  414. package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +3 -73
  415. package/template/.codex/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  416. package/template/.codex/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  417. package/template/.codex/skills/to-spec/SKILL.md +9 -62
  418. package/template/.codex/skills/to-tickets/SKILL.md +20 -86
  419. package/template/.codex/skills/using-git-worktrees/SKILL.md +5 -122
  420. package/template/.codex/skills/using-git-worktrees/references/git-fallback.md +46 -0
  421. package/template/.codex/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  422. package/template/.codex/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  423. package/template/.codex/skills/wayfinder/SKILL.md +7 -86
  424. package/template/.codex/skills/wayfinder/references/chart-map.md +14 -0
  425. package/template/.codex/skills/wayfinder/references/map-format.md +49 -0
  426. package/template/.codex/skills/wayfinder/references/scope-and-frontier.md +24 -0
  427. package/template/.codex/skills/wayfinder/references/ticket-types.md +12 -0
  428. package/template/.codex/skills/wayfinder/references/work-map.md +15 -0
  429. package/template/.codex/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  430. package/template/.codex/skills/yedit-table-usage/SKILL.md +5 -172
  431. package/template/.codex/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  432. package/template/.codex/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  433. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  434. package/template/.codex/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  435. package/template/.codex/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  436. package/template/.codex/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  437. package/template/.codex/skills/yss-design-system/SKILL.md +13 -3
  438. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  439. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  440. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  441. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  442. package/template/.codex/skills/yss-design-system/references/data-quality-theme.md +2 -2
  443. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +1 -1
  444. package/template/.codex/skills/yss-design-system/references/design-system.md +3 -3
  445. package/template/.codex/skills/yss-design-system/references/enterprise-craft.md +33 -0
  446. package/template/.codex/skills/yss-design-system/references/page-composition.md +24 -0
  447. package/template/.codex/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  448. package/template/.codex/skills/yss-design-system/references/search-date-theme.md +19 -0
  449. package/template/.codex/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  450. package/template/.codex/skills/yss-harness-upgrade/SKILL.md +26 -0
  451. package/template/.codex/skills/yss-harness-upgrade/references/cli-families.md +14 -0
  452. package/template/.codex/skills/yss-hook/SKILL.md +8 -102
  453. package/template/.codex/skills/yss-hook/references/async-actions.md +49 -0
  454. package/template/.codex/skills/yss-hook/references/list-pagination.md +46 -0
  455. package/template/.codex/skills/yss-hook/references/polling.md +20 -0
  456. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +6 -3
  457. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -0
  458. package/template/.codex/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  459. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +2 -49
  460. package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  461. package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  462. package/template/.codex/skills/yss-openapi-governance/SKILL.md +2 -48
  463. package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  464. package/template/.codex/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  465. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +29 -29
  466. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +415 -386
  467. package/template/.codex/skills/yss-product-lifecycle/references/plan-requirements.md +2 -0
  468. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +2 -2
  469. package/template/.codex/skills/yss-prototype-stage/SKILL.md +27 -8
  470. package/template/.codex/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  471. package/template/.codex/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  472. package/template/.codex/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  473. package/template/.codex/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  474. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  475. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  476. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  477. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  478. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  479. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  480. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  481. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  482. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  483. package/template/.codex/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  484. package/template/.codex/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  485. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  486. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  487. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  488. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  489. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  490. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  491. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  492. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  493. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  494. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  495. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  496. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  497. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  498. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  499. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  500. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  501. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  502. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  503. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  504. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  505. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  506. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  507. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  508. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  509. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  510. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  511. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  512. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  513. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  514. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  515. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  516. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  517. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  518. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  519. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  520. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  521. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  522. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  523. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  524. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  525. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  526. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  527. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  528. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  529. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  530. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  531. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  532. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  533. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  534. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  535. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  536. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  537. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  538. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  539. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  540. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  541. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  542. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  543. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  544. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  545. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  546. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  547. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  548. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  549. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  550. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  551. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  552. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  553. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  554. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  555. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  556. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  557. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  558. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  559. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  560. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  561. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  562. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  563. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  564. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  565. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  566. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  567. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  568. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  569. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  570. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  571. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  572. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  573. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  574. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  575. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  576. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  577. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  578. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  579. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  580. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  581. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  582. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  583. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  584. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  585. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  586. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  587. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  588. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  589. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  590. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  591. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  592. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  593. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  594. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  595. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  596. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  597. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  598. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  599. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  600. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  601. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  602. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  603. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  604. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  605. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  606. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  607. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  608. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  609. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  610. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  611. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  612. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  613. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  614. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  615. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  616. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  617. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  618. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  619. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  620. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  621. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  622. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  623. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  624. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  625. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  626. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  627. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  628. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  629. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  630. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  631. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  632. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  633. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  634. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  635. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  636. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  637. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  638. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  639. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  640. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  641. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  642. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  643. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  644. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  645. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  646. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  647. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  648. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  649. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  650. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  651. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  652. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  653. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  654. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  655. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  656. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  657. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  658. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  659. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  660. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  661. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  662. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  663. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  664. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  665. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  666. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  667. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  668. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  669. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  670. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  671. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  672. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  673. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  674. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  675. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  676. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  677. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  678. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  679. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  680. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  681. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  682. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  683. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  684. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  685. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  686. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  687. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  688. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  689. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  690. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  691. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  692. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  693. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  694. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  695. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  696. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  697. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  698. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  699. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  700. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  701. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  702. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  703. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  704. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  705. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  706. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  707. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  708. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  709. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  710. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  711. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  712. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  713. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  714. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  715. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  716. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  717. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  718. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  719. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  720. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  721. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  722. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  723. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  724. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  725. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  726. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  727. package/template/.codex/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  728. package/template/.codex/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  729. package/template/.codex/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  730. package/template/.codex/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  731. package/template/.codex/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  732. package/template/.codex/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  733. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  734. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  735. package/template/.codex/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  736. package/template/.codex/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  737. package/template/.codex/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  738. package/template/.codex/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  739. package/template/.codex/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  740. package/template/.codex/skills/yss-prototype-stage/references/usability-research.md +26 -0
  741. package/template/.codex/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  742. package/template/.codex/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  743. package/template/.codex/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  744. package/template/.codex/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  745. package/template/.codex/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  746. package/template/.codex/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  747. package/template/.codex/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  748. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  749. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  750. package/template/.codex/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  751. package/template/.codex/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  752. package/template/.codex/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  753. package/template/.codex/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  754. package/template/.codex/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  755. package/template/.codex/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  756. package/template/.codex/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  757. package/template/.codex/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  758. package/template/.codex/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  759. package/template/.codex/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  760. package/template/.codex/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  761. package/template/.codex/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  762. package/template/.codex/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  763. package/template/.codex/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  764. package/template/.codex/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  765. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  766. package/template/.codex/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  767. package/template/.codex/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  768. package/template/.codex/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  769. package/template/.codex/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  770. package/template/.codex/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  771. package/template/.codex/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  772. package/template/.codex/skills/yss-stage-decision/SKILL.md +5 -0
  773. package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -4
  774. package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -4
  775. package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +13 -1
  776. package/template/.codex/skills/yss-technical-design/SKILL.md +4 -0
  777. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  778. package/template/.codex/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  779. package/template/.codex/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  780. package/template/.codex/skills/ytable-usage/SKILL.md +3 -191
  781. package/template/.codex/skills/ytable-usage/references/selection-and-batch.md +30 -0
  782. package/template/.codex/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  783. package/template/.cursor/skills/archify/SKILL.md +4 -52
  784. package/template/.cursor/skills/archify/references/authoring-notes.md +12 -0
  785. package/template/.cursor/skills/archify/references/authoring-workflow.md +25 -0
  786. package/template/.cursor/skills/archify/references/delivery-workflow.md +25 -0
  787. package/template/.cursor/skills/archify/references/upstream-updates.md +12 -0
  788. package/template/.cursor/skills/code-review/SKILL.md +3 -34
  789. package/template/.cursor/skills/code-review/references/legacy-convergence.md +5 -0
  790. package/template/.cursor/skills/code-review/references/review-axis-checklists.md +18 -0
  791. package/template/.cursor/skills/code-review/references/smell-baseline.md +23 -0
  792. package/template/.cursor/skills/diagnosing-bugs/SKILL.md +3 -91
  793. package/template/.cursor/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  794. package/template/.cursor/skills/diagnosing-bugs/references/investigation.md +49 -0
  795. package/template/.cursor/skills/git-commit-core/agents/openai.yaml +2 -0
  796. package/template/.cursor/skills/maintaining-skills/references/authoring.md +6 -0
  797. package/template/.cursor/skills/prototype-review/SKILL.md +11 -0
  798. package/template/.cursor/skills/prototype-review/references/component-qa.md +32 -0
  799. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +3 -73
  800. package/template/.cursor/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  801. package/template/.cursor/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  802. package/template/.cursor/skills/to-spec/SKILL.md +9 -62
  803. package/template/.cursor/skills/to-tickets/SKILL.md +20 -86
  804. package/template/.cursor/skills/using-git-worktrees/SKILL.md +5 -122
  805. package/template/.cursor/skills/using-git-worktrees/references/git-fallback.md +46 -0
  806. package/template/.cursor/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  807. package/template/.cursor/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  808. package/template/.cursor/skills/wayfinder/SKILL.md +7 -86
  809. package/template/.cursor/skills/wayfinder/references/chart-map.md +14 -0
  810. package/template/.cursor/skills/wayfinder/references/map-format.md +49 -0
  811. package/template/.cursor/skills/wayfinder/references/scope-and-frontier.md +24 -0
  812. package/template/.cursor/skills/wayfinder/references/ticket-types.md +12 -0
  813. package/template/.cursor/skills/wayfinder/references/work-map.md +15 -0
  814. package/template/.cursor/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  815. package/template/.cursor/skills/yedit-table-usage/SKILL.md +5 -172
  816. package/template/.cursor/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  817. package/template/.cursor/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  818. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  819. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  820. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  821. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  822. package/template/.cursor/skills/yss-design-system/SKILL.md +13 -3
  823. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  824. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  825. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  826. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  827. package/template/.cursor/skills/yss-design-system/references/data-quality-theme.md +2 -2
  828. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +1 -1
  829. package/template/.cursor/skills/yss-design-system/references/design-system.md +3 -3
  830. package/template/.cursor/skills/yss-design-system/references/enterprise-craft.md +33 -0
  831. package/template/.cursor/skills/yss-design-system/references/page-composition.md +24 -0
  832. package/template/.cursor/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  833. package/template/.cursor/skills/yss-design-system/references/search-date-theme.md +19 -0
  834. package/template/.cursor/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  835. package/template/.cursor/skills/yss-harness-upgrade/SKILL.md +26 -0
  836. package/template/.cursor/skills/yss-harness-upgrade/references/cli-families.md +14 -0
  837. package/template/.cursor/skills/yss-hook/SKILL.md +8 -102
  838. package/template/.cursor/skills/yss-hook/references/async-actions.md +49 -0
  839. package/template/.cursor/skills/yss-hook/references/list-pagination.md +46 -0
  840. package/template/.cursor/skills/yss-hook/references/polling.md +20 -0
  841. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +6 -3
  842. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -0
  843. package/template/.cursor/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  844. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +2 -49
  845. package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  846. package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  847. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +2 -48
  848. package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  849. package/template/.cursor/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  850. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +29 -29
  851. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +415 -386
  852. package/template/.cursor/skills/yss-product-lifecycle/references/plan-requirements.md +2 -0
  853. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +2 -2
  854. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +27 -8
  855. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  856. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  857. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  858. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  859. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  860. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  861. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  862. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  863. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  864. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  865. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  866. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  867. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  868. package/template/.cursor/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  869. package/template/.cursor/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  870. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  871. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  872. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  873. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  874. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  875. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  876. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  877. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  878. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  879. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  880. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  881. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  882. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  883. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  884. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  885. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  886. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  887. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  888. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  889. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  890. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  891. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  892. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  893. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  894. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  895. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  896. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  897. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  898. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  899. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  900. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  901. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  902. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  903. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  904. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  905. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  906. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  907. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  908. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  909. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  910. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  911. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  912. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  913. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  914. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  915. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  916. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  917. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  918. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  919. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  920. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  921. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  922. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  923. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  924. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  925. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  926. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  927. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  928. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  929. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  930. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  931. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  932. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  933. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  934. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  935. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  936. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  937. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  938. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  939. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  940. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  941. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  942. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  943. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  944. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  945. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  946. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  947. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  948. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  949. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  950. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  951. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  952. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  953. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  954. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  955. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  956. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  957. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  958. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  959. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  960. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  961. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  962. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  963. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  964. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  965. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  966. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  967. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  968. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  969. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  970. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  971. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  972. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  973. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  974. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  975. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  976. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  977. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  978. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  979. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  980. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  981. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  982. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  983. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  984. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  985. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  986. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  987. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  988. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  989. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  990. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  991. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  992. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  993. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  994. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  995. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  996. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  997. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  998. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  999. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  1000. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  1001. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  1002. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  1003. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  1004. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  1005. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  1006. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  1007. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  1008. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  1009. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  1010. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  1011. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  1012. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  1013. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  1014. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  1015. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  1016. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  1017. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  1018. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  1019. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  1020. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  1021. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  1022. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  1023. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  1024. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  1025. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  1026. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  1027. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  1028. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  1029. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  1030. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  1031. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  1032. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  1033. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  1034. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  1035. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  1036. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  1037. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  1038. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  1039. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  1040. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  1041. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  1042. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  1043. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  1044. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  1045. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  1046. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  1047. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  1048. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  1049. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  1050. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  1051. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  1052. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  1053. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  1054. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  1055. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  1056. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  1057. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  1058. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  1059. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  1060. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  1061. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  1062. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  1063. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  1064. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  1065. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  1066. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  1067. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  1068. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  1069. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  1070. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  1071. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  1072. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  1073. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  1074. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  1075. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  1076. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  1077. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  1078. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  1079. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  1080. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  1081. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  1082. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  1083. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  1084. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  1085. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  1086. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  1087. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  1088. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  1089. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  1090. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  1091. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  1092. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  1093. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  1094. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  1095. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  1096. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  1097. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  1098. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  1099. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  1100. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  1101. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  1102. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  1103. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  1104. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  1105. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  1106. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  1107. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  1108. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  1109. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  1110. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  1111. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  1112. package/template/.cursor/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  1113. package/template/.cursor/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  1114. package/template/.cursor/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  1115. package/template/.cursor/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  1116. package/template/.cursor/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  1117. package/template/.cursor/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  1118. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  1119. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  1120. package/template/.cursor/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  1121. package/template/.cursor/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  1122. package/template/.cursor/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  1123. package/template/.cursor/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  1124. package/template/.cursor/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  1125. package/template/.cursor/skills/yss-prototype-stage/references/usability-research.md +26 -0
  1126. package/template/.cursor/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  1127. package/template/.cursor/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  1128. package/template/.cursor/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  1129. package/template/.cursor/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  1130. package/template/.cursor/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  1131. package/template/.cursor/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  1132. package/template/.cursor/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  1133. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  1134. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  1135. package/template/.cursor/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  1136. package/template/.cursor/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  1137. package/template/.cursor/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  1138. package/template/.cursor/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  1139. package/template/.cursor/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  1140. package/template/.cursor/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  1141. package/template/.cursor/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  1142. package/template/.cursor/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  1143. package/template/.cursor/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  1144. package/template/.cursor/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  1145. package/template/.cursor/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  1146. package/template/.cursor/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  1147. package/template/.cursor/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  1148. package/template/.cursor/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  1149. package/template/.cursor/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  1150. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  1151. package/template/.cursor/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  1152. package/template/.cursor/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  1153. package/template/.cursor/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  1154. package/template/.cursor/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  1155. package/template/.cursor/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  1156. package/template/.cursor/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  1157. package/template/.cursor/skills/yss-stage-decision/SKILL.md +5 -0
  1158. package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -4
  1159. package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -4
  1160. package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +13 -1
  1161. package/template/.cursor/skills/yss-technical-design/SKILL.md +4 -0
  1162. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  1163. package/template/.cursor/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  1164. package/template/.cursor/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  1165. package/template/.cursor/skills/ytable-usage/SKILL.md +3 -191
  1166. package/template/.cursor/skills/ytable-usage/references/selection-and-batch.md +30 -0
  1167. package/template/.cursor/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  1168. package/template/.pi/skills/archify/SKILL.md +4 -52
  1169. package/template/.pi/skills/archify/references/authoring-notes.md +12 -0
  1170. package/template/.pi/skills/archify/references/authoring-workflow.md +25 -0
  1171. package/template/.pi/skills/archify/references/delivery-workflow.md +25 -0
  1172. package/template/.pi/skills/archify/references/upstream-updates.md +12 -0
  1173. package/template/.pi/skills/code-review/SKILL.md +3 -34
  1174. package/template/.pi/skills/code-review/references/legacy-convergence.md +5 -0
  1175. package/template/.pi/skills/code-review/references/review-axis-checklists.md +18 -0
  1176. package/template/.pi/skills/code-review/references/smell-baseline.md +23 -0
  1177. package/template/.pi/skills/diagnosing-bugs/SKILL.md +3 -91
  1178. package/template/.pi/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  1179. package/template/.pi/skills/diagnosing-bugs/references/investigation.md +49 -0
  1180. package/template/.pi/skills/git-commit-core/agents/openai.yaml +2 -0
  1181. package/template/.pi/skills/maintaining-skills/references/authoring.md +6 -0
  1182. package/template/.pi/skills/prototype-review/SKILL.md +11 -0
  1183. package/template/.pi/skills/prototype-review/references/component-qa.md +32 -0
  1184. package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +3 -73
  1185. package/template/.pi/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  1186. package/template/.pi/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  1187. package/template/.pi/skills/to-spec/SKILL.md +9 -62
  1188. package/template/.pi/skills/to-tickets/SKILL.md +20 -86
  1189. package/template/.pi/skills/using-git-worktrees/SKILL.md +5 -122
  1190. package/template/.pi/skills/using-git-worktrees/references/git-fallback.md +46 -0
  1191. package/template/.pi/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  1192. package/template/.pi/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  1193. package/template/.pi/skills/wayfinder/SKILL.md +7 -86
  1194. package/template/.pi/skills/wayfinder/references/chart-map.md +14 -0
  1195. package/template/.pi/skills/wayfinder/references/map-format.md +49 -0
  1196. package/template/.pi/skills/wayfinder/references/scope-and-frontier.md +24 -0
  1197. package/template/.pi/skills/wayfinder/references/ticket-types.md +12 -0
  1198. package/template/.pi/skills/wayfinder/references/work-map.md +15 -0
  1199. package/template/.pi/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  1200. package/template/.pi/skills/yedit-table-usage/SKILL.md +5 -172
  1201. package/template/.pi/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  1202. package/template/.pi/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  1203. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  1204. package/template/.pi/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  1205. package/template/.pi/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  1206. package/template/.pi/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  1207. package/template/.pi/skills/yss-design-system/SKILL.md +13 -3
  1208. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  1209. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  1210. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  1211. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  1212. package/template/.pi/skills/yss-design-system/references/data-quality-theme.md +2 -2
  1213. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +1 -1
  1214. package/template/.pi/skills/yss-design-system/references/design-system.md +3 -3
  1215. package/template/.pi/skills/yss-design-system/references/enterprise-craft.md +33 -0
  1216. package/template/.pi/skills/yss-design-system/references/page-composition.md +24 -0
  1217. package/template/.pi/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  1218. package/template/.pi/skills/yss-design-system/references/search-date-theme.md +19 -0
  1219. package/template/.pi/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  1220. package/template/.pi/skills/yss-harness-upgrade/SKILL.md +26 -0
  1221. package/template/.pi/skills/yss-harness-upgrade/references/cli-families.md +14 -0
  1222. package/template/.pi/skills/yss-hook/SKILL.md +8 -102
  1223. package/template/.pi/skills/yss-hook/references/async-actions.md +49 -0
  1224. package/template/.pi/skills/yss-hook/references/list-pagination.md +46 -0
  1225. package/template/.pi/skills/yss-hook/references/polling.md +20 -0
  1226. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +6 -3
  1227. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +1 -0
  1228. package/template/.pi/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  1229. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +2 -49
  1230. package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  1231. package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  1232. package/template/.pi/skills/yss-openapi-governance/SKILL.md +2 -48
  1233. package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  1234. package/template/.pi/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  1235. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +29 -29
  1236. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +415 -386
  1237. package/template/.pi/skills/yss-product-lifecycle/references/plan-requirements.md +2 -0
  1238. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +2 -2
  1239. package/template/.pi/skills/yss-prototype-stage/SKILL.md +27 -8
  1240. package/template/.pi/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  1241. package/template/.pi/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  1242. package/template/.pi/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  1243. package/template/.pi/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  1244. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  1245. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  1246. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  1247. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  1248. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  1249. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  1250. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  1251. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  1252. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  1253. package/template/.pi/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  1254. package/template/.pi/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  1255. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  1256. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  1257. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  1258. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  1259. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  1260. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  1261. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  1262. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  1263. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  1264. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  1265. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  1266. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  1267. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  1268. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  1269. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  1270. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  1271. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  1272. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  1273. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  1274. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  1275. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  1276. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  1277. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  1278. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  1279. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  1280. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  1281. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  1282. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  1283. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  1284. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  1285. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  1286. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  1287. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  1288. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  1289. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  1290. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  1291. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  1292. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  1293. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  1294. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  1295. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  1296. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  1297. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  1298. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  1299. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  1300. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  1301. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  1302. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  1303. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  1304. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  1305. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  1306. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  1307. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  1308. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  1309. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  1310. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  1311. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  1312. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  1313. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  1314. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  1315. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  1316. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  1317. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  1318. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  1319. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  1320. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  1321. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  1322. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  1323. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  1324. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  1325. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  1326. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  1327. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  1328. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  1329. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  1330. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  1331. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  1332. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  1333. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  1334. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  1335. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  1336. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  1337. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  1338. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  1339. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  1340. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  1341. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  1342. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  1343. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  1344. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  1345. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  1346. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  1347. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  1348. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  1349. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  1350. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  1351. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  1352. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  1353. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  1354. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  1355. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  1356. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  1357. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  1358. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  1359. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  1360. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  1361. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  1362. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  1363. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  1364. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  1365. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  1366. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  1367. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  1368. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  1369. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  1370. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  1371. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  1372. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  1373. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  1374. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  1375. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  1376. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  1377. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  1378. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  1379. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  1380. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  1381. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  1382. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  1383. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  1384. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  1385. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  1386. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  1387. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  1388. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  1389. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  1390. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  1391. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  1392. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  1393. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  1394. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  1395. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  1396. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  1397. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  1398. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  1399. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  1400. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  1401. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  1402. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  1403. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  1404. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  1405. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  1406. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  1407. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  1408. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  1409. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  1410. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  1411. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  1412. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  1413. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  1414. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  1415. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  1416. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  1417. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  1418. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  1419. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  1420. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  1421. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  1422. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  1423. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  1424. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  1425. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  1426. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  1427. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  1428. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  1429. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  1430. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  1431. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  1432. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  1433. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  1434. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  1435. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  1436. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  1437. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  1438. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  1439. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  1440. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  1441. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  1442. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  1443. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  1444. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  1445. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  1446. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  1447. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  1448. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  1449. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  1450. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  1451. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  1452. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  1453. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  1454. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  1455. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  1456. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  1457. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  1458. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  1459. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  1460. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  1461. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  1462. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  1463. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  1464. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  1465. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  1466. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  1467. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  1468. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  1469. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  1470. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  1471. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  1472. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  1473. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  1474. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  1475. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  1476. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  1477. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  1478. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  1479. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  1480. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  1481. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  1482. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  1483. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  1484. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  1485. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  1486. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  1487. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  1488. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  1489. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  1490. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  1491. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  1492. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  1493. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  1494. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  1495. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  1496. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  1497. package/template/.pi/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  1498. package/template/.pi/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  1499. package/template/.pi/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  1500. package/template/.pi/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  1501. package/template/.pi/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  1502. package/template/.pi/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  1503. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  1504. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  1505. package/template/.pi/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  1506. package/template/.pi/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  1507. package/template/.pi/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  1508. package/template/.pi/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  1509. package/template/.pi/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  1510. package/template/.pi/skills/yss-prototype-stage/references/usability-research.md +26 -0
  1511. package/template/.pi/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  1512. package/template/.pi/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  1513. package/template/.pi/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  1514. package/template/.pi/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  1515. package/template/.pi/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  1516. package/template/.pi/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  1517. package/template/.pi/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  1518. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  1519. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  1520. package/template/.pi/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  1521. package/template/.pi/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  1522. package/template/.pi/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  1523. package/template/.pi/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  1524. package/template/.pi/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  1525. package/template/.pi/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  1526. package/template/.pi/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  1527. package/template/.pi/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  1528. package/template/.pi/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  1529. package/template/.pi/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  1530. package/template/.pi/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  1531. package/template/.pi/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  1532. package/template/.pi/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  1533. package/template/.pi/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  1534. package/template/.pi/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  1535. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  1536. package/template/.pi/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  1537. package/template/.pi/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  1538. package/template/.pi/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  1539. package/template/.pi/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  1540. package/template/.pi/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  1541. package/template/.pi/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  1542. package/template/.pi/skills/yss-stage-decision/SKILL.md +5 -0
  1543. package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -4
  1544. package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -4
  1545. package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +13 -1
  1546. package/template/.pi/skills/yss-technical-design/SKILL.md +4 -0
  1547. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  1548. package/template/.pi/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  1549. package/template/.pi/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  1550. package/template/.pi/skills/ytable-usage/SKILL.md +3 -191
  1551. package/template/.pi/skills/ytable-usage/references/selection-and-batch.md +30 -0
  1552. package/template/.pi/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  1553. package/template/.template-spec/agents/digital-human-roles.yaml +2 -2
  1554. package/template/.template-spec/agents/issue-tracker.md +10 -1
  1555. package/template/.template-spec/agents/yss-skill-registry.yaml +50 -1
  1556. package/template/.template-spec/design/README.md +7 -2
  1557. package/template/.template-spec/design/design.md +30 -35
  1558. package/template/.template-spec/design/templates/examples/model-publishing-interaction.example.md +2 -2
  1559. package/template/.template-spec/design/templates/interaction-spec-template.md +24 -0
  1560. package/template/.template-spec/design/templates/prototype-evidence-template.yaml +18 -5
  1561. package/template/.template-spec/design/templates/prototype-review-checklist.md +8 -0
  1562. package/template/.template-spec/design/tokens/.design-md-projection.json +2 -2
  1563. package/template/.template-spec/design/tokens/variables.css +162 -0
  1564. package/template/.template-spec/plan/templates/plan-template.md +25 -1
  1565. package/template/.template-spec/process/business-tickets.md +48 -0
  1566. package/template/.template-spec/process/checkpoint-boundary.yaml +73 -0
  1567. package/template/.template-spec/process/contract-reading.md +36 -1
  1568. package/template/.template-spec/process/document-writing.md +14 -0
  1569. package/template/.template-spec/process/feature-assets.md +38 -0
  1570. package/template/.template-spec/process/harness-upgrade.md +40 -0
  1571. package/template/.template-spec/process/lifecycle-artifact-map.md +3 -2
  1572. package/template/.template-spec/process/lifecycle-registry-baseline.json +9 -5
  1573. package/template/.template-spec/process/lifecycle-registry.yaml +18 -6
  1574. package/template/.template-spec/process/plan-spec-quality.md +69 -0
  1575. package/template/.template-spec/process/project-ci.md +21 -0
  1576. package/template/.template-spec/process/reading-policy.yaml +4 -0
  1577. package/template/.template-spec/process/schemas/approval-record.schema.json +23 -0
  1578. package/template/.template-spec/process/schemas/business-tickets-v1.schema.json +449 -0
  1579. package/template/.template-spec/process/schemas/domain-strategy-reading.schema.json +216 -0
  1580. package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +203 -11
  1581. package/template/.template-spec/process/schemas/reading-manifest.schema.json +14 -0
  1582. package/template/.template-spec/process/schemas/reading-policy.schema.json +10 -0
  1583. package/template/.template-spec/process/schemas/stage-decision-package-reading.schema.json +148 -0
  1584. package/template/.template-spec/process/stage-tracking.md +10 -2
  1585. package/template/.template-spec/process/strategic-handoff-package.md +3 -1
  1586. package/template/.template-spec/process/structured-assets.md +35 -0
  1587. package/template/.template-spec/process/templates/lifecycle-checkpoint-template.json +48 -0
  1588. package/template/.template-spec/process/templates/stage-checkpoint-template.md +6 -1
  1589. package/template/.template-spec/templates/approval-record-template.json +23 -0
  1590. package/template/.template-spec/templates/business-ticket-review-template.yaml +11 -0
  1591. package/template/.template-spec/templates/business-ticket-set-template.yaml +16 -0
  1592. package/template/.template-spec/templates/business-ticket-template.md +38 -0
  1593. package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +16 -0
  1594. package/template/.template-spec/templates/examples/plan-spec/complex-defective.md +38 -0
  1595. package/template/.template-spec/templates/examples/plan-spec/complex-source.md +12 -0
  1596. package/template/.template-spec/templates/examples/plan-spec/complex-valid.md +38 -0
  1597. package/template/.template-spec/templates/examples/plan-spec/expectations.json +46 -0
  1598. package/template/.template-spec/templates/examples/plan-spec/high-risk-before.md +32 -0
  1599. package/template/.template-spec/templates/examples/plan-spec/high-risk-defective.md +39 -0
  1600. package/template/.template-spec/templates/examples/plan-spec/high-risk-source.md +11 -0
  1601. package/template/.template-spec/templates/examples/plan-spec/high-risk-valid.md +39 -0
  1602. package/template/.template-spec/templates/examples/plan-spec/ordinary-defective.md +36 -0
  1603. package/template/.template-spec/templates/examples/plan-spec/ordinary-plan.md +27 -0
  1604. package/template/.template-spec/templates/examples/plan-spec/ordinary-source.md +14 -0
  1605. package/template/.template-spec/templates/examples/plan-spec/ordinary-valid.md +36 -0
  1606. package/template/.template-spec/templates/local-parent-ticket-template.md +23 -15
  1607. package/template/.template-spec/templates/spec-delta-template.md +7 -5
  1608. package/template/.template-spec/templates/spec-template.md +31 -15
  1609. package/template/.template-spec/templates/vertical-slice-ticket-template.md +4 -0
  1610. package/template/AGENTS.md +1 -1
  1611. package/template/CONTEXT.md +1 -0
  1612. package/template/DESIGN.md +23 -4
  1613. package/template/scripts/check-plan-stage-coverage +12 -0
  1614. package/template/scripts/contract +20 -2
  1615. package/template/scripts/feature-assets +23 -0
  1616. package/template/scripts/inspect-plan-spec +32 -0
  1617. package/template/scripts/inspect-skill-discovery +24 -0
  1618. package/template/scripts/lib/approval-record.mjs +4 -3
  1619. package/template/scripts/lib/asset-command.mjs +35 -0
  1620. package/template/scripts/lib/asset-migration.mjs +101 -0
  1621. package/template/scripts/lib/asset-transactions.mjs +235 -0
  1622. package/template/scripts/lib/business-ticket-lifecycle.mjs +34 -0
  1623. package/template/scripts/lib/business-tickets.mjs +273 -0
  1624. package/template/scripts/lib/checkpoint-boundary.mjs +43 -0
  1625. package/template/scripts/lib/contract-views.mjs +27 -8
  1626. package/template/scripts/lib/feature-assets.mjs +274 -0
  1627. package/template/scripts/lib/governance-io.mjs +40 -0
  1628. package/template/scripts/lib/json-schema.mjs +43 -4
  1629. package/template/scripts/lib/lifecycle-context-query.mjs +7 -0
  1630. package/template/scripts/lib/lifecycle-presentation.mjs +77 -0
  1631. package/template/scripts/lib/lifecycle-status.mjs +33 -2
  1632. package/template/scripts/lib/lifecycle-transition.mjs +12 -3
  1633. package/template/scripts/lib/plan-spec-markdown.mjs +97 -0
  1634. package/template/scripts/lib/plan-spec-quality.mjs +289 -0
  1635. package/template/scripts/lib/plan-stage-coverage.mjs +40 -0
  1636. package/template/scripts/lib/project-ci-install.mjs +98 -0
  1637. package/template/scripts/lib/project-governance.mjs +189 -0
  1638. package/template/scripts/lib/reading-view-adapters.mjs +62 -0
  1639. package/template/scripts/lib/reading-view-bundle.mjs +202 -0
  1640. package/template/scripts/lib/reading-view-diff.mjs +29 -0
  1641. package/template/scripts/lib/reading-view-markdown.mjs +41 -0
  1642. package/template/scripts/lib/reading-view-model.mjs +13 -0
  1643. package/template/scripts/lib/reading-view-policy.mjs +16 -0
  1644. package/template/scripts/lib/skill-discovery.mjs +150 -0
  1645. package/template/scripts/lib/skill-registry.mjs +41 -1
  1646. package/template/scripts/lib/skill-supply-chain.mjs +1 -1
  1647. package/template/scripts/lib/slice-contract-preparation.mjs +8 -2
  1648. package/template/scripts/lib/slice-contract.mjs +15 -1
  1649. package/template/scripts/lib/stage-tracking-migration.mjs +20 -4
  1650. package/template/scripts/lib/stage-tracking.mjs +10 -5
  1651. package/template/scripts/lib/strategic-handoff-consumption.mjs +14 -2
  1652. package/template/scripts/lib/strategic-handoff-io.mjs +6 -2
  1653. package/template/scripts/lib/strategic-handoff.mjs +26 -5
  1654. package/template/scripts/lib/structured-assets.mjs +81 -0
  1655. package/template/scripts/lib/task-package.mjs +18 -4
  1656. package/template/scripts/lib/testing/user-decision-fixture.mjs +33 -0
  1657. package/template/scripts/lib/user-decision-reuse.mjs +1 -1
  1658. package/template/scripts/lifecycle-status +16 -3
  1659. package/template/scripts/project-ci +20 -0
  1660. package/template/scripts/project-ci-transition +13 -0
  1661. package/template/scripts/query-lifecycle-context +4 -0
  1662. package/template/scripts/stage-tracking +1 -0
  1663. package/template/scripts/vendor/NOTICES.md +237 -0
  1664. package/template/scripts/vendor/manifest.json +1216 -65
  1665. package/template/scripts/vendor/markdown.mjs +11783 -0
  1666. package/template/scripts/verify-approval-record +4 -1
  1667. package/template/scripts/verify-business-tickets +11 -0
  1668. package/template/scripts/verify-context-contract +4 -1
  1669. package/template/scripts/verify-digital-human-task-package +4 -1
  1670. package/template/scripts/verify-lifecycle-checkpoint +24 -6
  1671. package/template/scripts/verify-prototype-design +3 -0
  1672. package/template/skills-lock.json +46 -34
  1673. package/template.manifest.json +3 -1
  1674. package/template.snapshot.json +5 -5
  1675. package/vendor/cli-core/build.mjs +302 -0
  1676. package/vendor/cli-core/bundle.mjs +198 -0
  1677. package/vendor/cli-core/cli.mjs +182 -0
  1678. package/vendor/cli-core/command-runner.mjs +107 -0
  1679. package/vendor/cli-core/engine.mjs +239 -0
  1680. package/vendor/cli-core/family.mjs +28 -0
  1681. package/vendor/cli-core/gitignore.mjs +15 -0
  1682. package/vendor/cli-core/identity.mjs +274 -0
  1683. package/vendor/cli-core/io.mjs +153 -0
  1684. package/vendor/cli-core/layout-migration.mjs +64 -0
  1685. package/vendor/cli-core/legacy.mjs +19 -0
  1686. package/vendor/cli-core/migrate.mjs +237 -0
  1687. package/vendor/cli-core/migration-adapter.mjs +19 -0
  1688. package/vendor/cli-core/package.json +13 -0
  1689. package/vendor/cli-core/scaffold.mjs +117 -0
  1690. package/vendor/cli-core/spec-migration-adapter.mjs +83 -0
  1691. package/vendor/cli-core/tests/build.test.mjs +40 -0
  1692. package/vendor/cli-core/tests/cli.test.mjs +1065 -0
  1693. package/vendor/cli-core/tests/migration-version.test.mjs +8 -0
  1694. package/vendor/cli-core/tests/package-contract.mjs +75 -0
  1695. package/vendor/cli-core/transaction.mjs +529 -0
  1696. package/vendor/cli-core/update.mjs +79 -0
  1697. package/vendor/cli-core/vendor/NOTICES.md +6 -0
  1698. package/vendor/cli-core/vendor/yaml.LICENSE +13 -0
  1699. package/vendor/cli-core/vendor/yaml.mjs +6311 -0
  1700. package/vendor/cli-core/verification.mjs +131 -0
  1701. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1702. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1703. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1704. package/template/.agents/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1705. package/template/.agents/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1706. package/template/.agents/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1707. package/template/.agents/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  1708. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1709. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1710. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1711. package/template/.codex/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1712. package/template/.codex/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1713. package/template/.codex/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1714. package/template/.codex/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  1715. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1716. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1717. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1718. package/template/.cursor/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1719. package/template/.cursor/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1720. package/template/.cursor/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1721. package/template/.cursor/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  1722. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1723. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1724. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1725. package/template/.pi/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1726. package/template/.pi/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1727. package/template/.pi/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1728. package/template/.pi/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
@@ -0,0 +1,153 @@
1
+ import * as fs from "node:fs";
2
+ import path from "node:path";
3
+ import { createHash } from "node:crypto";
4
+ export const hash = (b) => createHash("sha256").update(b).digest("hex");
5
+ export const json = (x) => JSON.stringify(x, null, 2) + "\n";
6
+ export function ensure(ok, message, code = "INVALID") {
7
+ if (!ok) throw Object.assign(new Error(message), { code });
8
+ }
9
+ export function stat(p) {
10
+ try {
11
+ return fs.lstatSync(p);
12
+ } catch (e) {
13
+ if (e.code === "ENOENT") return null;
14
+ throw e;
15
+ }
16
+ }
17
+ export function relative(ref) {
18
+ ensure(
19
+ typeof ref === "string" &&
20
+ ref.length > 0 &&
21
+ !ref.includes("\\") &&
22
+ !/[\x00-\x1f\x7f:]/.test(ref) &&
23
+ !path.posix.isAbsolute(ref) &&
24
+ ref.split("/").every((x) => x && x !== "." && x !== ".."),
25
+ `非法路径: ${ref}`,
26
+ "PATH",
27
+ );
28
+ return ref;
29
+ }
30
+ export function safe(root, ref) {
31
+ relative(ref);
32
+ let cursor = root;
33
+ const parts = ref.split("/");
34
+ for (let i = 0; i < parts.length; i++) {
35
+ cursor = path.join(cursor, parts[i]);
36
+ const s = stat(cursor);
37
+ ensure(!s?.isSymbolicLink(), `路径不允许符号链接: ${ref}`, "PATH");
38
+ if (i < parts.length - 1)
39
+ ensure(!s || s.isDirectory(), `父路径不是目录: ${ref}`, "PATH");
40
+ }
41
+ return cursor;
42
+ }
43
+ export function targetPath(p) {
44
+ const resolved = path.resolve(p);
45
+ let cursor = path.parse(resolved).root;
46
+ for (const part of resolved.slice(cursor.length).split("/").filter(Boolean)) {
47
+ cursor = path.join(cursor, part);
48
+ const s = stat(cursor);
49
+ ensure(
50
+ !s || (!s.isSymbolicLink() && s.isDirectory()),
51
+ `目标路径不是普通目录: ${cursor}`,
52
+ "PATH",
53
+ );
54
+ }
55
+ return resolved;
56
+ }
57
+ const protectedRoots = new Set([
58
+ ".git",
59
+ ".gitmodules",
60
+ "node_modules",
61
+ "src",
62
+ "app",
63
+ "apps",
64
+ "backend",
65
+ "frontend",
66
+ "target",
67
+ "dist",
68
+ "build",
69
+ "deploy",
70
+ "Dockerfile",
71
+ "docker-compose.yml",
72
+ "package.json",
73
+ "package-lock.json",
74
+ "pnpm-lock.yaml",
75
+ "yarn.lock",
76
+ "bun.lock",
77
+ "bun.lockb",
78
+ "pom.xml",
79
+ "mvnw",
80
+ "mvnw.cmd",
81
+ ".mvn",
82
+ "gradlew",
83
+ "gradlew.bat",
84
+ "build.gradle",
85
+ "settings.gradle",
86
+ ".github",
87
+ ".yss-harness-state",
88
+ ]);
89
+ export function governance(ref) {
90
+ relative(ref);
91
+ ensure(
92
+ !protectedRoots.has(ref.split("/")[0]) && !ref.split("/").includes(".git"),
93
+ `受保护业务/Git/状态路径: ${ref}`,
94
+ "PROTECTED",
95
+ );
96
+ ensure(
97
+ /^(?:\.(?:agents|claude|codex|cursor|pi|qoder|trae)\/|\.template-spec\/|docs\/|scripts\/)/.test(
98
+ ref,
99
+ ) ||
100
+ [
101
+ ".cursorrules",
102
+ ".gitignore",
103
+ ".nvmrc",
104
+ "AGENTS.md",
105
+ "CLAUDE.md",
106
+ "CONTEXT.md",
107
+ "README.md",
108
+ "DESIGN.md",
109
+ "skills-lock.json",
110
+ "yss-project.yaml",
111
+ "yss-public-skills.json",
112
+ ].includes(ref),
113
+ `不在治理边界: ${ref}`,
114
+ "PROTECTED",
115
+ );
116
+ ensure(
117
+ ref !== "scripts/instantiate-harness",
118
+ `旧创建入口不得分发`,
119
+ "PROTECTED",
120
+ );
121
+ }
122
+ export function descriptor(root, ref) {
123
+ const file = safe(root, ref),
124
+ s = stat(file);
125
+ if (!s) return null;
126
+ ensure(
127
+ s.isFile() && s.nlink === 1,
128
+ `目标必须是非硬链接普通文件: ${ref}`,
129
+ "PATH",
130
+ );
131
+ return {
132
+ type: "file",
133
+ digest: hash(fs.readFileSync(file)),
134
+ mode: s.mode & 0o777,
135
+ };
136
+ }
137
+ export function same(a, b) {
138
+ return (
139
+ (a === null && b === null) ||
140
+ Boolean(
141
+ a && b && a.type === b.type && a.digest === b.digest && a.mode === b.mode,
142
+ )
143
+ );
144
+ }
145
+ export function write(root, ref, bytes, mode = 0o644) {
146
+ const file = safe(root, ref);
147
+ fs.mkdirSync(path.dirname(file), { recursive: true });
148
+ fs.writeFileSync(file, bytes);
149
+ fs.chmodSync(file, mode);
150
+ }
151
+ export function readJson(root, ref) {
152
+ return JSON.parse(fs.readFileSync(safe(root, ref), "utf8"));
153
+ }
@@ -0,0 +1,64 @@
1
+ import * as fs from "node:fs";
2
+ import { descriptor, ensure, hash, safe, same } from "./io.mjs";
3
+
4
+ const oldDirs = [
5
+ "docs/agents", "docs/process", "docs/templates", "docs/user-guide",
6
+ "docs/plan/templates", "docs/api/templates", "docs/architecture/templates",
7
+ "docs/design/templates", "docs/design/tokens", "docs/design/schemas",
8
+ "docs/design/diagrams", "docs/discovery/templates",
9
+ ];
10
+ const oldFiles = [
11
+ "docs/adr/README.md", "docs/architecture/README.md",
12
+ "docs/plan/README.md", "docs/plan/entry-review.md",
13
+ "docs/discovery/README.md", "docs/discovery/IDEATION.md",
14
+ "docs/design/README.md", "docs/design/design.md",
15
+ "docs/design/design-system-sync.yaml", "docs/design/preview.html",
16
+ "docs/design/preview-dark.html", "docs/design/preview.css",
17
+ "docs/design/preview.js", "docs/engineering/backend-platforms.json",
18
+ "docs/engineering/backend-platforms.md",
19
+ ];
20
+ const trackerFrom = "docs/agents/issue-tracker.md";
21
+ const trackerTo = ".template-spec/agents/issue-tracker.md";
22
+
23
+ function collect(target) {
24
+ const found = new Set();
25
+ function visit(ref) {
26
+ const file = safe(target, ref);
27
+ let entry;
28
+ try { entry = fs.lstatSync(file); }
29
+ catch (error) { if (error.code === "ENOENT") return; throw error; }
30
+ ensure(!entry.isSymbolicLink(), `旧治理路径为符号链接: ${ref}`, "PATH");
31
+ if (entry.isFile()) { found.add(ref); return; }
32
+ ensure(entry.isDirectory(), `旧治理路径不是普通文件或目录: ${ref}`, "PATH");
33
+ for (const name of fs.readdirSync(file)) {
34
+ if (name !== ".DS_Store") visit(`${ref}/${name}`);
35
+ }
36
+ }
37
+ for (const ref of [...oldDirs, ...oldFiles]) visit(ref);
38
+ return [...found].sort();
39
+ }
40
+
41
+ export function prepareLayoutMigration(target, meta, files, opts) {
42
+ const legacyFiles = collect(target);
43
+ if (!legacyFiles.length) return { legacyFiles, replacements: new Map(), deletions: [] };
44
+ ensure(opts.command !== "diff" && opts.migrateLayout, `旧治理目录需显式 --migrate-layout: ${legacyFiles.join(", ")}`, "LAYOUT");
45
+ const replacements = new Map();
46
+ const deletions = [];
47
+ for (const from of legacyFiles) {
48
+ const to = `.template-spec/${from.slice("docs/".length)}`;
49
+ const before = descriptor(target, from);
50
+ const destination = descriptor(target, to);
51
+ if (from === trackerFrom) {
52
+ ensure(files.has(trackerTo), `当前模板缺少 tracker 目标: ${trackerTo}`, "LAYOUT");
53
+ const bytes = fs.readFileSync(safe(target, from));
54
+ ensure(!destination || destination.digest === hash(bytes), `项目 tracker 新旧配置不一致: ${from}`, "LAYOUT");
55
+ if (!destination) replacements.set(to, bytes);
56
+ } else {
57
+ const baseline = meta?.managedFiles?.[from]?.baseline;
58
+ ensure(baseline && same(before, baseline), `旧治理文件缺少可信基线或已修改: ${from}`, "LAYOUT");
59
+ ensure(files.has(to) || !destination, `目标路径已有文件且当前模板未分发: ${to}`, "LAYOUT");
60
+ }
61
+ deletions.push({ path: from, before, after: null });
62
+ }
63
+ return { legacyFiles, replacements, deletions };
64
+ }
@@ -0,0 +1,19 @@
1
+ import { ensure, governance } from './io.mjs';
2
+ import { userOwned } from './family.mjs';
3
+ export function normalizeLegacy(meta, family) {
4
+ ensure(family.side === 'design' && meta.metadataSchemaVersion === 1, '不支持旧实例', 'LEGACY');
5
+ for (const key of ['profileId', 'templateName', 'templateSource']) ensure(meta[key] === family[key], `旧 metadata 身份矛盾: ${key}`, 'IDENTITY');
6
+ ensure(/^[a-f0-9]{40}$/.test(meta.templateCommit) && /^[a-f0-9]{64}$/.test(meta.snapshotHash) && /^[a-f0-9]{64}$/.test(meta.managedFilesManifestVersion), '旧 metadata 来源摘要不完整', 'BASELINE');
7
+ ensure(['committed', 'working-tree'].includes(meta.templateSourceState), '旧 metadata 来源状态非法', 'BASELINE');
8
+ ensure(meta.variables && ['projectName','businessDomain','teamSize','issueTracker'].every(k => typeof meta.variables[k] === 'string' && meta.variables[k].trim()) && ['local-markdown','github','gitlab'].includes(meta.variables.issueTracker), '旧实例变量不完整', 'BASELINE');
9
+ ensure(meta.managedFiles && typeof meta.managedFiles === 'object' && !Array.isArray(meta.managedFiles), '旧基线缺失', 'BASELINE');
10
+ const managedFiles = {}, legacyRetainedFiles = [];
11
+ for (const [ref, record] of Object.entries(meta.managedFiles)) {
12
+ if (ref !== "scripts/instantiate-harness") governance(ref);
13
+ ensure(record && ['copy','render'].includes(record.type) && /^[a-f0-9]{64}$/.test(record.contentHash), `旧基线非法: ${ref}`, 'BASELINE');
14
+ if (ref === "scripts/instantiate-harness") { legacyRetainedFiles.push(ref); continue; }
15
+ if (!userOwned(ref, family)) managedFiles[ref] = { baseline: {type:'file',digest:record.contentHash,mode:0o644}, lastApplied:null, legacyUnproven:true };
16
+ }
17
+ for (const ref of ['yss-project.yaml','.template-spec/process/harness-profile.yaml','AGENTS.md','CONTEXT.md']) ensure(managedFiles[ref], `旧基线缺少合同: ${ref}`, 'BASELINE');
18
+ return {...meta, legacy:true, legacyRetainedFiles, variables:{...meta.variables,includeExampleDocs:true}, managedFiles};
19
+ }
@@ -0,0 +1,237 @@
1
+ // Public migration driver. Adapters only prepare candidates; this module owns writes.
2
+ import * as fs from 'node:fs';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import {randomUUID} from 'node:crypto';
6
+ import {spawnSync} from 'node:child_process';
7
+ import {hash,json,ensure,stat,safe,descriptor,same,write,targetPath,governance} from './io.mjs';
8
+ import {guardNestedRepository,gitlinks,METADATA} from './identity.mjs';
9
+ import {applyTransaction,inspectState,recoveryPreview,recover as recoverTransaction} from './transaction.mjs';
10
+
11
+ const INDEX='.yss-harness-state/upgrade.json';
12
+ export function assertUpgradeVersion(from,to) {
13
+ const parts=v=>{
14
+ if(typeof v!=='string')return null;
15
+ const match=v.match(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/);
16
+ if(!match)return null;
17
+ const pre=match[4]?.split('.') || [];
18
+ if(pre.some(x=>/^\d+$/.test(x) && x.length>1 && x[0]==='0'))return null;
19
+ return {numbers:match.slice(1,4).map(BigInt),pre};
20
+ };
21
+ const a=parts(from),b=parts(to);ensure(a && b,'缺少可比较的 CLI 版本基线','VERSION');
22
+ let order=0;
23
+ for(let i=0;i<3 && !order;i++)order=b.numbers[i]>a.numbers[i]?1:b.numbers[i]<a.numbers[i]?-1:0;
24
+ if(!order && (!a.pre.length || !b.pre.length))order=b.pre.length?-1:a.pre.length?1:0;
25
+ else if(!order)for(let i=0;i<Math.max(a.pre.length,b.pre.length) && !order;i++){
26
+ const x=a.pre[i],y=b.pre[i];
27
+ if(x===undefined)order=1;else if(y===undefined)order=-1;
28
+ else if(x!==y){const xn=/^\d+$/.test(x),yn=/^\d+$/.test(y);order=xn&&yn?(BigInt(y)>BigInt(x)?1:-1):xn!==yn?(xn?1:-1):(y>x?1:-1);}
29
+ }
30
+ ensure(order>=0,'migrate 不支持 CLI 降级','VERSION');
31
+ }
32
+ const OMIT=new Set(['.git','node_modules','.codegraph','.graphify','__pycache__','.DS_Store']);
33
+ export function inventory(root, prefix='', out={}) {
34
+ for(const name of fs.readdirSync(safeDirectory(root,prefix)).sort()) {
35
+ if(OMIT.has(name) || !prefix && name==='.yss-harness-state') continue;
36
+ const ref=prefix?`${prefix}/${name}`:name, p=path.join(root,ref), s=fs.lstatSync(p);
37
+ if(s.isSymbolicLink()) out[ref]={type:'symlink',link:fs.readlinkSync(p)};
38
+ else if(s.isDirectory()) {out[ref]={type:'directory',mode:s.mode&0o777};inventory(root,ref,out);}
39
+ else {ensure(s.isFile() && s.nlink===1,`不支持特殊文件/硬链接: ${ref}`,'PATH');out[ref]=descriptor(root,ref);}
40
+ }
41
+ return out;
42
+ }
43
+ function safeDirectory(root,ref) {return ref?safe(root,ref):root;}
44
+ export function copyCandidate(root,destination,tree=inventory(root)) {
45
+ for(const [ref,d] of Object.entries(tree)) {
46
+ const p=path.join(destination,ref);fs.mkdirSync(path.dirname(p),{recursive:true});
47
+ if(d.type==='directory') fs.mkdirSync(p,{recursive:true,mode:d.mode});
48
+ else if(d.type==='symlink') fs.symlinkSync(d.link,p);
49
+ else {fs.copyFileSync(safe(root,ref),p);fs.chmodSync(p,d.mode);}
50
+ }
51
+ }
52
+ const digest=value=>hash(JSON.stringify(value));
53
+ function gitStamp(root) {
54
+ const r=spawnSync('git',['--no-optional-locks','-c','core.fsmonitor=false','-C',root,'ls-files','--stage','-z'],{encoding:'buffer',maxBuffer:32*1024*1024});
55
+ const head=spawnSync('git',['--no-optional-locks','-C',root,'rev-parse','HEAD'],{encoding:'utf8'});
56
+ return {index:r.status===0?hash(r.stdout):null,head:head.status===0?head.stdout.trim():null,links:gitlinks(root)};
57
+ }
58
+ function outside(root,p) {
59
+ ensure(typeof p==='string' && path.isAbsolute(p),'计划与归档路径必须是绝对路径','PATH');
60
+ const result=path.resolve(p);targetPath(path.dirname(result));
61
+ ensure(result!==root && !result.startsWith(root+path.sep) && !root.startsWith(result+path.sep),'计划/归档必须位于项目外','PATH');
62
+ ensure(!stat(result)?.isSymbolicLink(),'外部路径不能是符号链接','PATH');return result;
63
+ }
64
+ function durable(root,ref,bytes,mode=0o600) {
65
+ const p=safe(root,ref);fs.mkdirSync(path.dirname(p),{recursive:true});
66
+ const temp=p+'.writing-'+randomUUID();
67
+ const fd=fs.openSync(temp,'wx',mode);
68
+ try{fs.writeFileSync(fd,bytes);fs.fsyncSync(fd);}finally{fs.closeSync(fd);}
69
+ fs.renameSync(temp,p);
70
+ const dir=fs.openSync(path.dirname(p),'r');try{fs.fsyncSync(dir);}finally{fs.closeSync(dir);}
71
+ }
72
+ function readFile(p){ensure(stat(p)?.isFile() && !stat(p).isSymbolicLink() && stat(p).nlink===1,`不是普通文件: ${p}`,'PATH');return fs.readFileSync(p);}
73
+ function guard(root,adapter,ref) {
74
+ if(ref!==adapter.family.metadataFile) governance(ref);
75
+ ensure(ref!==INDEX,'不能迁移事务状态','PROTECTED');
76
+ guardNestedRepository(root,ref);
77
+ ensure(!gitlinks(root).some(p=>ref===p || ref.startsWith(p+'/')),`受保护 gitlink: ${ref}`,'PROTECTED');
78
+ descriptor(root,ref);
79
+ }
80
+ function encode(operations) {return operations.map(op=>({path:op.path,before:op.before,after:op.after,...(op.after?{contentBase64:op.bytes.toString('base64')}:{})}));}
81
+ function validateOperations(root,adapter,ops) {
82
+ ensure(Array.isArray(ops),'操作列表非法','PLAN');const paths=new Set();
83
+ for(const op of ops){guard(root,adapter,op.path);ensure(!paths.has(op.path),'重复迁移路径','PLAN');paths.add(op.path);
84
+ for(const d of [op.before,op.after]) ensure(d===null || d?.type==='file' && /^[a-f0-9]{64}$/.test(d.digest) && Number.isInteger(d.mode) && d.mode>=0 && d.mode<=0o777,'文件描述非法','PLAN');
85
+ if(op.after) ensure(typeof op.contentBase64==='string' && hash(Buffer.from(op.contentBase64,'base64'))===op.after.digest,'候选内容摘要错误','PLAN');
86
+ }
87
+ }
88
+ function assertExecutor(adapter,plan) {ensure(plan.schemaVersion===1 && plan.family===adapter.family.packageName && plan.executor===adapter.fingerprint,'CLI 家族/执行器与计划不一致','EXECUTOR');}
89
+ function checkPlan(adapter,plan) {
90
+ const {planDigest,...body}=plan;ensure(planDigest===digest(body),'计划摘要错误','PLAN');assertExecutor(adapter,plan);
91
+ targetPath(plan.target);ensure(fs.realpathSync(plan.target)===plan.target,'项目实际路径已变化','PATH');
92
+ ensure(/^[a-f0-9-]{36}$/.test(plan.id) && !Number.isNaN(Date.parse(plan.createdAt)),'计划身份非法','PLAN');
93
+ outside(plan.target,plan.archive);validateOperations(plan.target,adapter,plan.operations);
94
+ }
95
+ function index(root,adapter) {
96
+ if(!stat(safe(root,INDEX)))return {schemaVersion:1,family:adapter.family.packageName,runs:[]};
97
+ const value=JSON.parse(readFile(safe(root,INDEX)));
98
+ ensure(value.schemaVersion===1 && value.family===adapter.family.packageName && Array.isArray(value.runs),'迁移索引身份不一致','STATE');return value;
99
+ }
100
+ function state(root,adapter) {
101
+ if(!stat(safe(root,'.yss-harness-state')))return {pending:[]};
102
+ return inspectState(root,adapter.family);
103
+ }
104
+ function lock(root,fn) {
105
+ const file=safe(root,'.yss-harness-migrate.lock');
106
+ if(stat(file)) {
107
+ const owner=JSON.parse(readFile(file));ensure(owner.host===os.hostname() && Number.isInteger(owner.pid) && owner.pid>0,'无法判断迁移锁持有者','LOCKED');
108
+ let alive=true;try{process.kill(owner.pid,0);}catch(e){if(e.code==='ESRCH')alive=false;else throw e;}
109
+ ensure(!alive,'另一个迁移正在运行','LOCKED');fs.unlinkSync(file);
110
+ }
111
+ const fd=fs.openSync(file,'wx',0o600);fs.writeFileSync(fd,json({pid:process.pid,host:os.hostname()}));fs.fsyncSync(fd);fs.closeSync(fd);
112
+ try{return fn();}finally{fs.unlinkSync(file);}
113
+ }
114
+ function observed(root) {const tree=inventory(root);delete tree['.yss-harness-migrate.lock'];return tree;}
115
+ function currentMatches(root,plan) {ensure(digest(observed(root))===digest(plan.inputs) && digest(gitStamp(root))===digest(plan.git),'计划后项目或 Git 输入已变化,请重新规划','STALE_PLAN');}
116
+ function record(root,idx,run,phase) {run.phase=phase;durable(root,INDEX,json(idx));durable(run.archive,'receipt.json',json(run));}
117
+ function loadArchived(root,adapter,run) {
118
+ outside(root,run.archive);targetPath(run.archive);
119
+ const plan=JSON.parse(readFile(safe(run.archive,'plan.json')));checkPlan(adapter,plan);
120
+ ensure(plan.id===run.id && plan.planDigest===run.planDigest && plan.target===root && plan.archive===run.archive,'归档与回执不一致','STATE');
121
+ const journalRef=safe(root,`.yss-harness-state/${adapter.family.side}/transactions/${plan.id}/journal.json`);
122
+ if(stat(journalRef)){const journal=JSON.parse(readFile(journalRef));const shape=ops=>ops.map(({path,before,after})=>({path,before,after}));ensure(journal.id===plan.id && journal.profileId===adapter.family.profileId && digest(shape(journal.operations))===digest(shape(plan.operations)),'归档操作与原事务不一致','ARCHIVE');}
123
+ else ensure(run.phase==='applying','原事务日志缺失','STATE');
124
+ return plan;
125
+ }
126
+ function afterMatches(root,operations) {for(const op of operations)ensure(same(descriptor(root,op.path),op.after),`升级后已有修改: ${op.path}`,'CONCURRENT');}
127
+ function unchangedInputs(root,plan) {
128
+ const changed=new Set(plan.operations.map(o=>o.path));
129
+ const select=tree=>Object.fromEntries(Object.entries(tree).filter(([ref,d])=>!changed.has(ref) && !(d.type==='directory' && [...changed].some(p=>p.startsWith(ref+'/')))));
130
+ ensure(digest(select(observed(root)))===digest(select(plan.inputs)) && digest(gitStamp(root))===digest(plan.git),'迁移期间未写入资产或 Git 状态变化','CONCURRENT');
131
+ }
132
+ function archivedBefore(plan) {
133
+ return plan.operations.map((op,i)=>{
134
+ let bytes;
135
+ if(op.before){bytes=readFile(safe(plan.archive,`before/${i}`));ensure(hash(bytes)===op.before.digest,'备份摘要损坏','ARCHIVE');}
136
+ return {path:op.path,before:op.after,after:op.before,bytes};
137
+ });
138
+ }
139
+ function closeInterrupted(root,adapter,idx) {
140
+ const pending=state(root,adapter);
141
+ const validate=()=>{targetPath(root);ensure(!METADATA.some(ref=>ref!==adapter.family.metadataFile && stat(safe(root,ref))),'异族身份禁止恢复','IDENTITY');};
142
+ validate();
143
+ if(pending.pending.length)recoverTransaction(root,adapter.family,pending,validate);
144
+ for(const run of idx.runs.filter(r=>['applying','rolling-back'].includes(r.phase))) {
145
+ const plan=loadArchived(root,adapter,run);
146
+ const journalPath=safe(root,`.yss-harness-state/${adapter.family.side}/transactions/${run.phase==='rolling-back'?run.rollbackId:run.id}/journal.json`);
147
+ const journal=stat(journalPath)?JSON.parse(readFile(journalPath)):null;
148
+ const succeeded=journal?.phase==='committed';
149
+ if(succeeded)afterMatches(root,run.phase==='rolling-back'?plan.operations.map(o=>({...o,after:o.before})):plan.operations);
150
+ record(root,idx,run,run.phase==='rolling-back'?(succeeded?'rolled-back':'applied'):(succeeded?'applied':'recovered'));
151
+ }
152
+ }
153
+ export function migration(adapter,command,opts={}) {
154
+ let plan;
155
+ if(command==='apply'){ensure(opts.plan,'apply 需要 --plan','ARGS');plan=JSON.parse(readFile(path.resolve(opts.plan)));checkPlan(adapter,plan);}
156
+ const root=targetPath(opts.targetDir || plan?.target || process.cwd());
157
+ ensure(stat(root)?.isDirectory(),'项目目录不存在','PATH');
158
+ ensure(!plan || plan.target===root,'计划与目标目录不一致','IDENTITY');
159
+ if(command==='plan') {
160
+ adapter.check(root,opts);
161
+ ensure(!state(root,adapter).pending.length && !index(root,adapter).runs.some(r=>['applying','rolling-back'].includes(r.phase)),'请先 recover 未完成迁移','INTERRUPTED');
162
+ const output=outside(root,path.resolve(opts.output || ''));
163
+ ensure(opts.output && !stat(output),'--output 必须是项目外全新文件','PATH');
164
+ const inputs=observed(root), git=gitStamp(root), id=randomUUID(),createdAt=new Date().toISOString();
165
+ const archive=outside(root,path.resolve(opts.archiveDir || path.join(os.homedir(),'.yss-harness/archives',hash(root+'\0'+adapter.family.packageName),id)));
166
+ ensure(!stat(archive),'归档目录必须全新','ARCHIVE');
167
+ const resolutions=opts.resolutions?JSON.parse(readFile(path.resolve(opts.resolutions))):{};
168
+ ensure(resolutions && typeof resolutions==='object' && !Array.isArray(resolutions),'冲突决议必须为路径映射','PLAN');
169
+ const settings={prune:Boolean(opts.prune),migrateLayout:Boolean(opts.migrateLayout),resolutions};
170
+ let prepared;try{prepared=adapter.prepare(root,settings,id,createdAt);}catch(e){if(e.code==='CONFLICT' || e.result?.conflicts?.length)e.result={...e.result,status:'blocked'};throw e;}
171
+ const operations=encode(prepared.operations);validateOperations(root,adapter,operations);
172
+ const body={schemaVersion:1,id,createdAt,target:root,family:adapter.family.packageName,executor:adapter.fingerprint,template:adapter.template,archive,settings,inputs,git,operations,changes:prepared.changes || [],rules:['managed-sync.v1',...(settings.migrateLayout?['layout-migration.v1']:[]),...(settings.prune?['retirement.v1']:[])]};
173
+ plan={...body,planDigest:digest(body)};currentMatches(root,plan);
174
+ durable(path.dirname(output),path.basename(output),json(plan));
175
+ return {schemaVersion:1,command:'migrate plan',status:'planned',target:root,plan:output,planDigest:plan.planDigest,changes:plan.changes,operations:operations.length,archive};
176
+ }
177
+ const idx=index(root,adapter);
178
+ if(command==='status'){adapter.check(root,{migrateLayout:true});return {schemaVersion:1,command:'migrate status',status:'ok',target:root,transactions:idx.runs,pending:state(root,adapter).pending.map(x=>x.journal.id)};}
179
+ if(command==='recover') {
180
+ // Preview uses existing journal validation, including drift and archive checks, without creating state.
181
+ const pending=state(root,adapter);recoveryPreview(root,adapter.family,pending);for(const run of idx.runs.filter(r=>['applying','rolling-back'].includes(r.phase))){const p=loadArchived(root,adapter,run);archivedBefore(p);}
182
+ if(!opts.apply)return {schemaVersion:1,status:'preview',target:root,transactions:idx.runs.filter(r=>['applying','rolling-back'].includes(r.phase)),pending:pending.pending.map(x=>x.journal.id)};
183
+ return lock(root,()=>{closeInterrupted(root,adapter,idx);return {schemaVersion:1,status:'recovered',target:root,transactions:idx.runs};});
184
+ }
185
+ ensure(['apply','rollback'].includes(command),'未知 migrate 子命令','ARGS');
186
+ if(command==='rollback' && !opts.apply) {
187
+ ensure(!state(root,adapter).pending.length,'请先 recover 未完成事务','INTERRUPTED');
188
+ const run=idx.runs.at(-1);ensure(run?.phase==='applied','没有可回退的最近成功迁移','STATE');
189
+ const p=loadArchived(root,adapter,run);afterMatches(root,p.operations);const inverse=archivedBefore(p);
190
+ return {schemaVersion:1,status:'preview',target:root,id:run.id,paths:inverse.map(o=>o.path)};
191
+ }
192
+ return lock(root,()=>{
193
+ ensure(!state(root,adapter).pending.length && !idx.runs.some(r=>['applying','rolling-back'].includes(r.phase)),'请先 recover 未完成迁移','INTERRUPTED');
194
+ if(command==='rollback') {
195
+ const run=idx.runs.at(-1);ensure(run?.phase==='applied','没有可回退的最近成功迁移','STATE');
196
+ plan=loadArchived(root,adapter,run);afterMatches(root,plan.operations);const inverse=archivedBefore(plan);
197
+ if(!opts.apply)return {schemaVersion:1,status:'preview',target:root,id:run.id,paths:inverse.map(o=>o.path)};
198
+ run.rollbackId=randomUUID();record(root,idx,run,'rolling-back');
199
+ try{applyTransaction(root,adapter.family,inverse,op=>{if(op)guard(root,adapter,op.path);},run.rollbackId,false,()=>afterMatches(root,inverse));record(root,idx,run,'rolled-back');}
200
+ catch(e){closeInterrupted(root,adapter,idx);throw e;}
201
+ return {schemaVersion:1,status:'rolled-back',target:root,id:run.id,archive:run.archive};
202
+ }
203
+ const existing=idx.runs.find(r=>r.id===plan.id);
204
+ if(existing){ensure(existing.phase==='applied' && existing.planDigest===plan.planDigest,'计划已执行或恢复,请重新规划','STATE');afterMatches(root,plan.operations);return {schemaVersion:1,status:'applied',target:root,reused:true,...existing};}
205
+ adapter.check(root,plan.settings);currentMatches(root,plan);
206
+ // Regenerate from the fixed executable and explicit resolutions: edited plans cannot add arbitrary writes.
207
+ const rebuilt=encode(adapter.prepare(root,plan.settings,plan.id,plan.createdAt).operations);
208
+ ensure(digest(rebuilt)===digest(plan.operations),'计划内容与固定执行器重新生成的结果不一致','PLAN');currentMatches(root,plan);
209
+ if(!plan.operations.length)return {schemaVersion:1,status:'unchanged',target:root};
210
+ ensure(!stat(plan.archive),'归档目录已存在','ARCHIVE');fs.mkdirSync(plan.archive,{recursive:true,mode:0o700});
211
+ durable(plan.archive,'plan.json',json(plan));
212
+ for(const [i,op]of plan.operations.entries())if(op.before){const bytes=readFile(safe(root,op.path));ensure(hash(bytes)===op.before.digest,'备份期间输入变化','CONCURRENT');durable(plan.archive,`before/${i}`,bytes,op.before.mode);}
213
+ if(plan.settings.migrateLayout || plan.settings.prune || Object.keys(plan.settings.resolutions).length)copyCandidate(root,path.join(plan.archive,'project-copy'),plan.inputs);
214
+ archivedBefore(plan);currentMatches(root,plan);
215
+ // applyTransaction owns its durable WAL. Create its state before writing our receipt index.
216
+ if(!stat(safe(root,'.yss-harness-state'))) {
217
+ fs.mkdirSync(safe(root,`.yss-harness-state/${adapter.family.side}/transactions`),{recursive:true});
218
+ durable(root,'.yss-harness-state/owner.json',json({schemaVersion:1,profileId:adapter.family.profileId}));
219
+ }
220
+ const run={schemaVersion:1,id:plan.id,planDigest:plan.planDigest,archive:plan.archive,family:plan.family,createdAt:plan.createdAt,template:plan.template,executor:plan.executor,phase:'applying'};idx.runs.push(run);record(root,idx,run,'applying');
221
+ try {
222
+ const ops=plan.operations.map(op=>({...op,bytes:op.after?Buffer.from(op.contentBase64,'base64'):undefined}));
223
+ applyTransaction(root,adapter.family,ops,op=>{if(op)guard(root,adapter,op.path);else unchangedInputs(root,plan);},plan.id,false,()=>{const checks=adapter.verify(root);afterMatches(root,plan.operations);unchangedInputs(root,plan);run.verification={status:'passed',checks:checks || [],completedAt:new Date().toISOString()};});
224
+ record(root,idx,run,'applied');
225
+ }catch(e){closeInterrupted(root,adapter,idx);throw e;}
226
+ return {schemaVersion:1,status:'applied',target:root,...run};
227
+ });
228
+ }
229
+ export function parseMigration(argv) {
230
+ const args=[...argv],command=args.shift() || 'status',opts={};
231
+ ensure(['plan','apply','status','recover','rollback'].includes(command),'migrate plan|apply|status|recover|rollback','ARGS');
232
+ const values={'--target-dir':'targetDir','--output':'output','--plan':'plan','--archive-dir':'archiveDir','--resolutions':'resolutions'};
233
+ const flags={'--apply':'apply','--prune':'prune','--migrate-layout':'migrateLayout','--json':'json'};
234
+ const allowed={plan:['targetDir','output','archiveDir','resolutions','prune','migrateLayout','json'],apply:['targetDir','plan','json'],status:['targetDir','json'],recover:['targetDir','apply','json'],rollback:['targetDir','apply','json']};
235
+ while(args.length){const flag=args.shift(),key=values[flag] || flags[flag];ensure(key && allowed[command].includes(key),`不适用的参数: ${flag}`,'ARGS');ensure(!(key in opts),`重复参数: ${flag}`,'ARGS');if(values[flag]){ensure(args.length && !args[0].startsWith('--'),`参数缺少值: ${flag}`,'ARGS');opts[key]=args.shift();}else opts[key]=true;}
236
+ return {command,opts};
237
+ }
@@ -0,0 +1,19 @@
1
+ import * as fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import {loadBundle} from './bundle.mjs';
4
+ import {identity} from './identity.mjs';
5
+ import {execute} from './engine.mjs';
6
+ import {verifyInstance} from './verification.mjs';
7
+ import {hash,ensure} from './io.mjs';
8
+ import {migration,parseMigration,assertUpgradeVersion} from './migrate.mjs';
9
+ export function dedicatedAdapter(packageRoot) {
10
+ const bundle=loadBundle(packageRoot);
11
+ const fingerprint=hash(JSON.stringify({pkg:bundle.pkg,snapshot:bundle.snapshot,core:bundle.core,driver:hash(fs.readFileSync(new URL('./migrate.mjs',import.meta.url)))}));
12
+ return {
13
+ family:bundle.family,fingerprint,template:{version:bundle.pkg.version,commit:bundle.snapshot.templateCommit,snapshotHash:bundle.snapshot.snapshotHash},
14
+ check(root,opts){ensure(root!==packageRoot && !root.startsWith(packageRoot+path.sep) && !packageRoot.startsWith(root+path.sep),'目标不得覆盖 CLI 安装目录','PATH');const meta=identity(root,bundle,'sync',opts.migrateLayout);ensure(meta,'migrate 仅接受已有同家族实例','IDENTITY');assertUpgradeVersion(meta.cliVersion,bundle.pkg.version);},
15
+ prepare(root,opts,id,time){return execute(bundle,root,{command:'sync',apply:true,prune:opts.prune,migrateLayout:opts.migrateLayout,migrationResolutions:opts.resolutions,migrationId:id,migrationTime:time,captureMigration:(operations,result)=>({operations,changes:result.changes})});},
16
+ verify(root){return verifyInstance(bundle,root);},
17
+ };
18
+ }
19
+ export function runMigration(packageRoot,args){const {command,opts}=parseMigration(args);return migration(dedicatedAdapter(packageRoot),command,opts);}
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "@yss-internal/dedicated-harness-cli-core",
3
+ "version": "0.2.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "engines": {
7
+ "node": ">=22 <27"
8
+ },
9
+ "packageManager": "pnpm@10.15.0",
10
+ "scripts": {
11
+ "test": "node --test tests/*.test.mjs"
12
+ }
13
+ }
@@ -0,0 +1,117 @@
1
+ // Maintainer entry: create only an empty thin CLI working directory.
2
+ import * as fs from "node:fs";
3
+ import path from "node:path";
4
+ import { ensure, write, json, stat } from "./io.mjs";
5
+ const [side, output] = process.argv.slice(2);
6
+ ensure(
7
+ ["backend", "frontend"].includes(side) && output,
8
+ "usage: node scaffold.mjs backend|frontend <empty-directory>",
9
+ );
10
+ const root = path.resolve(output),
11
+ name = `create-yss-harness-${side}`;
12
+ ensure(
13
+ !stat(root) || fs.readdirSync(root).length === 0,
14
+ "薄包目标必须不存在或为空",
15
+ );
16
+ write(
17
+ root,
18
+ "package.json",
19
+ json({
20
+ name,
21
+ version: "0.1.0",
22
+ description: `创建和同步 YSS ${side} 专职 Harness 治理项目`,
23
+ type: "module",
24
+ license: "UNLICENSED",
25
+ engines: { node: ">=22 <27" },
26
+ packageManager: "pnpm@10.15.0",
27
+ repository: {
28
+ type: "git",
29
+ url: `git+https://github.com/iloveZzz/${name}.git`,
30
+ },
31
+ bin: { [name]: `bin/${name}.js` },
32
+ files: [
33
+ "bin",
34
+ "config",
35
+ "vendor/cli-core",
36
+ "cli-core.lock.json",
37
+ "template",
38
+ "template.manifest.json",
39
+ "template.snapshot.json",
40
+ ],
41
+ scripts: {
42
+ "sync-core": "node scripts/sync-core.mjs",
43
+ "sync-template": "node scripts/sync-template.mjs",
44
+ "verify-bundle": "node scripts/verify-bundle.mjs",
45
+ test: "node --test tests/*.test.mjs",
46
+ prepack: "node scripts/verify-bundle.mjs",
47
+ },
48
+ }),
49
+ );
50
+ write(
51
+ root,
52
+ `bin/${name}.js`,
53
+ `#!/usr/bin/env node\nimport {fileURLToPath} from 'node:url';\nimport {main} from '../vendor/cli-core/cli.mjs';\nawait main(fileURLToPath(new URL('..',import.meta.url)));\n`,
54
+ 0o755,
55
+ );
56
+ for (const kind of ["core", "template"])
57
+ write(
58
+ root,
59
+ `scripts/sync-${kind}.mjs`,
60
+ `import {fileURLToPath} from 'node:url';\nimport {sync${kind[0].toUpperCase() + kind.slice(1)}} from '../vendor/cli-core/build.mjs';\nconst args=process.argv.slice(2),check=args.includes('--check'),values=args.filter(x=>x!=='--check');\nif(values.length!==2)throw new Error('usage: pnpm sync-${kind} <source-repo> <commit> [--check]');\nconsole.log(JSON.stringify(sync${kind[0].toUpperCase() + kind.slice(1)}(values[0],values[1],fileURLToPath(new URL('..',import.meta.url)),check),null,2));\n`,
61
+ );
62
+ write(
63
+ root,
64
+ "scripts/verify-bundle.mjs",
65
+ `import {fileURLToPath} from 'node:url';\nimport {verifyCore} from '../vendor/cli-core/build.mjs';\nimport {loadBundle} from '../vendor/cli-core/bundle.mjs';\nconst root=fileURLToPath(new URL('..',import.meta.url));\nconst core=verifyCore(root),bundle=loadBundle(root);\nconsole.log(JSON.stringify({package:bundle.pkg.name,core:core.digest,template:bundle.snapshot.snapshotHash,files:bundle.files.size}));\n`,
66
+ );
67
+ write(
68
+ root,
69
+ "tests/package.test.mjs",
70
+ `import {test} from 'node:test';
71
+ import assert from 'node:assert/strict';
72
+ import * as fs from 'node:fs';
73
+ import os from 'node:os';
74
+ import path from 'node:path';
75
+ import {fileURLToPath} from 'node:url';
76
+ import {spawnSync} from 'node:child_process';
77
+ const root=fileURLToPath(new URL('..',import.meta.url));
78
+ test('固定包契约、真实模板计划零写入和旧实例拒绝',t=>{
79
+ const scratch=fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(),'${name}-')));t.after(()=>fs.rmSync(scratch,{recursive:true,force:true}));
80
+ const target=path.join(scratch,'project');
81
+ const run=(...args)=>spawnSync(process.execPath,[path.join(root,'bin/${name}.js'),...args,'--json'],{encoding:'utf8',maxBuffer:32*1024*1024});
82
+ const verify=spawnSync(process.execPath,[path.join(root,'scripts/verify-bundle.mjs')],{encoding:'utf8'});assert.equal(verify.status,0,verify.stderr);
83
+ let r=run('init','--target-dir',target,'--project-name','验收实例','--dry-run');assert.equal(r.status,0,r.stderr);
84
+ const plan=JSON.parse(r.stdout);assert.equal(plan.status,'preview');assert.equal(fs.existsSync(target),false);
85
+ assert.ok(plan.changes.some(x=>x.path==='scripts/repository-mode'));assert.ok(plan.changes.some(x=>x.path==='.template-spec/process/harness-profile.yaml'));assert.ok(!plan.changes.some(x=>x.path==='scripts/instantiate-harness'));
86
+ fs.mkdirSync(target);const metadata=path.join(target,'.yss-harness-${side}.json');fs.writeFileSync(metadata,'{"schema_version":1}');
87
+ r=run('attach','--target-dir',target,'--apply','--force');assert.equal(r.status,1);assert.equal(JSON.parse(r.stdout).code,'LEGACY');assert.deepEqual(fs.readdirSync(target),['.yss-harness-${side}.json']);
88
+ });
89
+ `,
90
+ );
91
+ write(
92
+ root,
93
+ ".github/workflows/ci.yml",
94
+ `name: CLI\non: [push, pull_request, workflow_dispatch]\njobs:\n verify:\n runs-on: ubuntu-latest\n strategy:\n matrix:\n node: [22, 24, 26]\n steps:\n - uses: actions/checkout@v4\n - uses: actions/setup-node@v4\n with:\n node-version: \u0024{{ matrix.node }}\n - uses: pnpm/action-setup@v4\n with:\n version: 10.15.0\n - run: pnpm test\n - run: pnpm verify-bundle\n - run: npm pack\n - run: |\n mkdir -p /tmp/cli-consumer\n npm install --prefix /tmp/cli-consumer --ignore-scripts ./\u0024(npm pkg get name | tr -d '\"')-\u0024(npm pkg get version | tr -d '\"').tgz\n /tmp/cli-consumer/node_modules/.bin/${name} init --target-dir /tmp/harness-instance --project-name ci --json\n /tmp/cli-consumer/node_modules/.bin/${name} sync --target-dir /tmp/harness-instance --json\n`,
95
+ );
96
+ write(root, ".gitignore", "node_modules/\n*.tgz\n.DS_Store\n");
97
+ write(
98
+ root,
99
+ "yss-project.yaml",
100
+ "schema_version: 1\nrepository_mode: template-source\n",
101
+ );
102
+ write(
103
+ root,
104
+ "AGENTS.md",
105
+ "# CLI 维护入口\n\n本仓是模板工具链薄包,不生成产品 Spec / Ticket。公共实现权威位于综合模板 `.template-source/cli-core/`;`vendor/cli-core/` 和 `template/` 只通过同步脚本生成。修改身份时先更新来源 profile。日常 implementation-ready 可显式使用 `WORKTREE` 并在锁中记录来源状态;candidate/release 必须从完整提交重建。验证使用 `pnpm test`、`pnpm verify-bundle`,测试结束后才执行 `npm pack`。npm 发布和旧入口退役独立执行发布流程。\n",
106
+ );
107
+ write(
108
+ root,
109
+ "README.md",
110
+ `# ${name}\n\n创建、接入和同步 \`harness.${side}-delivery\` 的治理资产。CLI 包内包含固定模板与公共核心,init / attach / sync 离线运行。不会生成业务运行时代码。当前安装版本和 npm 发布状态分别以 \`${name} --version\` 与 registry 为准;本地候选可用 \`npm pack\` 后的实际 tgz 验收。\n\n\`\`\`sh\nnpx ${name}@latest init --target-dir ./my-project --project-name 我的项目\nnpx ${name}@latest attach --target-dir ./existing-project\nnpx ${name}@latest attach --target-dir ./existing-project --apply\nnpx ${name}@latest sync --target-dir ./my-project --plan --prune\nnpx ${name}@latest sync --target-dir ./my-project --apply --prune\nnpx ${name}@latest recover --target-dir ./my-project\n${name} update --dry-run\n\`\`\`\n\ninit 只接受不存在或空目录;\`--dry-run\` 不写入。attach / sync 默认预览,写入要求 \`--apply\`。治理冲突整次暂停,确认备份覆盖后可用 \`--apply --force\`。业务源码、构建文件、Git、子模块与越界路径不能强制接管。\n\n仓内旧脚本生成的实例不受支持,不转换旧 metadata 或重建基线;其他 Harness 家族同样拒绝。已有 metadata v2 实例使用同家族 sync。旧 \`docs/\` 治理文件迁移需显式 \`--migrate-layout\`,先用 \`--plan\` 审阅,再用 \`--apply\`;项目 tracker 保留原文,旧受管文件缺可信基线或已修改时阻断。普通 sync 保留退出分发文件;显式 \`--prune\` 只删除内容和 mode 仍等于可信旧 baseline 的文件,用户修改过的旧副本继续保留并报告。\n\n参数:\`--project-name\`、\`--business-domain\`、\`--team-size\`、\`--issue-tracker local-markdown|github|gitlab\`、\`--git-init\`(仅 init)、\`--include-example-docs\` / \`--no-example-docs\`、\`--json\`。程序升级命令 \`update\` / \`upgrade\` 只更新 CLI;npx、源码或未知安装方式输出安装指引。\n\n每次应用保存 \`.yss-harness-state/${side}/transactions/<id>/journal.json\` 和原文件备份。失败自动恢复;进程中断后先用 \`recover\` 诊断,带 \`--apply\` 才执行恢复。恢复遇到后续修改会停下并保留恢复清单。成功事务保留备份,但不提供历史 rollback。状态目录应由项目自行排除 Git;CLI 不改已有 Git 配置。\n\nJSON 协议版本 1:成功返回 \`preview\`、\`applied\`、\`recovered\`;错误退出码 1,含 \`code\` / \`message\`,冲突含完整 \`changes\` / \`conflicts\`。存在普通可应用更新的预览退出码为 0。\n\n维护:日常 implementation-ready 可运行 \`pnpm sync-core <source-repo> WORKTREE\` 和 \`pnpm sync-template <source-repo> WORKTREE\`,来源状态会写入锁和快照;candidate/release 必须改用完整 40 位提交。加 \`--check\` 只核验。\`pnpm test\` 完成后依次 \`pnpm verify-bundle\`、\`npm pack\` 和干净目录安装验收。来源锁和 blob 编码随包携带;不要手改生成文件。\n`,
111
+ );
112
+ write(
113
+ root,
114
+ "LICENSE",
115
+ "UNLICENSED\n\n本包遵循现有 YSS CLI 的分发许可标识。随包第三方资产保留各自的许可证与来源声明。\n",
116
+ );
117
+ console.log(root);