create-yss-spec 3.5.3 → 3.5.4

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 (1654) hide show
  1. package/package.json +1 -1
  2. package/src/template/asset-runtime.js +20 -5
  3. package/template/.agents/skills/.strategic-design-skills-manifest.json +5 -5
  4. package/template/.agents/skills/archify/SKILL.md +4 -52
  5. package/template/.agents/skills/archify/references/authoring-notes.md +12 -0
  6. package/template/.agents/skills/archify/references/authoring-workflow.md +25 -0
  7. package/template/.agents/skills/archify/references/delivery-workflow.md +25 -0
  8. package/template/.agents/skills/archify/references/upstream-updates.md +12 -0
  9. package/template/.agents/skills/code-review/SKILL.md +3 -34
  10. package/template/.agents/skills/code-review/references/legacy-convergence.md +5 -0
  11. package/template/.agents/skills/code-review/references/review-axis-checklists.md +18 -0
  12. package/template/.agents/skills/code-review/references/smell-baseline.md +23 -0
  13. package/template/.agents/skills/diagnosing-bugs/SKILL.md +3 -91
  14. package/template/.agents/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  15. package/template/.agents/skills/diagnosing-bugs/references/investigation.md +49 -0
  16. package/template/.agents/skills/git-commit-core/agents/openai.yaml +2 -0
  17. package/template/.agents/skills/maintaining-skills/references/authoring.md +6 -0
  18. package/template/.agents/skills/prototype-review/SKILL.md +11 -0
  19. package/template/.agents/skills/prototype-review/references/component-qa.md +32 -0
  20. package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +3 -73
  21. package/template/.agents/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  22. package/template/.agents/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  23. package/template/.agents/skills/to-spec/SKILL.md +9 -62
  24. package/template/.agents/skills/to-tickets/SKILL.md +20 -86
  25. package/template/.agents/skills/using-git-worktrees/SKILL.md +5 -122
  26. package/template/.agents/skills/using-git-worktrees/references/git-fallback.md +46 -0
  27. package/template/.agents/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  28. package/template/.agents/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  29. package/template/.agents/skills/wayfinder/SKILL.md +7 -86
  30. package/template/.agents/skills/wayfinder/references/chart-map.md +14 -0
  31. package/template/.agents/skills/wayfinder/references/map-format.md +49 -0
  32. package/template/.agents/skills/wayfinder/references/scope-and-frontier.md +24 -0
  33. package/template/.agents/skills/wayfinder/references/ticket-types.md +12 -0
  34. package/template/.agents/skills/wayfinder/references/work-map.md +15 -0
  35. package/template/.agents/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  36. package/template/.agents/skills/yedit-table-usage/SKILL.md +5 -172
  37. package/template/.agents/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  38. package/template/.agents/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  39. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  40. package/template/.agents/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  41. package/template/.agents/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  42. package/template/.agents/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  43. package/template/.agents/skills/yss-design-system/SKILL.md +13 -3
  44. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  45. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  46. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  47. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  48. package/template/.agents/skills/yss-design-system/references/data-quality-theme.md +2 -2
  49. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +1 -1
  50. package/template/.agents/skills/yss-design-system/references/design-system.md +3 -3
  51. package/template/.agents/skills/yss-design-system/references/enterprise-craft.md +33 -0
  52. package/template/.agents/skills/yss-design-system/references/page-composition.md +24 -0
  53. package/template/.agents/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  54. package/template/.agents/skills/yss-design-system/references/search-date-theme.md +19 -0
  55. package/template/.agents/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  56. package/template/.agents/skills/yss-hook/SKILL.md +8 -102
  57. package/template/.agents/skills/yss-hook/references/async-actions.md +49 -0
  58. package/template/.agents/skills/yss-hook/references/list-pagination.md +46 -0
  59. package/template/.agents/skills/yss-hook/references/polling.md +20 -0
  60. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +6 -3
  61. package/template/.agents/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  62. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +2 -49
  63. package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  64. package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  65. package/template/.agents/skills/yss-openapi-governance/SKILL.md +2 -48
  66. package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  67. package/template/.agents/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  68. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +20 -16
  69. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +415 -386
  70. package/template/.agents/skills/yss-product-lifecycle/references/plan-requirements.md +2 -0
  71. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +2 -2
  72. package/template/.agents/skills/yss-prototype-stage/SKILL.md +27 -8
  73. package/template/.agents/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  74. package/template/.agents/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  75. package/template/.agents/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  76. package/template/.agents/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  77. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  78. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  79. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  80. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  81. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  82. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  83. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  84. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  85. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  86. package/template/.agents/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  87. package/template/.agents/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  88. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  89. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  90. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  91. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  92. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  93. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  94. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  95. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  96. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  97. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  98. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  99. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  100. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  101. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  102. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  103. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  104. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  105. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  106. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  107. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  108. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  109. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  110. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  111. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  112. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  113. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  114. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  115. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  116. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  117. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  118. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  119. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  120. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  121. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  122. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  123. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  124. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  125. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  126. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  127. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  128. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  129. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  130. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  131. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  132. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  133. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  134. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  135. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  136. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  137. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  138. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  139. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  140. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  141. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  142. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  143. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  144. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  145. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  146. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  147. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  148. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  149. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  150. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  151. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  152. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  153. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  154. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  155. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  156. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  157. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  158. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  159. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  160. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  161. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  162. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  163. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  164. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  165. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  166. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  167. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  168. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  169. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  170. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  171. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  172. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  173. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  174. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  175. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  176. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  177. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  178. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  179. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  180. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  181. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  182. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  183. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  184. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  185. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  186. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  187. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  188. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  189. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  190. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  191. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  192. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  193. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  194. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  195. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  196. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  197. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  198. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  199. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  200. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  201. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  202. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  203. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  204. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  205. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  206. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  207. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  208. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  209. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  210. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  211. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  212. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  213. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  214. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  215. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  216. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  217. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  218. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  219. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  220. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  221. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  222. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  223. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  224. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  225. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  226. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  227. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  228. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  229. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  230. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  231. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  232. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  233. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  234. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  235. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  236. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  237. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  238. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  239. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  240. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  241. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  242. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  243. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  244. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  245. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  246. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  247. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  248. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  249. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  250. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  251. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  252. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  253. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  254. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  255. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  256. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  257. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  258. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  259. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  260. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  261. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  262. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  263. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  264. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  265. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  266. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  267. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  268. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  269. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  270. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  271. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  272. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  273. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  274. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  275. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  276. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  277. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  278. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  279. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  280. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  281. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  282. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  283. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  284. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  285. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  286. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  287. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  288. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  289. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  290. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  291. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  292. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  293. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  294. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  295. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  296. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  297. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  298. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  299. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  300. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  301. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  302. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  303. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  304. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  305. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  306. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  307. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  308. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  309. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  310. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  311. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  312. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  313. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  314. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  315. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  316. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  317. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  318. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  319. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  320. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  321. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  322. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  323. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  324. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  325. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  326. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  327. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  328. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  329. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  330. package/template/.agents/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  331. package/template/.agents/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  332. package/template/.agents/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  333. package/template/.agents/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  334. package/template/.agents/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  335. package/template/.agents/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  336. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  337. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  338. package/template/.agents/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  339. package/template/.agents/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  340. package/template/.agents/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  341. package/template/.agents/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  342. package/template/.agents/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  343. package/template/.agents/skills/yss-prototype-stage/references/usability-research.md +26 -0
  344. package/template/.agents/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  345. package/template/.agents/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  346. package/template/.agents/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  347. package/template/.agents/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  348. package/template/.agents/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  349. package/template/.agents/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  350. package/template/.agents/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  351. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  352. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  353. package/template/.agents/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  354. package/template/.agents/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  355. package/template/.agents/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  356. package/template/.agents/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  357. package/template/.agents/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  358. package/template/.agents/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  359. package/template/.agents/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  360. package/template/.agents/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  361. package/template/.agents/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  362. package/template/.agents/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  363. package/template/.agents/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  364. package/template/.agents/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  365. package/template/.agents/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  366. package/template/.agents/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  367. package/template/.agents/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  368. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  369. package/template/.agents/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  370. package/template/.agents/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  371. package/template/.agents/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  372. package/template/.agents/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  373. package/template/.agents/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  374. package/template/.agents/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  375. package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -0
  376. package/template/.agents/skills/yss-technical-design/SKILL.md +4 -0
  377. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  378. package/template/.agents/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  379. package/template/.agents/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  380. package/template/.agents/skills/ytable-usage/SKILL.md +3 -191
  381. package/template/.agents/skills/ytable-usage/references/selection-and-batch.md +30 -0
  382. package/template/.agents/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  383. package/template/.codex/skills/archify/SKILL.md +4 -52
  384. package/template/.codex/skills/archify/references/authoring-notes.md +12 -0
  385. package/template/.codex/skills/archify/references/authoring-workflow.md +25 -0
  386. package/template/.codex/skills/archify/references/delivery-workflow.md +25 -0
  387. package/template/.codex/skills/archify/references/upstream-updates.md +12 -0
  388. package/template/.codex/skills/code-review/SKILL.md +3 -34
  389. package/template/.codex/skills/code-review/references/legacy-convergence.md +5 -0
  390. package/template/.codex/skills/code-review/references/review-axis-checklists.md +18 -0
  391. package/template/.codex/skills/code-review/references/smell-baseline.md +23 -0
  392. package/template/.codex/skills/diagnosing-bugs/SKILL.md +3 -91
  393. package/template/.codex/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  394. package/template/.codex/skills/diagnosing-bugs/references/investigation.md +49 -0
  395. package/template/.codex/skills/git-commit-core/agents/openai.yaml +2 -0
  396. package/template/.codex/skills/maintaining-skills/references/authoring.md +6 -0
  397. package/template/.codex/skills/prototype-review/SKILL.md +11 -0
  398. package/template/.codex/skills/prototype-review/references/component-qa.md +32 -0
  399. package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +3 -73
  400. package/template/.codex/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  401. package/template/.codex/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  402. package/template/.codex/skills/to-spec/SKILL.md +9 -62
  403. package/template/.codex/skills/to-tickets/SKILL.md +20 -86
  404. package/template/.codex/skills/using-git-worktrees/SKILL.md +5 -122
  405. package/template/.codex/skills/using-git-worktrees/references/git-fallback.md +46 -0
  406. package/template/.codex/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  407. package/template/.codex/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  408. package/template/.codex/skills/wayfinder/SKILL.md +7 -86
  409. package/template/.codex/skills/wayfinder/references/chart-map.md +14 -0
  410. package/template/.codex/skills/wayfinder/references/map-format.md +49 -0
  411. package/template/.codex/skills/wayfinder/references/scope-and-frontier.md +24 -0
  412. package/template/.codex/skills/wayfinder/references/ticket-types.md +12 -0
  413. package/template/.codex/skills/wayfinder/references/work-map.md +15 -0
  414. package/template/.codex/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  415. package/template/.codex/skills/yedit-table-usage/SKILL.md +5 -172
  416. package/template/.codex/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  417. package/template/.codex/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  418. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  419. package/template/.codex/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  420. package/template/.codex/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  421. package/template/.codex/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  422. package/template/.codex/skills/yss-design-system/SKILL.md +13 -3
  423. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  424. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  425. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  426. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  427. package/template/.codex/skills/yss-design-system/references/data-quality-theme.md +2 -2
  428. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +1 -1
  429. package/template/.codex/skills/yss-design-system/references/design-system.md +3 -3
  430. package/template/.codex/skills/yss-design-system/references/enterprise-craft.md +33 -0
  431. package/template/.codex/skills/yss-design-system/references/page-composition.md +24 -0
  432. package/template/.codex/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  433. package/template/.codex/skills/yss-design-system/references/search-date-theme.md +19 -0
  434. package/template/.codex/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  435. package/template/.codex/skills/yss-hook/SKILL.md +8 -102
  436. package/template/.codex/skills/yss-hook/references/async-actions.md +49 -0
  437. package/template/.codex/skills/yss-hook/references/list-pagination.md +46 -0
  438. package/template/.codex/skills/yss-hook/references/polling.md +20 -0
  439. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +6 -3
  440. package/template/.codex/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  441. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +2 -49
  442. package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  443. package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  444. package/template/.codex/skills/yss-openapi-governance/SKILL.md +2 -48
  445. package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  446. package/template/.codex/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  447. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +20 -16
  448. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +415 -386
  449. package/template/.codex/skills/yss-product-lifecycle/references/plan-requirements.md +2 -0
  450. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +2 -2
  451. package/template/.codex/skills/yss-prototype-stage/SKILL.md +27 -8
  452. package/template/.codex/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  453. package/template/.codex/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  454. package/template/.codex/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  455. package/template/.codex/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  456. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  457. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  458. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  459. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  460. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  461. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  462. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  463. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  464. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  465. package/template/.codex/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  466. package/template/.codex/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  467. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  468. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  469. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  470. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  471. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  472. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  473. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  474. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  475. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  476. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  477. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  478. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  479. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  480. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  481. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  482. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  483. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  484. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  485. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  486. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  487. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  488. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  489. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  490. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  491. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  492. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  493. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  494. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  495. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  496. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  497. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  498. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  499. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  500. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  501. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  502. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  503. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  504. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  505. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  506. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  507. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  508. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  509. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  510. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  511. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  512. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  513. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  514. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  515. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  516. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  517. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  518. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  519. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  520. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  521. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  522. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  523. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  524. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  525. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  526. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  527. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  528. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  529. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  530. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  531. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  532. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  533. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  534. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  535. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  536. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  537. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  538. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  539. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  540. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  541. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  542. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  543. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  544. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  545. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  546. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  547. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  548. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  549. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  550. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  551. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  552. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  553. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  554. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  555. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  556. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  557. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  558. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  559. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  560. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  561. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  562. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  563. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  564. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  565. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  566. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  567. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  568. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  569. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  570. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  571. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  572. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  573. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  574. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  575. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  576. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  577. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  578. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  579. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  580. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  581. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  582. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  583. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  584. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  585. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  586. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  587. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  588. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  589. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  590. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  591. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  592. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  593. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  594. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  595. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  596. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  597. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  598. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  599. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  600. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  601. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  602. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  603. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  604. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  605. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  606. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  607. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  608. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  609. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  610. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  611. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  612. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  613. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  614. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  615. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  616. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  617. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  618. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  619. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  620. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  621. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  622. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  623. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  624. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  625. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  626. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  627. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  628. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  629. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  630. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  631. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  632. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  633. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  634. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  635. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  636. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  637. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  638. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  639. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  640. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  641. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  642. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  643. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  644. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  645. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  646. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  647. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  648. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  649. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  650. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  651. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  652. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  653. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  654. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  655. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  656. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  657. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  658. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  659. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  660. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  661. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  662. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  663. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  664. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  665. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  666. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  667. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  668. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  669. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  670. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  671. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  672. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  673. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  674. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  675. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  676. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  677. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  678. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  679. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  680. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  681. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  682. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  683. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  684. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  685. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  686. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  687. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  688. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  689. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  690. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  691. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  692. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  693. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  694. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  695. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  696. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  697. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  698. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  699. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  700. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  701. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  702. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  703. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  704. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  705. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  706. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  707. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  708. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  709. package/template/.codex/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  710. package/template/.codex/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  711. package/template/.codex/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  712. package/template/.codex/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  713. package/template/.codex/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  714. package/template/.codex/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  715. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  716. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  717. package/template/.codex/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  718. package/template/.codex/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  719. package/template/.codex/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  720. package/template/.codex/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  721. package/template/.codex/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  722. package/template/.codex/skills/yss-prototype-stage/references/usability-research.md +26 -0
  723. package/template/.codex/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  724. package/template/.codex/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  725. package/template/.codex/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  726. package/template/.codex/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  727. package/template/.codex/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  728. package/template/.codex/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  729. package/template/.codex/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  730. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  731. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  732. package/template/.codex/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  733. package/template/.codex/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  734. package/template/.codex/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  735. package/template/.codex/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  736. package/template/.codex/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  737. package/template/.codex/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  738. package/template/.codex/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  739. package/template/.codex/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  740. package/template/.codex/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  741. package/template/.codex/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  742. package/template/.codex/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  743. package/template/.codex/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  744. package/template/.codex/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  745. package/template/.codex/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  746. package/template/.codex/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  747. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  748. package/template/.codex/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  749. package/template/.codex/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  750. package/template/.codex/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  751. package/template/.codex/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  752. package/template/.codex/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  753. package/template/.codex/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  754. package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -0
  755. package/template/.codex/skills/yss-technical-design/SKILL.md +4 -0
  756. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  757. package/template/.codex/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  758. package/template/.codex/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  759. package/template/.codex/skills/ytable-usage/SKILL.md +3 -191
  760. package/template/.codex/skills/ytable-usage/references/selection-and-batch.md +30 -0
  761. package/template/.codex/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  762. package/template/.cursor/skills/archify/SKILL.md +4 -52
  763. package/template/.cursor/skills/archify/references/authoring-notes.md +12 -0
  764. package/template/.cursor/skills/archify/references/authoring-workflow.md +25 -0
  765. package/template/.cursor/skills/archify/references/delivery-workflow.md +25 -0
  766. package/template/.cursor/skills/archify/references/upstream-updates.md +12 -0
  767. package/template/.cursor/skills/code-review/SKILL.md +3 -34
  768. package/template/.cursor/skills/code-review/references/legacy-convergence.md +5 -0
  769. package/template/.cursor/skills/code-review/references/review-axis-checklists.md +18 -0
  770. package/template/.cursor/skills/code-review/references/smell-baseline.md +23 -0
  771. package/template/.cursor/skills/diagnosing-bugs/SKILL.md +3 -91
  772. package/template/.cursor/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  773. package/template/.cursor/skills/diagnosing-bugs/references/investigation.md +49 -0
  774. package/template/.cursor/skills/git-commit-core/agents/openai.yaml +2 -0
  775. package/template/.cursor/skills/maintaining-skills/references/authoring.md +6 -0
  776. package/template/.cursor/skills/prototype-review/SKILL.md +11 -0
  777. package/template/.cursor/skills/prototype-review/references/component-qa.md +32 -0
  778. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +3 -73
  779. package/template/.cursor/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  780. package/template/.cursor/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  781. package/template/.cursor/skills/to-spec/SKILL.md +9 -62
  782. package/template/.cursor/skills/to-tickets/SKILL.md +20 -86
  783. package/template/.cursor/skills/using-git-worktrees/SKILL.md +5 -122
  784. package/template/.cursor/skills/using-git-worktrees/references/git-fallback.md +46 -0
  785. package/template/.cursor/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  786. package/template/.cursor/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  787. package/template/.cursor/skills/wayfinder/SKILL.md +7 -86
  788. package/template/.cursor/skills/wayfinder/references/chart-map.md +14 -0
  789. package/template/.cursor/skills/wayfinder/references/map-format.md +49 -0
  790. package/template/.cursor/skills/wayfinder/references/scope-and-frontier.md +24 -0
  791. package/template/.cursor/skills/wayfinder/references/ticket-types.md +12 -0
  792. package/template/.cursor/skills/wayfinder/references/work-map.md +15 -0
  793. package/template/.cursor/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  794. package/template/.cursor/skills/yedit-table-usage/SKILL.md +5 -172
  795. package/template/.cursor/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  796. package/template/.cursor/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  797. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  798. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  799. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  800. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  801. package/template/.cursor/skills/yss-design-system/SKILL.md +13 -3
  802. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  803. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  804. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  805. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  806. package/template/.cursor/skills/yss-design-system/references/data-quality-theme.md +2 -2
  807. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +1 -1
  808. package/template/.cursor/skills/yss-design-system/references/design-system.md +3 -3
  809. package/template/.cursor/skills/yss-design-system/references/enterprise-craft.md +33 -0
  810. package/template/.cursor/skills/yss-design-system/references/page-composition.md +24 -0
  811. package/template/.cursor/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  812. package/template/.cursor/skills/yss-design-system/references/search-date-theme.md +19 -0
  813. package/template/.cursor/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  814. package/template/.cursor/skills/yss-hook/SKILL.md +8 -102
  815. package/template/.cursor/skills/yss-hook/references/async-actions.md +49 -0
  816. package/template/.cursor/skills/yss-hook/references/list-pagination.md +46 -0
  817. package/template/.cursor/skills/yss-hook/references/polling.md +20 -0
  818. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +6 -3
  819. package/template/.cursor/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  820. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +2 -49
  821. package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  822. package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  823. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +2 -48
  824. package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  825. package/template/.cursor/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  826. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +20 -16
  827. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +415 -386
  828. package/template/.cursor/skills/yss-product-lifecycle/references/plan-requirements.md +2 -0
  829. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +2 -2
  830. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +27 -8
  831. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  832. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  833. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  834. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  835. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  836. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  837. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  838. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  839. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  840. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  841. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  842. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  843. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  844. package/template/.cursor/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  845. package/template/.cursor/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  846. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  847. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  848. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  849. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  850. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  851. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  852. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  853. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  854. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  855. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  856. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  857. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  858. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  859. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  860. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  861. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  862. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  863. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  864. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  865. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  866. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  867. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  868. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  869. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  870. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  871. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  872. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  873. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  874. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  875. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  876. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  877. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  878. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  879. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  880. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  881. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  882. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  883. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  884. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  885. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  886. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  887. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  888. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  889. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  890. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  891. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  892. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  893. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  894. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  895. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  896. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  897. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  898. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  899. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  900. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  901. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  902. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  903. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  904. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  905. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  906. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  907. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  908. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  909. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  910. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  911. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  912. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  913. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  914. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  915. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  916. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  917. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  918. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  919. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  920. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  921. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  922. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  923. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  924. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  925. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  926. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  927. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  928. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  929. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  930. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  931. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  932. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  933. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  934. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  935. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  936. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  937. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  938. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  939. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  940. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  941. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  942. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  943. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  944. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  945. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  946. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  947. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  948. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  949. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  950. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  951. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  952. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  953. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  954. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  955. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  956. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  957. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  958. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  959. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  960. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  961. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  962. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  963. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  964. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  965. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  966. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  967. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  968. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  969. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  970. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  971. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  972. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  973. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  974. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  975. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  976. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  977. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  978. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  979. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  980. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  981. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  982. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  983. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  984. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  985. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  986. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  987. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  988. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  989. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  990. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  991. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  992. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  993. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  994. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  995. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  996. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  997. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  998. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  999. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  1000. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  1001. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  1002. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  1003. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  1004. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  1005. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  1006. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  1007. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  1008. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  1009. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  1010. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  1011. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  1012. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  1013. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  1014. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  1015. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  1016. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  1017. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  1018. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  1019. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  1020. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  1021. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  1022. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  1023. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  1024. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  1025. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  1026. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  1027. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  1028. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  1029. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  1030. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  1031. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  1032. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  1033. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  1034. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  1035. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  1036. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  1037. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  1038. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  1039. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  1040. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  1041. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  1042. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  1043. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  1044. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  1045. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  1046. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  1047. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  1048. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  1049. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  1050. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  1051. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  1052. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  1053. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  1054. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  1055. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  1056. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  1057. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  1058. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  1059. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  1060. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  1061. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  1062. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  1063. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  1064. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  1065. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  1066. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  1067. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  1068. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  1069. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  1070. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  1071. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  1072. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  1073. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  1074. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  1075. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  1076. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  1077. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  1078. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  1079. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  1080. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  1081. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  1082. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  1083. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  1084. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  1085. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  1086. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  1087. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  1088. package/template/.cursor/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  1089. package/template/.cursor/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  1090. package/template/.cursor/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  1091. package/template/.cursor/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  1092. package/template/.cursor/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  1093. package/template/.cursor/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  1094. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  1095. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  1096. package/template/.cursor/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  1097. package/template/.cursor/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  1098. package/template/.cursor/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  1099. package/template/.cursor/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  1100. package/template/.cursor/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  1101. package/template/.cursor/skills/yss-prototype-stage/references/usability-research.md +26 -0
  1102. package/template/.cursor/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  1103. package/template/.cursor/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  1104. package/template/.cursor/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  1105. package/template/.cursor/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  1106. package/template/.cursor/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  1107. package/template/.cursor/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  1108. package/template/.cursor/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  1109. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  1110. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  1111. package/template/.cursor/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  1112. package/template/.cursor/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  1113. package/template/.cursor/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  1114. package/template/.cursor/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  1115. package/template/.cursor/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  1116. package/template/.cursor/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  1117. package/template/.cursor/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  1118. package/template/.cursor/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  1119. package/template/.cursor/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  1120. package/template/.cursor/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  1121. package/template/.cursor/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  1122. package/template/.cursor/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  1123. package/template/.cursor/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  1124. package/template/.cursor/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  1125. package/template/.cursor/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  1126. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  1127. package/template/.cursor/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  1128. package/template/.cursor/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  1129. package/template/.cursor/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  1130. package/template/.cursor/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  1131. package/template/.cursor/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  1132. package/template/.cursor/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  1133. package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -0
  1134. package/template/.cursor/skills/yss-technical-design/SKILL.md +4 -0
  1135. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  1136. package/template/.cursor/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  1137. package/template/.cursor/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  1138. package/template/.cursor/skills/ytable-usage/SKILL.md +3 -191
  1139. package/template/.cursor/skills/ytable-usage/references/selection-and-batch.md +30 -0
  1140. package/template/.cursor/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  1141. package/template/.pi/skills/archify/SKILL.md +4 -52
  1142. package/template/.pi/skills/archify/references/authoring-notes.md +12 -0
  1143. package/template/.pi/skills/archify/references/authoring-workflow.md +25 -0
  1144. package/template/.pi/skills/archify/references/delivery-workflow.md +25 -0
  1145. package/template/.pi/skills/archify/references/upstream-updates.md +12 -0
  1146. package/template/.pi/skills/code-review/SKILL.md +3 -34
  1147. package/template/.pi/skills/code-review/references/legacy-convergence.md +5 -0
  1148. package/template/.pi/skills/code-review/references/review-axis-checklists.md +18 -0
  1149. package/template/.pi/skills/code-review/references/smell-baseline.md +23 -0
  1150. package/template/.pi/skills/diagnosing-bugs/SKILL.md +3 -91
  1151. package/template/.pi/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  1152. package/template/.pi/skills/diagnosing-bugs/references/investigation.md +49 -0
  1153. package/template/.pi/skills/git-commit-core/agents/openai.yaml +2 -0
  1154. package/template/.pi/skills/maintaining-skills/references/authoring.md +6 -0
  1155. package/template/.pi/skills/prototype-review/SKILL.md +11 -0
  1156. package/template/.pi/skills/prototype-review/references/component-qa.md +32 -0
  1157. package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +3 -73
  1158. package/template/.pi/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  1159. package/template/.pi/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  1160. package/template/.pi/skills/to-spec/SKILL.md +9 -62
  1161. package/template/.pi/skills/to-tickets/SKILL.md +20 -86
  1162. package/template/.pi/skills/using-git-worktrees/SKILL.md +5 -122
  1163. package/template/.pi/skills/using-git-worktrees/references/git-fallback.md +46 -0
  1164. package/template/.pi/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  1165. package/template/.pi/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  1166. package/template/.pi/skills/wayfinder/SKILL.md +7 -86
  1167. package/template/.pi/skills/wayfinder/references/chart-map.md +14 -0
  1168. package/template/.pi/skills/wayfinder/references/map-format.md +49 -0
  1169. package/template/.pi/skills/wayfinder/references/scope-and-frontier.md +24 -0
  1170. package/template/.pi/skills/wayfinder/references/ticket-types.md +12 -0
  1171. package/template/.pi/skills/wayfinder/references/work-map.md +15 -0
  1172. package/template/.pi/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  1173. package/template/.pi/skills/yedit-table-usage/SKILL.md +5 -172
  1174. package/template/.pi/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  1175. package/template/.pi/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  1176. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  1177. package/template/.pi/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  1178. package/template/.pi/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  1179. package/template/.pi/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  1180. package/template/.pi/skills/yss-design-system/SKILL.md +13 -3
  1181. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  1182. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  1183. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  1184. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  1185. package/template/.pi/skills/yss-design-system/references/data-quality-theme.md +2 -2
  1186. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +1 -1
  1187. package/template/.pi/skills/yss-design-system/references/design-system.md +3 -3
  1188. package/template/.pi/skills/yss-design-system/references/enterprise-craft.md +33 -0
  1189. package/template/.pi/skills/yss-design-system/references/page-composition.md +24 -0
  1190. package/template/.pi/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  1191. package/template/.pi/skills/yss-design-system/references/search-date-theme.md +19 -0
  1192. package/template/.pi/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  1193. package/template/.pi/skills/yss-hook/SKILL.md +8 -102
  1194. package/template/.pi/skills/yss-hook/references/async-actions.md +49 -0
  1195. package/template/.pi/skills/yss-hook/references/list-pagination.md +46 -0
  1196. package/template/.pi/skills/yss-hook/references/polling.md +20 -0
  1197. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +6 -3
  1198. package/template/.pi/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  1199. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +2 -49
  1200. package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  1201. package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  1202. package/template/.pi/skills/yss-openapi-governance/SKILL.md +2 -48
  1203. package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  1204. package/template/.pi/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  1205. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +20 -16
  1206. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +415 -386
  1207. package/template/.pi/skills/yss-product-lifecycle/references/plan-requirements.md +2 -0
  1208. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +2 -2
  1209. package/template/.pi/skills/yss-prototype-stage/SKILL.md +27 -8
  1210. package/template/.pi/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  1211. package/template/.pi/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  1212. package/template/.pi/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  1213. package/template/.pi/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  1214. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  1215. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  1216. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  1217. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  1218. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  1219. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  1220. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  1221. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  1222. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  1223. package/template/.pi/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  1224. package/template/.pi/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  1225. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  1226. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  1227. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  1228. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  1229. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  1230. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  1231. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  1232. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  1233. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  1234. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  1235. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  1236. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  1237. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  1238. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  1239. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  1240. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  1241. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  1242. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  1243. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  1244. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  1245. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  1246. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  1247. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  1248. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  1249. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  1250. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  1251. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  1252. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  1253. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  1254. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  1255. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  1256. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  1257. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  1258. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  1259. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  1260. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  1261. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  1262. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  1263. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  1264. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  1265. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  1266. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  1267. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  1268. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  1269. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  1270. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  1271. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  1272. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  1273. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  1274. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  1275. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  1276. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  1277. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  1278. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  1279. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  1280. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  1281. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  1282. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  1283. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  1284. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  1285. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  1286. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  1287. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  1288. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  1289. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  1290. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  1291. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  1292. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  1293. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  1294. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  1295. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  1296. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  1297. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  1298. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  1299. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  1300. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  1301. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  1302. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  1303. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  1304. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  1305. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  1306. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  1307. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  1308. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  1309. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  1310. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  1311. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  1312. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  1313. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  1314. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  1315. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  1316. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  1317. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  1318. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  1319. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  1320. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  1321. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  1322. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  1323. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  1324. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  1325. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  1326. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  1327. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  1328. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  1329. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  1330. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  1331. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  1332. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  1333. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  1334. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  1335. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  1336. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  1337. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  1338. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  1339. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  1340. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  1341. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  1342. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  1343. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  1344. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  1345. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  1346. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  1347. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  1348. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  1349. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  1350. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  1351. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  1352. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  1353. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  1354. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  1355. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  1356. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  1357. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  1358. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  1359. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  1360. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  1361. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  1362. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  1363. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  1364. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  1365. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  1366. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  1367. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  1368. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  1369. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  1370. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  1371. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  1372. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  1373. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  1374. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  1375. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  1376. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  1377. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  1378. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  1379. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  1380. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  1381. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  1382. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  1383. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  1384. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  1385. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  1386. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  1387. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  1388. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  1389. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  1390. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  1391. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  1392. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  1393. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  1394. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  1395. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  1396. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  1397. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  1398. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  1399. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  1400. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  1401. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  1402. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  1403. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  1404. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  1405. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  1406. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  1407. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  1408. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  1409. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  1410. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  1411. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  1412. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  1413. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  1414. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  1415. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  1416. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  1417. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  1418. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  1419. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  1420. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  1421. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  1422. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  1423. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  1424. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  1425. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  1426. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  1427. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  1428. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  1429. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  1430. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  1431. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  1432. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  1433. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  1434. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  1435. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  1436. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  1437. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  1438. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  1439. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  1440. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  1441. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  1442. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  1443. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  1444. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  1445. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  1446. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  1447. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  1448. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  1449. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  1450. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  1451. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  1452. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  1453. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  1454. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  1455. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  1456. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  1457. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  1458. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  1459. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  1460. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  1461. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  1462. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  1463. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  1464. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  1465. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  1466. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  1467. package/template/.pi/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  1468. package/template/.pi/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  1469. package/template/.pi/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  1470. package/template/.pi/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  1471. package/template/.pi/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  1472. package/template/.pi/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  1473. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  1474. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  1475. package/template/.pi/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  1476. package/template/.pi/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  1477. package/template/.pi/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  1478. package/template/.pi/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  1479. package/template/.pi/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  1480. package/template/.pi/skills/yss-prototype-stage/references/usability-research.md +26 -0
  1481. package/template/.pi/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  1482. package/template/.pi/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  1483. package/template/.pi/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  1484. package/template/.pi/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  1485. package/template/.pi/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  1486. package/template/.pi/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  1487. package/template/.pi/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  1488. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  1489. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  1490. package/template/.pi/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  1491. package/template/.pi/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  1492. package/template/.pi/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  1493. package/template/.pi/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  1494. package/template/.pi/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  1495. package/template/.pi/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  1496. package/template/.pi/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  1497. package/template/.pi/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  1498. package/template/.pi/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  1499. package/template/.pi/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  1500. package/template/.pi/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  1501. package/template/.pi/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  1502. package/template/.pi/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  1503. package/template/.pi/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  1504. package/template/.pi/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  1505. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  1506. package/template/.pi/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  1507. package/template/.pi/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  1508. package/template/.pi/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  1509. package/template/.pi/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  1510. package/template/.pi/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  1511. package/template/.pi/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  1512. package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -0
  1513. package/template/.pi/skills/yss-technical-design/SKILL.md +4 -0
  1514. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  1515. package/template/.pi/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  1516. package/template/.pi/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  1517. package/template/.pi/skills/ytable-usage/SKILL.md +3 -191
  1518. package/template/.pi/skills/ytable-usage/references/selection-and-batch.md +30 -0
  1519. package/template/.pi/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  1520. package/template/.template-spec/agents/digital-human-roles.yaml +2 -2
  1521. package/template/.template-spec/agents/issue-tracker.md +10 -1
  1522. package/template/.template-spec/agents/yss-skill-registry.yaml +41 -0
  1523. package/template/.template-spec/design/README.md +7 -2
  1524. package/template/.template-spec/design/design.md +30 -35
  1525. package/template/.template-spec/design/templates/examples/model-publishing-interaction.example.md +2 -2
  1526. package/template/.template-spec/design/templates/interaction-spec-template.md +24 -0
  1527. package/template/.template-spec/design/templates/prototype-evidence-template.yaml +18 -5
  1528. package/template/.template-spec/design/templates/prototype-review-checklist.md +8 -0
  1529. package/template/.template-spec/design/tokens/.design-md-projection.json +2 -2
  1530. package/template/.template-spec/design/tokens/variables.css +162 -0
  1531. package/template/.template-spec/plan/templates/plan-template.md +25 -1
  1532. package/template/.template-spec/process/business-tickets.md +48 -0
  1533. package/template/.template-spec/process/checkpoint-boundary.yaml +73 -0
  1534. package/template/.template-spec/process/contract-reading.md +35 -0
  1535. package/template/.template-spec/process/document-writing.md +2 -0
  1536. package/template/.template-spec/process/feature-assets.md +38 -0
  1537. package/template/.template-spec/process/lifecycle-artifact-map.md +1 -0
  1538. package/template/.template-spec/process/lifecycle-registry-baseline.json +9 -5
  1539. package/template/.template-spec/process/lifecycle-registry.yaml +15 -5
  1540. package/template/.template-spec/process/plan-spec-quality.md +69 -0
  1541. package/template/.template-spec/process/project-ci.md +21 -0
  1542. package/template/.template-spec/process/reading-policy.yaml +4 -0
  1543. package/template/.template-spec/process/schemas/business-tickets-v1.schema.json +449 -0
  1544. package/template/.template-spec/process/schemas/domain-strategy-reading.schema.json +216 -0
  1545. package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +203 -11
  1546. package/template/.template-spec/process/schemas/reading-manifest.schema.json +14 -0
  1547. package/template/.template-spec/process/schemas/reading-policy.schema.json +10 -0
  1548. package/template/.template-spec/process/schemas/stage-decision-package-reading.schema.json +148 -0
  1549. package/template/.template-spec/process/stage-tracking.md +8 -0
  1550. package/template/.template-spec/process/strategic-handoff-package.md +3 -1
  1551. package/template/.template-spec/process/templates/stage-checkpoint-template.md +6 -1
  1552. package/template/.template-spec/templates/business-ticket-review-template.yaml +11 -0
  1553. package/template/.template-spec/templates/business-ticket-set-template.yaml +16 -0
  1554. package/template/.template-spec/templates/business-ticket-template.md +38 -0
  1555. package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +16 -0
  1556. package/template/.template-spec/templates/examples/plan-spec/complex-defective.md +38 -0
  1557. package/template/.template-spec/templates/examples/plan-spec/complex-source.md +12 -0
  1558. package/template/.template-spec/templates/examples/plan-spec/complex-valid.md +38 -0
  1559. package/template/.template-spec/templates/examples/plan-spec/expectations.json +46 -0
  1560. package/template/.template-spec/templates/examples/plan-spec/high-risk-before.md +32 -0
  1561. package/template/.template-spec/templates/examples/plan-spec/high-risk-defective.md +39 -0
  1562. package/template/.template-spec/templates/examples/plan-spec/high-risk-source.md +11 -0
  1563. package/template/.template-spec/templates/examples/plan-spec/high-risk-valid.md +39 -0
  1564. package/template/.template-spec/templates/examples/plan-spec/ordinary-defective.md +36 -0
  1565. package/template/.template-spec/templates/examples/plan-spec/ordinary-plan.md +27 -0
  1566. package/template/.template-spec/templates/examples/plan-spec/ordinary-source.md +14 -0
  1567. package/template/.template-spec/templates/examples/plan-spec/ordinary-valid.md +36 -0
  1568. package/template/.template-spec/templates/local-parent-ticket-template.md +23 -15
  1569. package/template/.template-spec/templates/spec-delta-template.md +7 -5
  1570. package/template/.template-spec/templates/spec-template.md +31 -15
  1571. package/template/.template-spec/templates/vertical-slice-ticket-template.md +4 -0
  1572. package/template/AGENTS.md +1 -1
  1573. package/template/CONTEXT.md +1 -0
  1574. package/template/DESIGN.md +23 -4
  1575. package/template/scripts/contract +14 -2
  1576. package/template/scripts/feature-assets +23 -0
  1577. package/template/scripts/inspect-plan-spec +32 -0
  1578. package/template/scripts/inspect-skill-discovery +24 -0
  1579. package/template/scripts/lib/business-ticket-lifecycle.mjs +34 -0
  1580. package/template/scripts/lib/business-tickets.mjs +273 -0
  1581. package/template/scripts/lib/checkpoint-boundary.mjs +40 -0
  1582. package/template/scripts/lib/contract-views.mjs +21 -8
  1583. package/template/scripts/lib/feature-assets.mjs +274 -0
  1584. package/template/scripts/lib/governance-io.mjs +40 -0
  1585. package/template/scripts/lib/lifecycle-status.mjs +17 -1
  1586. package/template/scripts/lib/lifecycle-transition.mjs +12 -3
  1587. package/template/scripts/lib/plan-spec-markdown.mjs +97 -0
  1588. package/template/scripts/lib/plan-spec-quality.mjs +289 -0
  1589. package/template/scripts/lib/project-ci-install.mjs +98 -0
  1590. package/template/scripts/lib/project-governance.mjs +189 -0
  1591. package/template/scripts/lib/reading-view-adapters.mjs +62 -0
  1592. package/template/scripts/lib/reading-view-bundle.mjs +201 -0
  1593. package/template/scripts/lib/reading-view-diff.mjs +29 -0
  1594. package/template/scripts/lib/reading-view-markdown.mjs +39 -0
  1595. package/template/scripts/lib/reading-view-model.mjs +13 -0
  1596. package/template/scripts/lib/reading-view-policy.mjs +16 -0
  1597. package/template/scripts/lib/skill-discovery.mjs +150 -0
  1598. package/template/scripts/lib/skill-registry.mjs +41 -1
  1599. package/template/scripts/lib/skill-supply-chain.mjs +1 -1
  1600. package/template/scripts/lib/slice-contract-preparation.mjs +8 -2
  1601. package/template/scripts/lib/slice-contract.mjs +15 -1
  1602. package/template/scripts/lib/stage-tracking-migration.mjs +9 -1
  1603. package/template/scripts/lib/stage-tracking.mjs +10 -5
  1604. package/template/scripts/lib/strategic-handoff-consumption.mjs +14 -2
  1605. package/template/scripts/lib/strategic-handoff-io.mjs +6 -2
  1606. package/template/scripts/lib/strategic-handoff.mjs +26 -5
  1607. package/template/scripts/lib/task-package.mjs +14 -3
  1608. package/template/scripts/lib/testing/user-decision-fixture.mjs +33 -0
  1609. package/template/scripts/lib/user-decision-reuse.mjs +1 -1
  1610. package/template/scripts/lifecycle-status +12 -2
  1611. package/template/scripts/project-ci +20 -0
  1612. package/template/scripts/project-ci-transition +13 -0
  1613. package/template/scripts/query-lifecycle-context +4 -0
  1614. package/template/scripts/stage-tracking +1 -0
  1615. package/template/scripts/vendor/NOTICES.md +237 -0
  1616. package/template/scripts/vendor/manifest.json +1216 -65
  1617. package/template/scripts/vendor/markdown.mjs +11783 -0
  1618. package/template/scripts/verify-approval-record +4 -1
  1619. package/template/scripts/verify-business-tickets +11 -0
  1620. package/template/scripts/verify-context-contract +4 -1
  1621. package/template/scripts/verify-digital-human-task-package +4 -1
  1622. package/template/scripts/verify-lifecycle-checkpoint +17 -2
  1623. package/template/scripts/verify-prototype-design +3 -0
  1624. package/template/skills-lock.json +34 -34
  1625. package/template.manifest.json +2 -1
  1626. package/template.snapshot.json +5 -5
  1627. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1628. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1629. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1630. package/template/.agents/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1631. package/template/.agents/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1632. package/template/.agents/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1633. package/template/.agents/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  1634. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1635. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1636. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1637. package/template/.codex/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1638. package/template/.codex/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1639. package/template/.codex/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1640. package/template/.codex/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  1641. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1642. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1643. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1644. package/template/.cursor/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1645. package/template/.cursor/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1646. package/template/.cursor/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1647. package/template/.cursor/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  1648. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1649. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1650. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1651. package/template/.pi/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1652. package/template/.pi/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1653. package/template/.pi/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1654. package/template/.pi/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
@@ -1,4 +1,5 @@
1
1
  ---
2
+ content_profile: plan-spec-v1
2
3
  pipeline: <feature-id>
3
4
  stage: open
4
5
  status: ready-for-human
@@ -9,6 +10,10 @@ owner: ai
9
10
 
10
11
  填写前读取[中文写作规范](../process/document-writing.md)和 [Spec 对照](examples/lifecycle-writing-examples.md#2-spec让规则可以转成验收)。保留原规则、例外和不确定性;输入缺失时记录待确认项。
11
12
 
13
+ ## 业务 Ticket 草案
14
+
15
+ 集合:`docs/.scratch/<feature>/business-ticket-set.yaml`。Spec 综合同时起草,Design 校准同一组 ID;集合只存引用及覆盖处置,正文按业务 Ticket 模板填写。此处只引用路径,避免 Spec 与集合摘要循环。
16
+
12
17
  ## 功能父 Ticket
13
18
 
14
19
  <Local:`docs/.scratch/<feature>/parent-ticket.md`;GitHub / GitLab:Issue URL / 编号>
@@ -29,28 +34,29 @@ owner: ai
29
34
 
30
35
  需求写明主体、触发条件和可观察结果;关联验收标准。不要用“完善、友好、高效”代替规则。
31
36
 
32
- | ID | 需求 | 优先级 | 备注 |
33
- |---|---|---|---|
34
- | FR-001 | | P0/P1/P2 | |
37
+ | ID | 需求 | 优先级 | 来源引用 | 验收引用 | 未决项 |
38
+ |---|---|---|---|---|---|
39
+ | FR-001 | <主体、触发、结果及例外> | P0/P1/P2 | <项目根相对路径> :: id:<已有条目ID> | AC-001 / 待补 Q-001 | 无 / Q-001 |
35
40
 
36
41
  ## 非功能需求
37
42
 
38
43
  命中时填写工作负载或适用条件、目标值及单位、验证方式与依据;尚未确认的目标保留为未决项,不补造性能承诺。
39
44
 
40
- | 类别 | 需求 | 目标 |
41
- |---|---|---|
42
- | 性能 | | |
43
- | 可靠性 | | |
45
+ 没有适用非功能约束时写 `not-applicable:<原因>`,不保留空行。验证方法允许测试、检查、分析、演示,不强迫定性约束数值化。
46
+
47
+ | ID | 需求 | 适用条件/负载 | 指标及单位 | 目标 | 确认状态 | 验证方法 | 来源引用 | 验收引用 | 未决项 |
48
+ |---|---|---|---|---|---|---|---|---|---|
49
+ | NFR-001 | <填写> | <填写> | <量化口径或定性判断依据> | <填写或未知> | 候选 / 已确认 | <填写> | <项目根相对路径> :: heading:<准确章节名> | AC-002 / 待补 Q-001 | 无 / Q-001 |
44
50
 
45
51
  ## 验收标准
46
52
 
47
53
  关联需求 ID,按实际影响覆盖成功、拒绝、边界和恢复。保留“全部”“仅当”等限定;测试数据不能反向扩展业务规则。
48
54
 
49
- ```gherkin
50
- 假如 <上下文>
51
- 当 <操作>
52
- 那么 <可观察结果>
53
- ```
55
+ | ID | 需求引用 | 前提 | 触发 | 可观察结果 | 场景类型 | 未决项 |
56
+ |---|---|---|---|---|---|---|
57
+ | AC-001 | FR-001 | <填写> | <填写> | <填写或待确认 Q-001> | 成功 / 拒绝 / 边界 / 状态变化 / 恢复 | 无 / Q-001 |
58
+
59
+ 可在表后补充 Gherkin 示例;正式 ID 在表中登记。FR/NFR/AC 在同一功能内稳定,重排不重新编号,删除后不复用。来源使用项目根相对路径及已有 ID;无 ID 时引用准确章节名,不伪造锚点。详见 [表达约定与诊断](../process/plan-spec-quality.md)。
54
60
 
55
61
  ## 产品总体设计 / 功能架构
56
62
 
@@ -100,11 +106,13 @@ owner: ai
100
106
 
101
107
  ## AI / 人工审查点
102
108
 
109
+ 以下三行仅为示例,起草时替换为实际影响面;审查与会签以既有角色政策为准,示例不会新增门禁。
110
+
103
111
  | 范围 | Agent 权限 | 是否需要人工审查 | 备注 |
104
112
  |---|---|---|---|
105
- | 支付逻辑 | 记录验证证据 | 是 | |
106
- | 原生 SQL | 记录验证证据 | 是 | |
107
- | 公共基础库 API | 记录验证证据 | 是 | |
113
+ | 示例:支付逻辑 | 记录验证证据 | 是 | |
114
+ | 示例:原生 SQL | 记录验证证据 | 是 | |
115
+ | 示例:公共基础库 API | 记录验证证据 | 是 | |
108
116
 
109
117
  ## 非目标范围
110
118
 
@@ -113,3 +121,11 @@ owner: ai
113
121
  ## 风险
114
122
 
115
123
  记录已知风险和未决项的影响、责任人、解决时点及接收方;尚未明确原因时保留现象和验证方法。
124
+
125
+ ## 未决项
126
+
127
+ | ID | 问题 | 判断依据 | 责任人 | 解决时点 | 接收方 / 解决证据 |
128
+ |---|---|---|---|---|---|
129
+ | Q-001 | <未知事项及补齐动作> | <影响与延期理由> | <负责人> | <解决时点> | <接收方> |
130
+
131
+ 未决项不会因验收示例而转成已确认行为;适用条件不命中时保留原因。`content_profile` 可选,仅声明创作格式,不代表生命周期 schema 或批准状态。
@@ -1,5 +1,9 @@
1
1
  ---
2
+ kind: vertical-slice-ticket
2
3
  status: ready-for-human
4
+ business_ticket_set_ref: docs/.scratch/<feature>/business-ticket-set.yaml
5
+ business_ticket_refs: [BT-001]
6
+ acceptance_refs: [AC-001]
3
7
  requirement_version: v1
4
8
  ---
5
9
 
@@ -37,7 +37,7 @@
37
37
  - 先按 `.template-spec/process/harness-process-tailoring.md` 判定影响面和最近可信阶段,再由 `yss-product-lifecycle` 执行 `.template-spec/process/lifecycle-registry.yaml`;阅读导航见 `.template-spec/process/lifecycle-artifact-map.md`。
38
38
  - 命中门禁必须完成;仅未命中时记录带原因的 `not-applicable`,不得生成空文档或混淆门禁、产物、工作单元、证据。安全 / 权限写入普通 Spec、契约、架构、验收和 seam,按实际影响触发门禁。
39
39
  - 新功能和较大变更先进入 Plan;`to-spec`、`to-tickets`、`implement` 仅为用户显式兼容入口。API 变更先形成 OpenAPI 3.1 Draft,审查后 Freeze,再实现。
40
- - Spec Delta 只记冻结基线的高风险行为差异。OpenAPI Freeze 或无 API 影响记录后拆窄垂直切片,禁止仅按技术层横拆。
40
+ - Spec 综合同时起草业务 Ticket 集,Design 校准同一组 ID;业务正式化后战略交接或技术分析,协议见 `.template-spec/process/business-tickets.md`。业务票不授予实现资格。Spec Delta 只记冻结基线的高风险行为差异。OpenAPI Freeze 或无 API 影响记录后拆窄垂直切片,禁止仅按技术层横拆。
41
41
  - `seam-deferred` 必须记录风险、责任人、后续 Ticket、验证计划和目标版本或发布日期。
42
42
 
43
43
  ## 6. Ticket 与状态
@@ -46,6 +46,7 @@ context_schema_version: 1
46
46
  | 阶段工作项 | Plan、Spec、Design 中有明确负责人、验收和证据的工作记录;当前进度由 checkpoint.stage_tracking 持有,按需独立落盘。 | — | 不等同于业务 Ticket 或可实现垂直切片,不授予 ready-for-agent。 |
47
47
  | Ticket | 在追踪平台上承载功能生命周期或可实现工作单元的通用追踪对象。 | — | GitHub Issues / GitLab Issues 是具体平台对象名称;领域资产统一称为 Ticket。 |
48
48
  | 功能父 Ticket | 汇总一个功能从 Plan 或最近可信接入阶段到契约冻结的阶段状态、资产链接、审查结论和阻塞项的 Ticket。 | — | 不作为 Agent 直接实现的垂直切片。 |
49
+ | 业务 Ticket | Spec 起草、Design 校准的用户行为和可验收结果;集合保存引用、覆盖和依赖。 | — | 不依赖实现工程,不授予 ready-for-agent;可由研发细化为多个实现 Slice。 |
49
50
  | 垂直切片 Ticket | 契约冻结后生成的可独立验证实现单元,记录范围、阻塞关系、验收标准和验证证据。 | — | 只有通过必要门禁并具备直接实现条件时才能标记 `ready-for-agent`。 |
50
51
  | `ready-for-human` | 表示 Spec、设计、契约草案或其他资产仍需会签(指定数字人或生物人)。 | — | 此状态不表示可以直接进入实现;也不等于某个数字人角色。 |
51
52
  | `ready-for-agent` | 表示垂直切片已通过必要门禁并具备直接实现条件的流程状态。 | — | 不得用于 Spec 初稿、原型、OpenAPI Draft 或其他未冻结资产。 |
@@ -77,6 +77,23 @@ spacing:
77
77
  xxl: 48px
78
78
 
79
79
  components:
80
+ workspace-header:
81
+ height: 48px
82
+ backgroundColor: "{colors.surface}"
83
+ typography: "{typography.body}"
84
+ workspace-sidebar:
85
+ width: 240px
86
+ backgroundColor: "{colors.surface}"
87
+ workspace-sidebar-collapsed:
88
+ width: 64px
89
+ workspace-tabs:
90
+ height: 32px
91
+ backgroundColor: "{colors.surface}"
92
+ workspace-detail:
93
+ width: 384px
94
+ backgroundColor: "{colors.surface}"
95
+ workspace-title:
96
+ typography: "{typography.heading-md}"
80
97
  separator:
81
98
  backgroundColor: "{colors.border}"
82
99
  height: 1px
@@ -226,7 +243,7 @@ components:
226
243
 
227
244
  YSS is an enterprise UI system for dense, scannable work surfaces: tables, forms, filters, workflows and operational feedback. This file is the normative source for visual tokens and component visual variants. Product behavior remains in Spec, interaction specifications and state matrices.
228
245
 
229
- The default theme adopts Data Quality global tokens on the Ant Design v6 design foundation: light mode, primary #3371ff, body 14px, controls 32/24/40px, radii 6/4/8px and card padding 20px. Compact and dark modes are opt-in. Data Quality runs Vue 3 + Ant Design Vue 4.2.6 + YSS UI; that runtime version is distinct from the design foundation. Client-specific JSP themes and page-local glass effects are not defaults. Prototypes use HTML/CSS/JavaScript with local token CSS. Production applications use the target implementation contract and lockfile; prototype visuals do not establish production component API compatibility.
246
+ The production default theme adopts Data Quality global tokens on the Ant Design v6 design foundation: light mode, primary #3371ff, body 14px, controls 32/24/40px, radii 6/4/8px and card padding 20px. Production compact remains opt-in. New high-fidelity prototypes default to light compact using the named variants below; comfortable remains available. Existing page changes preserve their approved density and layout. Dark assets are historical references, unverified against the current specification, and are outside the default prototype route. Data Quality runs Vue 3 + Ant Design Vue 4.2.6 + YSS UI; that runtime version is distinct from the design foundation. Client-specific JSP themes and page-local glass effects are not defaults. New high-fidelity prototypes primarily use prebuilt shadcn-vue + Vue 3 with local token CSS. React authoring libraries and generation routes are retired; sealed React evidence is read-only legacy. Native HTML/CSS/JavaScript remains the lightweight route. Use registered components for product controls and task-specific compositions; upstream Blocks do not override these tokens or approved behavior. Production applications use the target implementation contract and lockfile; prototype visuals do not establish production component API compatibility.
230
247
 
231
248
  ## Colors
232
249
 
@@ -238,7 +255,9 @@ Use the system font stack, 14px body text and 400/600 weights. Use `caption` onl
238
255
 
239
256
  ## Layout
240
257
 
241
- Use a 4px spacing grid and the spacing tokens above. Use the default 32px control variant directly in HTML prototypes. The explicit compact variant uses 28px; small and large controls use 24px and 40px. When production uses an Ant Design theme algorithm, keep its seed `controlHeight` at 32px and apply compact once; never seed 28px and compact again. Page, container and overlay surfaces form the base three-layer model. On narrow screens, toolbars and filters reflow or collapse; table overflow is restricted to the table container.
258
+ New enterprise prototypes use an application shell with module navigation, grouped sidebar, closable page Tags and a full-width work area. Page Tags are navigation controls with a subtle primary tint and border for the current page, separate activation and close buttons, and no Tab underline. Reserve Tabs for views within a page; their active state uses primary text and an indicator without a filled pill. The existing workspace-tabs roles continue to size and color the Tag strip. Collapsed sidebar items remain centered with a visible current-page marker and inverse Tooltips; tooltip bodies and arrows share the same surface. Shell dimensions come from the workspace component roles above. At 1200px and above the sidebar starts expanded; from 768px to 1199px it starts collapsed; below 768px navigation uses a modal Sheet. A selected list detail occupies the workspace-detail role on wide desktop and a Sheet below 1200px; no empty detail column is reserved. Forms retain a bounded reading width within the fluid workspace. Use one main vertical work-area scroll, an independent detail scroll where needed and localized table overflow. Workspace page titles use workspace-title; avoid repeating a large decorative title above task controls. These are prototype defaults, not an automatic migration of approved or production pages.
259
+
260
+ Use a 4px spacing grid and the spacing tokens above. New prototypes use the named compact control variant (28px) on desktop, the ordinary variant (32px) on narrow screens, and body typography (14px) throughout. Comfortable uses the ordinary control and card variants. Compact uses card-compact padding on desktop and spacing.sm on narrow screens. Small and large control variants remain 24px and 40px. These named prototype variants are not the full production tokens.compact.json algorithm result; do not apply a compact algorithm to them. When production uses an Ant Design theme algorithm, keep its seed `controlHeight` at 32px and apply compact once; never seed 28px and compact again. Page, container and overlay surfaces form the base three-layer model. On narrow screens, toolbars and filters reflow or collapse; table overflow is restricted to the table container.
242
261
 
243
262
  ## Elevation & Depth
244
263
 
@@ -250,12 +269,12 @@ Controls use `rounded.md` (6px); cards and overlays use `rounded.lg` (8px); comp
250
269
 
251
270
  ## Components
252
271
 
253
- The component keys above describe default visual variants and explicitly named optional sizes, not business states. Default controls use a 32px computed height, 14px body type, pale semantic feedback surfaces and visible focus rings. Required implementation states include hover, focus, active, disabled, loading, error, empty, readonly, no-permission, conflict and success. Define those behavior and acceptance details in the lifecycle state-matrix and prototype evidence assets.
272
+ The component keys above describe default visual variants and explicitly named optional sizes, not business states. The ordinary control variant uses a 32px computed height; prototype density selects the named variant as described in Layout. All variants retain body typography, pale semantic feedback surfaces and visible focus rings. Validate actual target size and spacing, keyboard operation and focus; control height alone does not establish accessibility. Required implementation states include hover, focus, active, disabled, loading, error, empty, readonly, no-permission, conflict and success. Define those behavior and acceptance details in the lifecycle state-matrix and prototype evidence assets.
254
273
 
255
274
  ## Do's and Don'ts
256
275
 
257
276
  - Do consume tokens through ConfigProvider, CSS variables or the target component library theme.
258
- - Do use the verified derived dark/compact token snapshot for HTML; production theme algorithms remain implementation-specific.
277
+ - Do use local CSS projected from this specification for prototypes; production theme algorithms remain implementation-specific. Dark snapshots are historical and require new derivation and validation before adoption.
259
278
  - Do verify desktop (`1440x900`), mobile (`390x844`) and impacted intermediate viewports.
260
279
  - Do provide visible feedback for save, submit, publish, export and retry actions.
261
280
  - Don’t use marketing hero layouts, large gradients or decorative cards in operational pages.
@@ -1,13 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import path from 'node:path';
3
+ import {readFileSync,writeFileSync} from 'node:fs';
4
+ import {safe} from './lib/strategic-handoff-io.mjs';
5
+ import {renderReadingBundle,checkReadingViews,readingCheckpointsForAsset,saveReadingComparison,planEnableReading,applyEnableReading} from './lib/reading-view-bundle.mjs';
3
6
  import {viewContract,diffContract,prepareContractReview} from './lib/contract-views.mjs';
4
7
  try{
5
8
  const args=process.argv.slice(2),mode=args.shift(),options={},positional=[];
6
- for(let i=0;i<args.length;i++){const arg=args[i];if(arg==='--json')options.json=true;else if(arg.startsWith('--')){const key=arg.slice(2);if(!['kind','profile','unit','root','before-root','decision','task-layout'].includes(key)||!args[i+1]||args[i+1].startsWith('--'))throw Error(`未知或缺值参数 ${arg}`);options[key]=args[++i];}else positional.push(arg);}
7
- const config={kind:options.kind,root:path.resolve(options.root||process.cwd()),profile:options.profile||'review',unit_id:options.unit,task_layout:options['task-layout']||'legacy',beforeRoot:options['before-root']?path.resolve(options['before-root']):undefined,decision_ref:options.decision};
9
+ for(let i=0;i<args.length;i++){const arg=args[i];if(arg==='--json')options.json=true;else if(arg==='--model')options.model=true;else if(arg.startsWith('--')){const key=arg.slice(2);if(!['kind','profile','unit','root','before-root','decision','task-layout','checkpoint','output'].includes(key)||!args[i+1]||args[i+1].startsWith('--'))throw Error(`未知或缺值参数 ${arg}`);options[key]=args[++i];}else positional.push(arg);}
10
+ const config={kind:options.kind,include_reading_model:options.model===true,root:path.resolve(options.root||process.cwd()),profile:options.profile||'review',unit_id:options.unit,task_layout:options['task-layout']||'legacy',beforeRoot:options['before-root']?path.resolve(options['before-root']):undefined,decision_ref:options.decision};
11
+ if(['render','check-views','plan-enable','apply-enable'].includes(mode)){
12
+ if(mode==='apply-enable'?positional.length!==1:!options.checkpoint||positional.length)throw Error('reading-command-arguments-invalid');
13
+ const result=mode==='render'?renderReadingBundle(config.root,options.checkpoint):mode==='check-views'?checkReadingViews(config.root,options.checkpoint):mode==='plan-enable'?planEnableReading(config.root,options.checkpoint):applyEnableReading(config.root,JSON.parse(readFileSync(safe(config.root,positional[0]),'utf8')));
14
+ if(mode==='plan-enable'&&options.output)writeFileSync(safe(config.root,options.output,{missing:true}),JSON.stringify(result,null,2)+'\n',{flag:'wx'});
15
+ process.stdout.write(JSON.stringify(result,null,2)+'\n');if(result.blockers?.length||result.reading_update?.status==='failed')process.exitCode=1;
16
+ }else{
8
17
  if(!options.kind)throw Error('必须用 --kind 明确资产类型');
9
18
  if(!['view','diff','prepare-review'].includes(mode)||positional.length!==(mode==='view'?1:2))throw Error('用法: contract view <资产> --kind <类型> [--profile review|task|full] [--unit <ID>] [--json] | diff|prepare-review <旧资产> <新资产> --kind <类型> [--decision <原决定>]');
19
+ if(mode==='prepare-review')for(const checkpoint of readingCheckpointsForAsset(config.root,positional[1],config.kind))renderReadingBundle(config.root,checkpoint);
10
20
  const result=mode==='view'?viewContract(positional[0],config):mode==='prepare-review'?prepareContractReview(positional[0],positional[1],config):diffContract(positional[0],positional[1],config);
21
+ if(mode==='prepare-review'&&options.checkpoint&&!result.blockers?.length)result.saved_comparison=saveReadingComparison(config.root,options.checkpoint,result);
11
22
  process.stdout.write(options.json||!result.markdown?JSON.stringify(result,null,2)+'\n':result.markdown);
12
23
  if(result.blockers?.length)process.exitCode=1;
24
+ }
13
25
  }catch(error){process.stderr.write(error.message+'\n');process.exitCode=1;}
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ import { parseArgs } from 'node:util';
5
+ import { inspectAssets, planAssets, applyAssets, restoreAssets } from './lib/feature-assets.mjs';
6
+ try {
7
+ const {values,positionals}=parseArgs({allowPositionals:true,strict:true,options:{root:{type:'string'},checkpoint:{type:'string'},candidate:{type:'string',multiple:true},'archive-dir':{type:'string'},plan:{type:'string'},receipt:{type:'string'},json:{type:'boolean'},help:{type:'boolean'}}});
8
+ if(values.help) process.stdout.write('feature-assets inspect|plan --root <project> --checkpoint <ref> [--candidate <ref> ... --archive-dir <external-dir>] [--json]\nfeature-assets apply --root <project> --plan <external-plan.json>\nfeature-assets restore --root <project> --receipt <external-receipt.json>\nplan writes JSON to stdout only; apply never grants lifecycle approval.\n');
9
+ else {
10
+ if(!values.root||positionals.length!==1)throw Error('explicit-root-and-command-required');
11
+ const root=path.resolve(values.root),command=positionals[0];let result;
12
+ if(command==='inspect') result=inspectAssets({root,checkpoint:values.checkpoint});
13
+ else if(command==='plan')result=planAssets({root,checkpoint:values.checkpoint,candidates:values.candidate,archiveDir:values['archive-dir']});
14
+ else if(command==='apply'){
15
+ const ref=fs.realpathSync(values.plan),realRoot=fs.realpathSync(root);
16
+ if(ref===realRoot||ref.startsWith(realRoot+path.sep))throw Error('plan-must-be-outside-project');
17
+ result=applyAssets({root,plan:JSON.parse(fs.readFileSync(ref,'utf8'))});
18
+ } else if(command==='restore')result=restoreAssets({root,receiptRef:values.receipt});
19
+ else throw Error('unknown-command');
20
+ process.stdout.write(JSON.stringify(result,null,2)+'\n');
21
+ if(result.status==='partial')process.exitCode=1;
22
+ }
23
+ } catch(error) {process.stderr.write(error.message+'\n');process.exitCode=2;}
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ import { inspectPlanSpec, renderReport } from './lib/plan-spec-quality.mjs';
3
+ const help = `只读 Plan / Spec 诊断(不改变阶段、批准或就绪状态)
4
+ inspect-plan-spec check --root <项目根> [--plan <Plan>] [--spec <Spec>] [--slice <Slice YAML>] [--json]
5
+ inspect-plan-spec diff --root <项目根> --before <旧Spec> --after <新Spec> [--json]
6
+ check 至少指定 Plan、Spec 之一;--slice 可重复。路径相对项目根,来源不联网、不扫描。
7
+ 退出码 0:诊断执行完成(可有发现);2:输入、解析或新鲜度不足。
8
+ `;
9
+ const argv = process.argv.slice(2);
10
+ if (argv.includes('--help') || argv.includes('-h')) { process.stdout.write(help); }
11
+ else {
12
+ const options = { command: argv.shift(), slices: [] };
13
+ try {
14
+ while (argv.length) {
15
+ const flag = argv.shift();
16
+ if (flag === '--json') { options.json = true; continue; }
17
+ if (!['--root', '--plan', '--spec', '--before', '--after', '--slice'].includes(flag)) throw new Error(`不支持参数 ${flag}`);
18
+ const value = argv.shift();
19
+ if (!value || value.startsWith('--')) throw new Error(`${flag} 缺少值`);
20
+ if (flag === '--slice') options.slices.push(value);
21
+ else { const key = flag.slice(2); if (options[key]) throw new Error(`${flag} 不允许重复`); options[key] = value; }
22
+ }
23
+ if (options.command === 'check' && (options.before || options.after) || options.command === 'diff' && (options.plan || options.spec || options.slices.length)) throw new Error('参数不适用于当前命令');
24
+ const { report, exitCode } = await inspectPlanSpec(options);
25
+ process.stdout.write(options.json ? `${JSON.stringify(report, null, 2)}\n` : renderReport(report));
26
+ process.exitCode = exitCode;
27
+ } catch (error) {
28
+ const message = { tool: 'inspect-plan-spec', tool_version: '1.0.0', diagnostic_only: true, execution: 'incomplete', findings: [{ code: 'INPUT_ARGUMENT', location: { file: '.', line: 1, column: 1 }, item_id: null, message: error.message, recovery: '查看 --help 并修正参数。' }] };
29
+ process.stdout.write(process.argv.includes('--json') ? `${JSON.stringify(message, null, 2)}\n` : `${error.message}\n${help}`);
30
+ process.exitCode = 2;
31
+ }
32
+ }
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+ import path from 'node:path';
3
+ import { readFileSync } from 'node:fs';
4
+ import { inspectSkill, observeRuntime, assessDiscovery } from './lib/skill-discovery.mjs';
5
+ import { parseDocument } from './vendor/yaml.mjs';
6
+
7
+ try {
8
+ const args = {};
9
+ for (let index = 2; index < process.argv.length; index += 2) {
10
+ const key = process.argv[index], value = process.argv[index + 1];
11
+ if (!['--runtime', '--binary', '--cwd', '--pi-loader', '--pi-agent-dir', '--selections', '--required'].includes(key) || !value || value.startsWith('--')) throw new Error(`invalid argument: ${key}`);
12
+ args[key.slice(2)] = value;
13
+ }
14
+ if (!['codex', 'pi', 'cursor'].includes(args.runtime) || !args.binary) throw new Error('--runtime codex|pi|cursor and --binary are required');
15
+ const cwd = path.resolve(args.cwd ?? '.');
16
+ const document = parseDocument(readFileSync(path.join(cwd, '.template-spec/agents/yss-skill-registry.yaml'), 'utf8'), { uniqueKeys: true, maxAliasCount: 0 });
17
+ if (document.errors.length) throw new Error('invalid registry');
18
+ const registry = document.toJS({ maxAliasCount: 0 });
19
+ const registered = registry.skills.map((item) => inspectSkill(path.join(cwd, '.agents/skills', item.id, 'SKILL.md')));
20
+ const observation = await observeRuntime({ runtime: args.runtime, binary: args.binary, cwd, piLoader: args['pi-loader'], piAgentDir: args['pi-agent-dir'] });
21
+ const assessment = assessDiscovery({ registered, observation, expected: { runtime: args.runtime, version: observation.version, cwd }, required: (args.required ?? '').split(',').filter(Boolean), selections: args.selections ? JSON.parse(readFileSync(args.selections, 'utf8')) : [] });
22
+ process.stdout.write(JSON.stringify({ schema_version: 1, registered, observation, assessment }, null, 2) + '\n');
23
+ if (assessment.status === 'blocked' || observation.status !== 'observed' || observation.errors?.some((item) => args.runtime === 'codex' || item.type === 'error')) process.exitCode = 2;
24
+ } catch (error) { process.stderr.write(error.message + '\n'); process.exitCode = 2; }
@@ -0,0 +1,34 @@
1
+ import fs from 'node:fs';
2
+ import {businessAuthoringEnabled,businessPath,businessSetRef,checkBusinessTickets,assertBusinessDeferredApprovals} from './business-tickets.mjs';
3
+ import {yamlValue} from './plan-spec-markdown.mjs';
4
+ import {loadApprovalRecord,validateApprovalRecord} from './approval-record.mjs';
5
+
6
+ // Reuse existing approval protocols; this function creates no approval boundary.
7
+ export function assertBusinessApprovalBasis(root,state,{required=false}={}) {
8
+ if(!businessAuthoringEnabled(root))return;
9
+ if(state?.checkpoint_ref)state=yamlValue(fs.readFileSync(businessPath(root,state.checkpoint_ref),'utf8'));
10
+ if(!required)return;
11
+ const report=checkBusinessTickets({root,setRef:businessSetRef(state),mode:'formal'});
12
+ if(report.status!=='passed')throw Error(`BUSINESS_FORMALIZATION_BLOCKED: ${report.diagnostics.map(x=>x.code).join(', ')}`);
13
+ const rolesDoc=yamlValue(fs.readFileSync(businessPath(root,'.template-spec/agents/digital-human-roles.yaml'),'utf8'));
14
+ const proofRefs=[];
15
+ for(const id of ['gate.spec-baseline-approved','gate.product-design-approved']) {
16
+ const gate=state.gates?.[id];
17
+ if(id==='gate.product-design-approved'&&gate?.status==='not-applicable'&&gate.reason?.trim()&&gate.evidence_refs?.length){for(const ref of gate.evidence_refs)fs.readFileSync(businessPath(root,ref));continue;}
18
+ if(gate?.status!=='approved'||!gate.approval_ref)throw Error(`BUSINESS_APPROVAL_REQUIRED: ${id}`);
19
+ const record=loadApprovalRecord(businessPath(root,gate.approval_ref),id);
20
+ if(record.gate_id!==id||record.subject_ref!==gate.subject_ref||!gate.approval_scope?.length||JSON.stringify([...gate.approval_scope].sort())!==JSON.stringify([...(record.approval_scope||[])].sort()))throw Error(`BUSINESS_APPROVAL_SCOPE_MISMATCH: ${id}`);
21
+ validateApprovalRecord(record,{root,rolesDoc,requireApproved:true});
22
+ if(id==='gate.spec-baseline-approved'&&record.subject_ref!==report.spec.ref) {
23
+ // Existing approvals may cover a review package instead of the Spec itself.
24
+ // Its signed bytes, rather than a mutable checkpoint label, bind the baseline.
25
+ let subject;
26
+ try {subject=yamlValue(fs.readFileSync(businessPath(root,record.subject_ref),'utf8'));}
27
+ catch {throw Error('BUSINESS_SPEC_APPROVAL_MISMATCH: 批准主体不是当前 Spec 或可核验审阅包');}
28
+ const bindings=[...(Array.isArray(subject?.basis)?subject.basis:[]),...(Array.isArray(subject?.assets)?subject.assets:[])];
29
+ if(!bindings.some(x=>(x.ref||x.persisted_ref)===report.spec.ref&&String(x.digest).replace(/^sha256:/,'')===report.spec.digest.slice(7)))throw Error('BUSINESS_SPEC_APPROVAL_MISMATCH');
30
+ }
31
+ proofRefs.push(gate.approval_ref,record.user_decision_ref,record.continuation_ref);
32
+ }
33
+ assertBusinessDeferredApprovals(report,proofRefs);
34
+ }
@@ -0,0 +1,273 @@
1
+ import nativeFs from 'node:fs';
2
+ import {readFileSync,existsSync,lstatSync} from './validation-phase.mjs';
3
+ const fs={...nativeFs,readFileSync,existsSync,lstatSync};
4
+ import path from 'node:path';
5
+ import { createHash } from 'node:crypto';
6
+ import { parseContent, yamlValue, ids as sourceIds } from './plan-spec-markdown.mjs';
7
+ import { fileURLToPath } from 'node:url';
8
+ import { validateJsonSchemas } from './json-schema.mjs';
9
+ import { sourceContextRef, withSourceContextSnapshot } from './strategic-handoff-io.mjs';
10
+
11
+ export const BUSINESS_TICKET_PROTOCOL = 1;
12
+ export const BUSINESS_TICKET_CAPABILITY = 'business-ticket-approval-v1';
13
+ const hash = bytes => `sha256:${createHash('sha256').update(bytes).digest('hex')}`;
14
+ const nonempty = value => typeof value === 'string' && Boolean(value.trim());
15
+ const list = value => Array.isArray(value) && value.every(nonempty);
16
+ const fail = message => { throw new Error(message); };
17
+ export function businessPath(root, ref) {
18
+ if (!nonempty(ref) || path.isAbsolute(ref) || ref.includes('\\') || ref.split('/').some(x => !x || x === '.' || x === '..')) fail(`BUSINESS_PATH_INVALID: ${ref}`);
19
+ ref = sourceContextRef(root, ref);
20
+ let file = fs.realpathSync(root);
21
+ for (const part of ref.split('/')) {
22
+ file = path.join(file, part);
23
+ try { if (fs.lstatSync(file).isSymbolicLink()) fail(`BUSINESS_SYMLINK_FORBIDDEN: ${ref}`); }
24
+ catch (error) { if (error.code !== 'ENOENT') throw error; }
25
+ }
26
+ return file;
27
+ }
28
+ export function ticketMetadata(text) {
29
+ const match = String(text).match(/^\uFEFF?---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);
30
+ if(match)return yamlValue(match[1]);
31
+ try {const data=yamlValue(String(text));return data&&typeof data==='object'&&!Array.isArray(data)?data:{};}catch{return {};}
32
+ }
33
+ export function businessTicketVersion(root) {
34
+ const identity = businessPath(root, 'yss-project.yaml');
35
+ if (fs.existsSync(identity) && yamlValue(fs.readFileSync(identity,'utf8'))?.repository_mode === 'template-source') return null;
36
+ const ref = '.template-spec/agents/issue-tracker.md';
37
+ const file = businessPath(root, ref);
38
+ if (!fs.existsSync(file)) return null;
39
+ const value = ticketMetadata(fs.readFileSync(file, 'utf8'))?.tracker?.business_ticket_version;
40
+ if (value !== undefined && value !== 1) fail('BUSINESS_TICKET_VERSION_UNSUPPORTED');
41
+ return value ?? null;
42
+ }
43
+ export function businessAuthoringEnabled(root) {
44
+ if(businessTicketVersion(root)!==1)return false;
45
+ const profile=businessPath(root,'.template-spec/process/harness-profile.yaml');
46
+ const id=fs.existsSync(profile)?yamlValue(fs.readFileSync(profile,'utf8'))?.profile_id:null;
47
+ return !['harness.backend-delivery','harness.frontend-delivery'].includes(id);
48
+ }
49
+ export function assertImplementationTicket(text, ref = '') {
50
+ const kind = ticketMetadata(text)?.kind;
51
+ if (kind === 'stage-work-item' || /(^|\/)work-items\//.test(ref)) fail('stage-work-item 不能作为实现 Ticket');
52
+ if (['business-ticket', 'business-ticket-set'].includes(kind) || /(^|\/)business-tickets\//.test(ref)) fail('business-ticket-not-implementable: 业务 Ticket 不能作为实现 Slice');
53
+ }
54
+
55
+ /** Structural evidence only. Business semantics and approval remain with lifecycle reviewers. */
56
+ export function checkBusinessTickets({root, setRef, mode = 'draft', reviewRef} = {}) {
57
+ // Imported v5 sources retain root-relative bindings inside the immutable payload.
58
+ const imported=typeof setRef==='string'&&setRef.match(/^(docs\/handoffs\/[^/]+\/v[1-9][0-9]*\/package\/payload\/files\/)(.+)$/);
59
+ if(imported) {
60
+ const prefix=imported[1], sourceRoot=businessPath(root,prefix.slice(0,-1));
61
+ const result=withSourceContextSnapshot(sourceRoot,()=>checkBusinessTickets({root:sourceRoot,setRef:imported[2],mode,reviewRef:reviewRef?.startsWith(prefix)?reviewRef.slice(prefix.length):reviewRef}));
62
+ const mapped=ref=>typeof ref==='string'?prefix+(ref==='CONTEXT.md'?'source-context.snapshot.md':ref):ref;
63
+ result.inputs=result.inputs.map(x=>({...x,ref:mapped(x.ref)}));
64
+ result.diagnostics=result.diagnostics.map(x=>({...x,source_ref:mapped(x.source_ref)}));
65
+ result.tickets=result.tickets.map(x=>({...x,ref:mapped(x.ref)}));
66
+ if(result.spec)result.spec={...result.spec,ref:mapped(result.spec.ref)};
67
+ if(result.semantic_review)result.semantic_review={...result.semantic_review,ref:mapped(result.semantic_review.ref)};
68
+ return result;
69
+ }
70
+ const report = {schema_version:1, read_only:true, execution_authorization:'not-evaluated', mode, status:'passed', diagnostics:[], inputs:[], tickets:[], uncovered:[], unassessed:['business-granularity','semantic-fidelity','approval-validity']};
71
+ const observed = new Map();
72
+ const schemaInputs = [];
73
+ const schemaPath = fileURLToPath(new URL('../../.template-spec/process/schemas/business-tickets-v1.schema.json',import.meta.url));
74
+ const issue = (code, message, ref = setRef, locator = null) => report.diagnostics.push({code,message,source_ref:ref,locator,recovery:'核对来源、补齐引用或重新审查当前业务 Ticket 集'});
75
+ const read = ref => {
76
+ const bytes = fs.readFileSync(businessPath(root,ref)), digest = hash(bytes);
77
+ if (observed.has(ref) && observed.get(ref) !== digest) fail(`INPUT_DRIFT: ${ref}`);
78
+ observed.set(ref,digest); return bytes.toString('utf8');
79
+ };
80
+ const binding = value => {
81
+ if (!value || !nonempty(value.ref) || !/^v[1-9][0-9]*$/.test(value.version ?? '') || !/^sha256:[a-f0-9]{64}$/.test(value.digest ?? '')) fail('BINDING_INVALID: 需要 ref/version/digest');
82
+ const text = read(value.ref);
83
+ if (observed.get(value.ref) !== value.digest) issue('SOURCE_STALE','来源原始字节已变化',value.ref);
84
+ return text;
85
+ };
86
+ try {
87
+ if (!['draft','formal'].includes(mode)) fail('MODE_INVALID');
88
+ const set = yamlValue(read(setRef));
89
+ schemaInputs.push({value:set,schemaPath,label:setRef});
90
+ if (set?.schema_version !== 1 || set.kind !== 'business-ticket-set' || !nonempty(set.id) || !/^v[1-9][0-9]*$/.test(set.version ?? '') || !['draft','ready-for-human'].includes(set.status)) fail('BUSINESS_SET_INVALID');
91
+ report.id=set.id; report.version=set.version; report.spec=set.spec; report.coverage_deferred=set.coverage_deferred ?? [];
92
+ const spec = parseContent(binding(set.spec),set.spec.ref);
93
+ if (!spec.supported) issue('SPEC_FORMAT_UNASSESSED','Spec 需显式采用 plan-spec-v1;旧格式不推断覆盖',set.spec.ref);
94
+ const entries = spec.entries.filter(x => ['FR','NFR','AC'].includes(x.kind));
95
+ const ids = new Set();
96
+ for (const entry of entries) {
97
+ if (ids.has(entry.id)) issue('DUPLICATE_ID',`Spec ID 重复: ${entry.id}`,set.spec.ref,entry.position.start.line);
98
+ ids.add(entry.id);
99
+ }
100
+ if (!entries.some(x => x.kind === 'FR') || !entries.some(x => x.kind === 'AC')) issue('SPEC_COVERAGE_UNASSESSED','缺少可机械读取的 FR/AC',set.spec.ref);
101
+ if (!Array.isArray(set.tickets) || !set.tickets.length) fail('BUSINESS_TICKETS_REQUIRED');
102
+ const tickets = new Map(), covered = new Set(), seenPaths = new Set();
103
+ for (const entry of set.tickets) {
104
+ const text = binding(entry), ticket = ticketMetadata(text);
105
+ schemaInputs.push({value:ticket,schemaPath,label:entry.ref});
106
+ if (tickets.has(entry.id) || seenPaths.has(entry.ref)) issue('DUPLICATE_ID',`Ticket ID 或路径重复: ${entry.id}`,entry.ref);
107
+ seenPaths.add(entry.ref);
108
+ if (ticket.schema_version !== 1 || ticket.kind !== 'business-ticket' || !/^BT-[A-Za-z0-9][A-Za-z0-9._-]*$/.test(ticket.id ?? '') || ticket.id !== entry.id || ticket.version !== entry.version) issue('BUSINESS_TICKET_INVALID','类型、稳定 ID 或版本不匹配',entry.ref);
109
+ if (!['draft','ready-for-human'].includes(ticket.status)) issue('BUSINESS_READINESS_FORBIDDEN','业务票不得声明实现就绪',entry.ref);
110
+ if (!entry.ref.startsWith(`${path.posix.dirname(setRef)}/business-tickets/`) || !entry.ref.endsWith('.md')) issue('BUSINESS_TICKET_LOCATION','业务票需独立放在 business-tickets/',entry.ref);
111
+ if (['ref','version','digest'].some(key=>ticket.spec?.[key]!==set.spec?.[key])) issue('SPEC_BINDING_MISMATCH','票据与集合的 Spec 依据不一致',entry.ref);
112
+ for (const field of ['requirement_refs','acceptance_refs','dependencies']) if (!list(ticket[field])) issue('REQUIRED_FIELD',`缺少 ${field}`,entry.ref);
113
+ if (!ticket.requirement_refs?.length || !ticket.acceptance_refs?.length) issue('COVERAGE_REQUIRED','需要需求与验收引用',entry.ref);
114
+ for (const [field, pattern] of [['requirement_refs',/^(FR|NFR)-/],['acceptance_refs',/^AC-/]]) {
115
+ for (const id of Array.isArray(ticket[field]) ? ticket[field] : []) {
116
+ if (!ids.has(id) || !pattern.test(id)) issue('DANGLING_REFERENCE',`无效引用 ${id}`,entry.ref);
117
+ else covered.add(id);
118
+ }
119
+ }
120
+ for(const ac of Array.isArray(ticket.acceptance_refs)?ticket.acceptance_refs:[]) {
121
+ const requirementIds=sourceIds(entries.find(x=>x.id===ac)?.fields?.['需求引用'],['FR','NFR']);
122
+ if(!requirementIds.length || requirementIds.some(id=>!ticket.requirement_refs?.includes(id)))issue('AC_REQUIREMENT_MISMATCH',`验收 ${ac} 与本票需求来源不一致`,entry.ref,ac);
123
+ }
124
+ for (const source of ticket.source_refs ?? []) {
125
+ const sourceText = binding(source);
126
+ if (source.locator) {
127
+ let found;
128
+ if (/\.(yaml|yml|json)$/.test(source.ref)) {
129
+ const ids=[];
130
+ const walk=value=>{if(Array.isArray(value))value.forEach(walk);else if(value&&typeof value==='object')for(const [key,item]of Object.entries(value)){if((key==='id'||key.endsWith('_id'))&&typeof item==='string')ids.push(item);else walk(item);}};
131
+ walk(yamlValue(sourceText));found=source.locator_kind!=='heading'&&ids.filter(x=>x===source.locator).length===1;
132
+ } else {const parsed=parseContent(sourceText,source.ref);found=(source.locator_kind==='heading'?parsed.headings:parsed.locators).filter(x=>x.value===source.locator).length===1;}
133
+ if(!found)issue('DANGLING_REFERENCE',`来源定位缺失或不唯一: ${source.locator}`,source.ref,source.locator);
134
+ }
135
+ }
136
+ for (const heading of ['业务结果','范围','非目标','验收','风险']) if (!new RegExp(`^## ${heading}\\s*$`,'m').test(text)) issue('REQUIRED_SECTION',`缺少 ${heading}`,entry.ref);
137
+ for (const question of ticket.open_questions ?? []) {
138
+ if (![question.id,question.question,question.owner,question.resolve_by].every(nonempty) || typeof question.blocking !== 'boolean') issue('QUESTION_INCOMPLETE','未决项需问题、责任人、时点及阻断判断',entry.ref);
139
+ if (mode === 'formal' && question.blocking) issue('OPEN_BLOCKER',question.question,entry.ref);
140
+ }
141
+ if (mode === 'formal' && ticket.status !== 'ready-for-human') issue('TICKET_DRAFT','正式化仍有草案票',entry.ref);
142
+ tickets.set(entry.id,ticket);
143
+ report.tickets.push({id:entry.id,ref:entry.ref,version:entry.version,source_digest:entry.digest,source_refs:ticket.source_refs,requirement_refs:ticket.requirement_refs,acceptance_refs:ticket.acceptance_refs,dependencies:ticket.dependencies});
144
+ }
145
+ const visiting = new Set(), visited = new Set();
146
+ const visit = id => {
147
+ if (visiting.has(id)) { issue('DEPENDENCY_CYCLE',`依赖环包含 ${id}`); return; }
148
+ if (visited.has(id)) return;
149
+ visiting.add(id);
150
+ for (const dep of tickets.get(id)?.dependencies ?? []) {
151
+ if (!tickets.has(dep)) issue('DANGLING_DEPENDENCY',`${id} 依赖未知票 ${dep}`);
152
+ else visit(dep);
153
+ }
154
+ visiting.delete(id); visited.add(id);
155
+ };
156
+ tickets.forEach((_,id)=>visit(id));
157
+ const deferred = new Set();
158
+ for (const item of set.coverage_deferred ?? []) {
159
+ if (!ids.has(item.id) || deferred.has(item.id) || covered.has(item.id)) issue('DEFERRED_COVERAGE_INVALID',`延期引用无效或重复: ${item.id}`);
160
+ if (!['reason','risk','owner','target_version','followup_ticket_ref','verification_plan'].every(k=>nonempty(item[k]))) issue('DEFERRED_INCOMPLETE',`延期缺少责任或处理计划: ${item.id}`);
161
+ if (mode === 'formal') {
162
+ if (!item.decision) issue('DEFERRED_DECISION_REQUIRED',`延期缺少既有决定绑定: ${item.id}`);
163
+ else binding(item.decision);
164
+ }
165
+ deferred.add(item.id);
166
+ }
167
+ report.uncovered = [...ids].filter(id=>!covered.has(id)&&!deferred.has(id));
168
+ for (const id of report.uncovered) issue('COVERAGE_MISSING',`未覆盖 ${id}`,set.spec.ref,id);
169
+ if (mode === 'formal') {
170
+ if (set.status !== 'ready-for-human') issue('SET_DRAFT','业务集合尚未正式化');
171
+ const review = yamlValue(read(reviewRef || set.review_ref));
172
+ schemaInputs.push({value:review,schemaPath,label:reviewRef || set.review_ref});
173
+ if (review.kind !== 'business-ticket-review' || review.schema_version !== 1 || review.result !== 'passed' || review.subject_ref !== setRef || review.subject_digest !== observed.get(setRef) || !nonempty(review.reviewer) || !nonempty(review.drafter) || review.reviewer === review.drafter || !Array.isArray(review.evidence) || !review.evidence.length) issue('REVIEW_REQUIRED','需要独立且绑定当前集合的专业审查');
174
+ for (const ref of review.evidence ?? []) binding(ref);
175
+ report.semantic_review={status:'recorded',ref:reviewRef||set.review_ref,result:review.result,subject_digest:review.subject_digest};
176
+ report.unassessed = ['approval-validity','semantic-review-truth'];
177
+ }
178
+ } catch (error) { issue(error.message.split(':')[0],error.message); }
179
+ try { validateJsonSchemas(schemaInputs).forEach((result,index)=>{if(!result.valid)issue('SCHEMA_INVALID',result.error,schemaInputs[index].label);}); }
180
+ catch(error) {issue('SCHEMA_UNAVAILABLE',error.message);}
181
+ for (const [ref,digest] of observed) {
182
+ try { if (hash(fs.readFileSync(businessPath(root,ref))) !== digest) issue('INPUT_DRIFT','读取期间来源变化',ref); }
183
+ catch { issue('INPUT_DRIFT','读取期间来源消失',ref); }
184
+ }
185
+ report.inputs = [...observed].map(([ref,digest])=>({ref,digest}));
186
+ report.status = report.diagnostics.length ? 'blocked' : 'passed';
187
+ return report;
188
+ }
189
+
190
+ export function businessSetRef(state) { return state?.artifacts?.['artifact.business-ticket-set']?.ref || state?.business_ticket_set_ref; }
191
+ export function assertBusinessTicketTransition(root, current, next, state = {}) {
192
+ if (!businessAuthoringEnabled(root)) return;
193
+ if (state.checkpoint_ref) state=yamlValue(fs.readFileSync(businessPath(root,state.checkpoint_ref),'utf8'));
194
+ const spec = current === 'work-unit.spec-synthesis';
195
+ const design = ['work-unit.prototype-design','work-unit.prototype-design-v2'].includes(current);
196
+ const formal = current === 'work-unit.business-ticket-formalization';
197
+ if (!spec && !design && !formal) return;
198
+ if ((spec || design) && next === 'work-unit.technical-analysis') fail('BUSINESS_FORMALIZATION_REQUIRED');
199
+ const report = checkBusinessTickets({root,setRef:businessSetRef(state),mode:formal?'formal':'draft'});
200
+ if (report.status !== 'passed') fail(`business-ticket-blocked: ${report.diagnostics.map(x=>x.code).join(', ')}`);
201
+ }
202
+
203
+ export function assertSliceBusinessSources({root,ticketText,setBinding,acceptance,specBinding}) {
204
+ const ticket = ticketMetadata(ticketText);
205
+ if (businessTicketVersion(root) !== 1 && !ticket.business_ticket_refs && !setBinding) return;
206
+ if(ticket.kind!=='vertical-slice-ticket')fail('IMPLEMENTATION_TICKET_KIND_REQUIRED');
207
+ if(ticket.business_ticket_set_ref && ticket.business_ticket_set_ref!==setBinding?.ref)fail('BUSINESS_SET_REFERENCE_MISMATCH');
208
+ if (!setBinding?.ref || !setBinding.digest) fail('BUSINESS_SET_BINDING_REQUIRED');
209
+ const bytes = fs.readFileSync(businessPath(root,setBinding.ref));
210
+ if (hash(bytes) !== setBinding.digest) fail('BUSINESS_SET_STALE');
211
+ const result = checkBusinessTickets({root,setRef:setBinding.ref,mode:'formal'});
212
+ if (result.status !== 'passed') fail(`BUSINESS_SOURCE_BLOCKED: ${result.diagnostics.map(x=>x.code).join(', ')}`);
213
+ if (!list(ticket.business_ticket_refs) || !ticket.business_ticket_refs.length || ticket.business_ticket_refs.some(id=>!result.tickets.some(t=>t.id===id))) fail('BUSINESS_TICKET_REFERENCE_REQUIRED');
214
+ const selected=result.tickets.filter(t=>ticket.business_ticket_refs.includes(t.id));
215
+ const allowed=new Set(selected.flatMap(t=>t.acceptance_refs));
216
+ if (!list(ticket.acceptance_refs) || !ticket.acceptance_refs.length || ticket.acceptance_refs.some(id=>!allowed.has(id))) fail('BUSINESS_ACCEPTANCE_REFERENCE_REQUIRED');
217
+ if(acceptance) {
218
+ if(!specBinding || ['ref','digest'].some(key=>result.spec[key]!==specBinding[key]))fail('BUSINESS_SPEC_BINDING_MISMATCH');
219
+ for(const item of Object.values(acceptance))if(item.source!=='spec'||!ticket.acceptance_refs.includes(item.locator))fail('BUSINESS_ACCEPTANCE_SOURCE_MISMATCH');
220
+ if(ticket.acceptance_refs.some(id=>!Object.values(acceptance).some(item=>item.locator===id)))fail('BUSINESS_ACCEPTANCE_UNCOVERED');
221
+ }
222
+ }
223
+
224
+ export function assertBusinessCheckpoint(root,state) {
225
+ if (!businessAuthoringEnabled(root)) return;
226
+ const stage=state.stage;
227
+ const pastSpec=['stage.product-design','stage.system-data-engineering','stage.ticket-formalization','stage.vertical-slice-implementation','stage.verification-release-retrospective'].includes(stage);
228
+ // Design uses ticket-formalization for business drafting, while the full
229
+ // lifecycle uses that stage for engineering Slices. Entering the business
230
+ // work unit must remain possible with drafts; its exit requires formal proof.
231
+ const finalized=['work-unit.technical-analysis','work-unit.strategic-design-handoff','work-unit.implementation-repository-preparation','work-unit.ticket-decomposition','work-unit.slice-implementation'].includes(state.next_work_unit) || ['stage.system-data-engineering','stage.vertical-slice-implementation','stage.verification-release-retrospective'].includes(stage) || (stage==='stage.ticket-formalization'&&state.next_work_unit!=='work-unit.business-ticket-formalization');
232
+ const artifact=state.artifacts?.['artifact.business-ticket-set'];
233
+ const completedSpec=['work-unit.prototype-design','work-unit.prototype-design-v2','work-unit.business-ticket-formalization'].includes(state.next_work_unit)||state.stage_trace?.completed_work_unit==='work-unit.spec-synthesis'||(stage==='stage.spec-architecture'&&['completed','paused-human-gate'].includes(state.status));
234
+ if(!pastSpec && !finalized && !artifact?.ref && !completedSpec)return;
235
+ const report=checkBusinessTickets({root,setRef:businessSetRef(state),mode:finalized?'formal':'draft'});
236
+ if(report.status!=='passed')fail(`BUSINESS_CHECKPOINT_BLOCKED: ${report.diagnostics.map(x=>x.code).join(', ')}`);
237
+ if(artifact?.digest && report.inputs.find(x=>x.ref===artifact.ref)?.digest!==artifact.digest)fail('BUSINESS_SYNC_STALE');
238
+ const sync=businessSyncDiagnostics(root,businessSetRef(state),report);if(sync.length)fail('BUSINESS_SYNC_STALE: '+sync.map(x=>x.ref).join(', '));
239
+ }
240
+
241
+ // Only inspect explicit synchronization declarations in the two feature views.
242
+ export function businessSyncDiagnostics(root,setRef,report) {
243
+ if(!setRef)return [];
244
+ const digest=report.inputs?.find(x=>x.ref===setRef)?.digest,diagnostics=[];
245
+ for(const name of ['map.md','parent-ticket.md']) {
246
+ const ref=path.posix.join(path.posix.dirname(setRef),name),file=businessPath(root,ref);
247
+ if(!fs.existsSync(file))continue;
248
+ const m=ticketMetadata(fs.readFileSync(file,'utf8'));
249
+ if(m.business_ticket_set_ref && (m.business_ticket_set_ref!==setRef||m.business_ticket_set_digest!==digest))diagnostics.push({code:'BUSINESS_SYNC_STALE',ref});
250
+ }
251
+ return diagnostics;
252
+ }
253
+
254
+ export function assertBusinessDeferredApprovals(report,verifiedRefs) {
255
+ for(const item of report.coverage_deferred||[])if(!verifiedRefs.includes(item.decision?.ref))fail(`BUSINESS_DEFERRED_APPROVAL_UNBOUND: ${item.id}`);
256
+ }
257
+
258
+ export function summarizeBusinessImplementation({root,setRef,sliceRefs=[]}) {
259
+ const business=checkBusinessTickets({root,setRef,mode:'formal'});
260
+ const result={status:'not-recorded',execution_authorization:'not-evaluated',implementation_completion:'not-evaluated',tickets:[],diagnostics:[]};
261
+ if(business.status!=='passed'){result.status='blocked';result.diagnostics=business.diagnostics;return result;}
262
+ const mapped=new Map(business.tickets.map(t=>[t.id,new Map()]));
263
+ for(const ref of [...new Set(sliceRefs)])try {
264
+ const text=fs.readFileSync(businessPath(root,ref),'utf8');assertImplementationTicket(text,ref);const ticket=ticketMetadata(text);
265
+ if(ticket.kind!=='vertical-slice-ticket'||ticket.business_ticket_set_ref!==setRef||!list(ticket.business_ticket_refs)||!ticket.business_ticket_refs.length||!list(ticket.acceptance_refs)||!ticket.acceptance_refs.length)fail('SLICE_BUSINESS_BINDING_INVALID');
266
+ const allowed=new Set(business.tickets.filter(t=>ticket.business_ticket_refs.includes(t.id)).flatMap(t=>t.acceptance_refs));
267
+ if(ticket.business_ticket_refs.some(id=>!mapped.has(id))||ticket.acceptance_refs.some(id=>!allowed.has(id)))fail('SLICE_COVERAGE_INVALID');
268
+ for(const id of ticket.business_ticket_refs)for(const ac of ticket.acceptance_refs)if(business.tickets.find(t=>t.id===id).acceptance_refs.includes(ac)){const rows=mapped.get(id);rows.set(ac,[...(rows.get(ac)||[]),ref]);}
269
+ }catch(error){result.diagnostics.push({code:'SLICE_MAPPING_INVALID',source_ref:ref,message:error.message});}
270
+ result.tickets=business.tickets.map(t=>({id:t.id,acceptance_mappings:Object.fromEntries(mapped.get(t.id)),unmapped_acceptance:t.acceptance_refs.filter(ac=>!mapped.get(t.id).has(ac))}));
271
+ result.status=result.diagnostics.length?'blocked':!sliceRefs.length?'not-recorded':result.tickets.some(t=>t.unmapped_acceptance.length)?'partial':'covered';
272
+ return result;
273
+ }