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
@@ -0,0 +1,97 @@
1
+ import { parseMarkdown } from '../vendor/markdown.mjs';
2
+ import { parseDocument } from '../vendor/yaml.mjs';
3
+
4
+ export const PROFILE = 'plan-spec-v1';
5
+ export const ID_PATTERN = /^(?:FR|NFR|AC|Q|SC)-[A-Za-z0-9][A-Za-z0-9._-]*$|^success-criterion\.[A-Za-z0-9][A-Za-z0-9._-]*$/;
6
+ const sectionKinds = new Map([
7
+ ['功能需求', 'FR'], ['Functional Requirements', 'FR'],
8
+ ['非功能需求', 'NFR'], ['Non-functional Requirements', 'NFR'],
9
+ ['验收标准', 'AC'], ['Acceptance Criteria', 'AC'],
10
+ ['未决项', 'Q'], ['Open Questions', 'Q'], ['成功标准', 'SC']
11
+ ]);
12
+ export const requiredFields = {
13
+ FR: ['需求', '优先级', '来源引用', '验收引用', '未决项'],
14
+ NFR: ['需求', '适用条件/负载', '指标及单位', '目标', '确认状态', '验证方法', '来源引用', '验收引用', '未决项'],
15
+ AC: ['需求引用', '前提', '触发', '可观察结果', '场景类型', '未决项'],
16
+ Q: ['问题', '判断依据', '责任人', '解决时点', '接收方 / 解决证据'],
17
+ SC: ['指标定义', '基线或未知原因', '目标', '确认状态', '观测窗口', '数据来源', '验证方式', '未决项']
18
+ };
19
+ export function plain(node) {
20
+ if (node.value !== undefined) return node.value;
21
+ return (node.children ?? []).map(plain).join('');
22
+ }
23
+ export function ids(value, kinds = ['FR', 'NFR', 'AC', 'Q', 'SC']) {
24
+ return [...new Set((value ?? '').match(/\b(?:FR|NFR|AC|Q|SC)-[A-Za-z0-9][A-Za-z0-9._-]*\b/g) ?? [])].filter(id => kinds.includes(id.split('-')[0]));
25
+ }
26
+ export function yamlValue(text) {
27
+ const doc = parseDocument(text, { uniqueKeys: true });
28
+ if (doc.errors.length) throw new Error(doc.errors.map(e => e.message).join('; '));
29
+ return doc.toJS({ maxAliasCount: 0 });
30
+ }
31
+ export function parseContent(text, file) {
32
+ let frontmatter = {}, body = text;
33
+ if (/^\uFEFF?---\r?\n/.test(text)) {
34
+ const match = text.match(/^\uFEFF?---\r?\n([\s\S]*?)\r?\n(?:---|\.\.\.)(?:\r?\n|$)/);
35
+ if (!match) throw new Error('frontmatter 未闭合');
36
+ frontmatter = yamlValue(match[1]);
37
+ if (!frontmatter || Array.isArray(frontmatter) || typeof frontmatter !== 'object') throw new Error('frontmatter 必须为 mapping');
38
+ body = match[0].replace(/[^\r\n]/g, ' ') + text.slice(match[0].length);
39
+ }
40
+ const tree = parseMarkdown(body), entries = [], sections = [], locators = [], headings = [], conditions = [];
41
+ let section = null, exampleDepth = null;
42
+ for (const node of tree.children) {
43
+ if (node.type === 'heading') {
44
+ const title = plain(node).trim();
45
+ if (exampleDepth !== null && node.depth <= exampleDepth) exampleDepth = null;
46
+ if (/示例|虚构|example/i.test(title)) exampleDepth = node.depth;
47
+ if (exampleDepth !== null) { section = null; continue; }
48
+ headings.push({ value: title, position: node.position });
49
+ const kind = sectionKinds.get(title.replace(/^\d+[.、]\s*/, ''));
50
+ if (kind) {
51
+ section = { kind, position: node.position, count: 0, depth: node.depth, text: '' };
52
+ sections.push(section);
53
+ } else if (section && node.depth <= section.depth) section = null;
54
+ continue;
55
+ }
56
+ if (exampleDepth !== null) continue;
57
+ // Root tables only: quoted, fenced and nested examples are not requirements.
58
+ if (node.type === 'paragraph') {
59
+ conditions.push({ value: plain(node).trim(), position: node.position });
60
+ if (section) section.text += `${plain(node)}\n`;
61
+ }
62
+ if (node.type !== 'table') continue;
63
+ const headers = node.children[0].children.map(cell => plain(cell).trim());
64
+ for (const row of node.children.slice(1)) {
65
+ const values = row.children.map(cell => plain(cell).trim());
66
+ row.children.forEach((cell, index) => conditions.push({ value: values[index], position: cell.position, id: values[0] }));
67
+ if (values[0]) locators.push({ value: values[0], position: row.position });
68
+ if (!section || headers[0] !== 'ID') continue;
69
+ const cells = Object.fromEntries(headers.map((header, i) => [header, {
70
+ text: values[i] ?? '',
71
+ raw: row.children[i]?.children.length ? text.slice(row.children[i].children[0].position.start.offset, row.children[i].children.at(-1).position.end.offset).trim() : '',
72
+ position: row.children[i]?.position ?? row.position
73
+ }]));
74
+ section.count++;
75
+ entries.push({ id: values[0] ?? '', kind: section.kind, fields: Object.fromEntries(headers.map((header, i) => [header, values[i] ?? ''])), cells, file, position: row.position });
76
+ }
77
+ }
78
+ return { file, frontmatter, supported: frontmatter.content_profile === PROFILE, entries, sections, headings, locators, conditions };
79
+ }
80
+
81
+ // Explicit references only; paths here are relative to --root, never discovered by scanning.
82
+ export function sourceRefs(value) {
83
+ if (!value?.trim()) return [];
84
+ return value.split(/\s*[;;]\s*/).map(part => {
85
+ const explicit = part.match(/^`?(.+?)`?\s*::\s*(id|heading):(.+)$/);
86
+ if (explicit) return { path: explicit[1].replace(/^`|`$/g, '').trim(), type: explicit[2], locator: explicit[3].replace(/^`|`$/g, '').trim() };
87
+ const link = part.match(/^\[([^\]]+)\]\(([^\s)]+)\)$/);
88
+ if (link) {
89
+ const [target, ...fragment] = link[2].split('#');
90
+ let locator;
91
+ try { locator = decodeURIComponent(fragment.join('#') || link[1]); } catch { return { invalid: part }; }
92
+ const kind = locator.startsWith('heading:') ? 'heading' : 'id';
93
+ return { path: target, type: kind, locator: locator.replace(/^(?:id|heading):/, '') };
94
+ }
95
+ return { invalid: part };
96
+ });
97
+ }
@@ -0,0 +1,289 @@
1
+ import { readFile, realpath, stat } from 'node:fs/promises';
2
+ import { createHash } from 'node:crypto';
3
+ import path from 'node:path';
4
+ import { PROFILE, ID_PATTERN, requiredFields, ids, parseContent, sourceRefs, yamlValue } from './plan-spec-markdown.mjs';
5
+
6
+ export const TOOL_VERSION = '1.0.0';
7
+ const digest = bytes => `sha256:${createHash('sha256').update(bytes).digest('hex')}`;
8
+ const noValue = value => !value || /^(?:[-—]|TBD|TODO|待填写|<[^>]*>)$/i.test(value.trim());
9
+ const placeholder = value => /<[^>\n]+>|\b(?:TODO|TBD)\b|待填写/.test(value);
10
+ const unknown = value => /未知|待确认|待定|unknown|TBD/i.test(value ?? '');
11
+ const notApplicable = value => /^(?:not-applicable|不适用|N\/A)(?:\s|[::]|$)/i.test(value ?? '');
12
+ const naReason = value => /^(?:not-applicable|不适用|N\/A)\s*[::]\s*\S.+/i.test(value ?? '') && !placeholder(value);
13
+ const field = (entry, name) => entry.fields[name] ?? '';
14
+ const location = (file, position) => ({ file, line: position?.start?.line ?? 1, column: position?.start?.column ?? 1 });
15
+
16
+ export async function inspectPlanSpec(options, hooks = {}) {
17
+ const report = {
18
+ tool: 'inspect-plan-spec', tool_version: TOOL_VERSION, content_profile: PROFILE,
19
+ mode: options.command, diagnostic_only: true, execution: 'completed', inputs: [],
20
+ scope: { documents: [], sources: ['来源引用', '数据来源', '权威引用'], slices: options.slices ?? [], network: '不读取', state_changes: '无', prose: '正文语义未自动评估,需保留全文人工审阅' },
21
+ findings: [], unevaluated: [], manual_review: [
22
+ '问题真实性、方案优劣、目标合理性、场景充分性和规则语义等价性需人工审查。',
23
+ '诊断不改变生命周期批准、就绪状态或验证范围。'
24
+ ]
25
+ };
26
+ const cache = new Map(), parsed = new Map();
27
+ let root;
28
+ function issue(code, file, position, item_id, message, recovery, incomplete = false) {
29
+ report.findings.push({ code, location: location(file, position), item_id: item_id || null, message, recovery });
30
+ if (incomplete) report.execution = 'incomplete';
31
+ }
32
+ function unassessed(code, file, message, item_id = null, position = null) {
33
+ report.unevaluated.push({ code, location: location(file, position), item_id, message, recovery: '人工审阅原文;按需明确选择范围并补齐可定位输入后重跑。' });
34
+ }
35
+ try { root = await realpath(path.resolve(options.root ?? '.')); }
36
+ catch (error) { issue('INPUT_ROOT', options.root ?? '.', null, null, error.message, '提供可读项目根目录。', true); }
37
+ function target(ref) {
38
+ const absolute = path.resolve(root, ref), relative = path.relative(root, absolute);
39
+ if (relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) throw new Error('路径越过项目根目录');
40
+ return { absolute, relative: relative.replaceAll(path.sep, '/') };
41
+ }
42
+ async function load(ref, role, caller = {}) {
43
+ if (!root) return null;
44
+ try {
45
+ const { absolute, relative } = target(ref);
46
+ if (cache.has(relative)) { cache.get(relative).roles.add(role); return cache.get(relative); }
47
+ const resolved = await realpath(absolute);
48
+ target(resolved);
49
+ const info = await stat(absolute);
50
+ if (!info.isFile()) throw new Error('输入不是普通文件');
51
+ if (info.size > 8 * 1024 * 1024) throw new Error('输入超过 8 MiB,需显式提供较小快照');
52
+ const bytes = await readFile(absolute);
53
+ const text = new TextDecoder('utf-8', { fatal: true }).decode(bytes);
54
+ const item = { absolute, resolved, file: relative, bytes, text, sha256: digest(bytes), roles: new Set([role]) };
55
+ cache.set(relative, item);
56
+ return item;
57
+ } catch (error) {
58
+ issue('INPUT_UNREADABLE', caller.file ?? ref, caller.position, caller.id, `无法读取 ${ref}: ${error.message}`, '补齐或修正显式输入路径;不得猜测替代来源。', true);
59
+ return null;
60
+ }
61
+ }
62
+ function markdown(input) {
63
+ if (!input) return null;
64
+ if (parsed.has(input.file)) return parsed.get(input.file);
65
+ try { const doc = parseContent(input.text, input.file); parsed.set(input.file, doc); return doc; }
66
+ catch (error) {
67
+ issue('PARSE_ERROR', input.file, null, null, error.message, '修复 Markdown frontmatter / YAML 解析问题后重跑。', true);
68
+ parsed.set(input.file, null); return null;
69
+ }
70
+ }
71
+ async function resolveSource(reference, entry, name) {
72
+ if (reference.invalid) {
73
+ issue('SOURCE_FORMAT', entry.file, entry.cells[name]?.position ?? entry.position, entry.id, `来源缺少可定位表达:${reference.invalid}`, '使用 项目根相对路径 :: id:已有ID 或 :: heading:准确章节名。'); return null;
74
+ }
75
+ if (/^[a-z][a-z0-9+.-]*:/i.test(reference.path)) {
76
+ unassessed('EXTERNAL_SOURCE', entry.file, `未联网读取外部来源 ${reference.path};需要可审阅的本地证据快照。`, entry.id); return null;
77
+ }
78
+ const input = await load(reference.path, 'source', entry);
79
+ if (!input) return null;
80
+ let matches;
81
+ try {
82
+ if (/\.(?:ya?ml|json)$/i.test(input.file)) {
83
+ const value = /\.json$/i.test(input.file) ? JSON.parse(input.text) : yamlValue(input.text);
84
+ matches = [];
85
+ const walk = node => {
86
+ if (!node || typeof node !== 'object') return;
87
+ if (node.id === reference.locator && reference.type === 'id') matches.push(node);
88
+ for (const [key, child] of Object.entries(node)) {
89
+ if (key === reference.locator && reference.type === 'id') matches.push(child);
90
+ walk(child);
91
+ }
92
+ };
93
+ walk(value);
94
+ } else if (/\.md$/i.test(input.file)) {
95
+ const doc = markdown(input);
96
+ if (!doc) return null;
97
+ matches = (reference.type === 'heading' ? doc.headings : doc.locators).filter(x => x.value === reference.locator);
98
+ } else { unassessed('SOURCE_FORMAT_UNSUPPORTED', input.file, '来源格式不支持条目定位,只绑定原始摘要。', entry.id); return null; }
99
+ } catch (error) {
100
+ issue('PARSE_ERROR', input.file, null, entry.id, error.message, '修复显式来源解析后重跑。', true); return null;
101
+ }
102
+ if (matches.length !== 1) {
103
+ issue('SOURCE_LOCATOR', entry.file, entry.cells[name]?.position ?? entry.position, entry.id, `来源 ${input.file} 的 ${reference.type}:${reference.locator} 匹配 ${matches.length} 处`, '修正已有条目 ID 或准确章节名;歧义定位不能自动选择。'); return null;
104
+ }
105
+ return { file: input.file, type: reference.type, locator: reference.locator, sha256: input.sha256 };
106
+ }
107
+ async function checkDocument(input, role) {
108
+ const doc = markdown(input);
109
+ if (!doc) return null;
110
+ report.scope.documents.push({ file: input.file, role, profile: doc.frontmatter.content_profile ?? null, extracted_items: doc.entries.length });
111
+ if (!doc.supported) unassessed('LEGACY_OR_UNKNOWN_PROFILE', input.file, '未声明支持的 content_profile;仅尽力检查已识别 ID 与显式引用,缺字段不解释为缺陷或内容合格。');
112
+ if (doc.supported) for (const condition of doc.conditions) {
113
+ if (notApplicable(condition.value) && !naReason(condition.value)) issue('NA_REASON', input.file, condition.position, condition.id, '条件项声明不适用但缺少原因', '补充 not-applicable:具体原因。');
114
+ }
115
+ const groups = new Map();
116
+ for (const entry of doc.entries) {
117
+ const group = groups.get(entry.id) ?? []; group.push(entry); groups.set(entry.id, group);
118
+ if (!ID_PATTERN.test(entry.id) || !(entry.id.startsWith(`${entry.kind}-`) || entry.kind === 'SC' && entry.id.startsWith('success-criterion.'))) {
119
+ if (doc.supported) issue('INVALID_ID', entry.file, entry.position, entry.id, 'ID 与所属条目类型不一致或尚未填写。', '使用功能内稳定 ID,重排不改号,删除不复用。');
120
+ }
121
+ if (!doc.supported) continue;
122
+ const required = entry.kind === 'SC' && '权威引用' in entry.fields ? ['权威引用'] : requiredFields[entry.kind];
123
+ for (const name of required) {
124
+ const value = field(entry, name);
125
+ if (noValue(value)) issue('REQUIRED_FIELD', entry.file, entry.cells[name]?.position ?? entry.position, entry.id, `${name} 为空或占位符`, '填写已有依据;未知值关联未决项及补齐动作。');
126
+ else if (placeholder(value)) issue('PLACEHOLDER', entry.file, entry.cells[name]?.position, entry.id, `${name} 尚有占位符`, '替换为真实输入或明确未决项。');
127
+ }
128
+ if ((entry.kind === 'NFR' || entry.kind === 'SC') && !('权威引用' in entry.fields)) {
129
+ if (unknown(field(entry, '目标')) && !ids(field(entry, '未决项'), ['Q']).length) issue('UNKNOWN_TARGET', entry.file, entry.position, entry.id, '目标未知且未关联未决项', '关联 Q ID,保留候选状态、负责人和补齐动作。');
130
+ if (unknown(field(entry, '目标')) && field(entry, '确认状态') === '已确认') issue('TARGET_STATUS', entry.file, entry.position, entry.id, '未知目标标记为已确认', '核对真实决定;未知目标保持候选状态。');
131
+ if (entry.kind === 'SC' && unknown(field(entry, '基线或未知原因')) && !ids(field(entry, '未决项'), ['Q']).length) issue('UNKNOWN_BASELINE', entry.file, entry.position, entry.id, '基线未知且没有补齐项', '关联 Q ID,说明未知原因、负责人和补齐动作。');
132
+ }
133
+ }
134
+ for (const [id, entries] of groups) if (entries.length > 1) for (const entry of entries) issue('DUPLICATE_ID', entry.file, entry.position, id, `ID 重复 ${entries.length} 次`, '消除重复并修复所有关联;不要因排序重编号。');
135
+ if (doc.supported) {
136
+ for (const kind of role === 'spec' ? ['FR', 'NFR', 'AC'] : ['SC']) {
137
+ if (!doc.sections.some(section => section.kind === kind)) issue('SECTION_MISSING', input.file, null, null, `${kind} 缺少可识别章节`, '使用权威模板;未命中条件项注明不适用及原因。');
138
+ }
139
+ for (const section of doc.sections) if (!section.count && section.kind !== 'Q') {
140
+ if (notApplicable(section.text.trim())) {
141
+ // The paragraph-level condition check records missing reasons once.
142
+ } else {
143
+ issue('SECTION_UNPARSED', input.file, section.position, null, `${section.kind} 未提取到 ID 表`, '使用权威模板中的 ID 表,或为条件项明确不适用原因。');
144
+ unassessed('SECTION_UNPARSED', input.file, `${section.kind} 正文未进行结构诊断。`);
145
+ }
146
+ }
147
+ }
148
+ for (const entry of doc.entries) {
149
+ const refFields = { '验收引用': ['AC', 'Q'], '需求引用': ['FR', 'NFR'], '未决项': ['Q'] };
150
+ for (const [name, allowed] of Object.entries(refFields)) {
151
+ const refs = ids(field(entry, name));
152
+ for (const id of refs) {
153
+ if (!allowed.includes(id.split('-')[0])) issue('REFERENCE_KIND', entry.file, entry.cells[name]?.position, entry.id, `${name} 引用了不支持的类型 ${id}`, '修正字段中的关联类型。');
154
+ else if (!groups.has(id)) issue('DANGLING_REFERENCE', entry.file, entry.cells[name]?.position, entry.id, `${name} 指向不存在的 ${id}`, '恢复条目或修正引用;不得猜测映射。');
155
+ else if (groups.get(id).length > 1) unassessed('AMBIGUOUS_REFERENCE', entry.file, `引用 ${id} 重复,无法唯一追溯。`, entry.id);
156
+ }
157
+ }
158
+ if (['FR', 'NFR'].includes(entry.kind)) {
159
+ const ac = ids(field(entry, '验收引用'), ['AC']);
160
+ const pending = ids(field(entry, '验收引用'), ['Q']);
161
+ if (!ac.length && !pending.length && (doc.supported || '验收引用' in entry.fields)) issue('AC_MISSING', entry.file, entry.position, entry.id, '需求没有验收引用或明确待补项', '关联 AC 或待补 Q,并由原有门禁处理未决项。');
162
+ if (pending.length) unassessed('AC_DEFERRED', entry.file, `验收待补 ${pending.join(', ')},尚未评估验收覆盖。`, entry.id);
163
+ for (const id of ac) {
164
+ const targetEntry = groups.get(id)?.length === 1 ? groups.get(id)[0] : null;
165
+ if (targetEntry && !ids(field(targetEntry, '需求引用')).includes(entry.id)) issue('REFERENCE_MISMATCH', entry.file, entry.position, entry.id, `${id} 没有反向关联本需求`, '核对需求与验收引用并同时修正。');
166
+ }
167
+ }
168
+ if (entry.kind === 'AC') {
169
+ const requirements = ids(field(entry, '需求引用'), ['FR', 'NFR']);
170
+ if (!requirements.length && (doc.supported || '需求引用' in entry.fields)) issue('REQUIREMENT_MISSING', entry.file, entry.position, entry.id, '验收缺少需求来源', '关联已有 FR/NFR,不由验收示例反推新规则。');
171
+ for (const id of requirements) {
172
+ const requirement = groups.get(id)?.length === 1 ? groups.get(id)[0] : null;
173
+ if (requirement && !ids(field(requirement, '验收引用')).includes(entry.id)) issue('REFERENCE_MISMATCH', entry.file, entry.position, entry.id, `${id} 未引用本验收`, '核对双向关联。');
174
+ }
175
+ }
176
+ for (const name of ['来源引用', '数据来源', '权威引用']) {
177
+ if (!(name in entry.fields)) continue;
178
+ const value = entry.cells[name].raw;
179
+ if (noValue(field(entry, name)) || placeholder(field(entry, name))) continue;
180
+ for (const ref of sourceRefs(value)) await resolveSource(ref, entry, name);
181
+ if (name === '权威引用') unassessed('STATEMENT_MANUAL_REVIEW', entry.file, '成功标准复用权威 statement;指标、窗口、未知原因等语义完整性由人工逐项审查。', entry.id);
182
+ }
183
+ }
184
+ return doc;
185
+ }
186
+ async function trace(doc) {
187
+ if (!doc) return;
188
+ const requirements = doc.entries.filter(e => ['FR', 'NFR'].includes(e.kind));
189
+ const acs = new Map(doc.entries.filter(e => e.kind === 'AC').map(e => [e.id, e]));
190
+ report.trace = { links: [], gaps: [], scope: '仅显式 --slice;未提供的依赖未知,不推断未受影响' };
191
+ for (const ref of options.slices ?? []) {
192
+ const input = await load(ref, 'slice'); if (!input) continue;
193
+ let slice;
194
+ try { slice = yamlValue(input.text); }
195
+ catch (error) { issue('PARSE_ERROR', input.file, null, null, error.message, '修复显式 Slice YAML 解析问题后重跑。', true); continue; }
196
+ if (slice?.schema_version !== 3 || !slice.acceptance || typeof slice.acceptance !== 'object' || Array.isArray(slice.acceptance)) {
197
+ unassessed('SLICE_UNSUPPORTED', input.file, '仅支持现有 Slice schema v3 acceptance mapping'); continue;
198
+ }
199
+ for (const [id, acceptance] of Object.entries(slice.acceptance)) {
200
+ if (!acceptance || typeof acceptance.source !== 'string' || typeof acceptance.locator !== 'string') { unassessed('SLICE_LOCATOR_UNSUPPORTED', input.file, `acceptance ${id} 结构不支持。`); continue; }
201
+ const locator = acceptance.locator.replace(/^id:/, '');
202
+ const resolved = await resolveSource({ path: acceptance.source, type: 'id', locator }, { file: input.file, id, cells: {} }, 'source');
203
+ if (!resolved || resolved.file !== doc.file || !acs.has(locator)) { report.trace.gaps.push({ slice: input.file, acceptance: id, reason: '定位未映射到本次 Spec 的 AC,影响未知' }); continue; }
204
+ if (doc.entries.filter(e => e.id === locator).length !== 1) { report.trace.gaps.push({ slice: input.file, acceptance: id, reason: 'Spec ID 重复,无法映射' }); continue; }
205
+ const referring = collection => Object.entries(collection ?? {}).filter(([, item]) => Array.isArray(item?.acceptance_refs) && item.acceptance_refs.includes(id));
206
+ report.trace.links.push({ spec: doc.file, ac: locator, requirements: ids(field(acs.get(locator), '需求引用'), ['FR', 'NFR']), slice: input.file, acceptance: id,
207
+ verification: referring(slice.verification).map(([key, value]) => ({ id: key, command: value.command ?? null, expected_evidence: value.expected_evidence ?? null })),
208
+ work_units: referring(slice.work_units).map(([key]) => key), evidence_status: '引用可见;未执行命令、未验证证据内容或批准' });
209
+ }
210
+ }
211
+ for (const requirement of requirements) if (!report.trace.links.some(link => link.requirements.includes(requirement.id))) report.trace.gaps.push({ requirement: requirement.id, reason: '显式输入内没有下游映射;依赖未知' });
212
+ for (const link of report.trace.links) if (!link.verification.length) report.trace.gaps.push({ ac: link.ac, slice: link.slice, reason: '未找到 acceptance_refs 对应的 verification' });
213
+ }
214
+ if (root && options.command === 'check') {
215
+ if (!options.plan && !options.spec) issue('INPUT_REQUIRED', '.', null, null, 'check 至少需要 --plan 或 --spec', '显式指定要诊断的文档。', true);
216
+ if (options.plan) { const input = await load(options.plan, 'plan'); if (input) await checkDocument(input, 'plan'); }
217
+ if (options.spec) { const input = await load(options.spec, 'spec'); if (input) await trace(await checkDocument(input, 'spec')); }
218
+ else if (options.slices?.length) issue('INPUT_REQUIRED', '.', null, null, '--slice 需要 --spec', '提供用于追溯的 Spec。', true);
219
+ } else if (root && options.command === 'diff') {
220
+ const before = options.before ? await load(options.before, 'before') : null;
221
+ const after = options.after ? await load(options.after, 'after') : null;
222
+ report.diff = { status: '无法比较旧内容', entries: [], raw_difference: null };
223
+ if (!options.before || !options.after) issue('BASELINE_MISSING', options.before ?? '.', null, null, '旧基线或新文档缺失,无法比较', '提供可读的显式 --before 和 --after。', true);
224
+ if (before && after) {
225
+ const oldDoc = markdown(before), newDoc = markdown(after);
226
+ let prefix = 0, suffix = 0;
227
+ while (prefix < Math.min(before.bytes.length, after.bytes.length) && before.bytes[prefix] === after.bytes[prefix]) prefix++;
228
+ while (suffix < Math.min(before.bytes.length, after.bytes.length) - prefix && before.bytes[before.bytes.length - 1 - suffix] === after.bytes[after.bytes.length - 1 - suffix]) suffix++;
229
+ report.diff.raw_difference = { encoding: 'base64', common_prefix_bytes: prefix, common_suffix_bytes: suffix, before_sha256: before.sha256, after_sha256: after.sha256, removed: before.bytes.subarray(prefix, before.bytes.length - suffix).toString('base64'), added: after.bytes.subarray(prefix, after.bytes.length - suffix).toString('base64') };
230
+ if (oldDoc && newDoc) {
231
+ report.diff.status = 'compared';
232
+ const unparsedKinds = new Set();
233
+ for (const [doc, role] of [[oldDoc, 'before'], [newDoc, 'after']]) {
234
+ report.scope.documents.push({ file: doc.file, role, profile: doc.frontmatter.content_profile ?? null, extracted_items: doc.entries.length });
235
+ if (!doc.supported) continue;
236
+ for (const kind of ['FR', 'NFR', 'AC']) if (!doc.sections.some(section => section.kind === kind)) {
237
+ unparsedKinds.add(kind);
238
+ unassessed('SECTION_MISSING', doc.file, `${kind} 缺少可识别章节;该类条目无法可靠比较增删。`);
239
+ }
240
+ for (const section of doc.sections) if (!section.count && !notApplicable(section.text.trim()) && section.kind !== 'Q') {
241
+ unparsedKinds.add(section.kind);
242
+ unassessed('SECTION_UNPARSED', doc.file, `${section.kind} 未提取到 ID 表;该类条目无法可靠比较增删。`, null, section.position);
243
+ }
244
+ }
245
+ if (!oldDoc.supported || !newDoc.supported || unparsedKinds.size) {
246
+ report.diff.status = 'partially-compared';
247
+ unassessed('PARTIAL_DIFF', after.file, '格式或章节存在提取缺口;只比较可识别范围,缺口不判为条目增删。原始字节差异覆盖全部内容。');
248
+ }
249
+ const allIds = [...new Set([...oldDoc.entries, ...newDoc.entries].map(e => e.id))].sort();
250
+ for (const id of allIds) {
251
+ const oldItems = oldDoc.entries.filter(e => e.id === id), newItems = newDoc.entries.filter(e => e.id === id);
252
+ if (oldItems.length > 1 || newItems.length > 1) { issue('DUPLICATE_ID', after.file, newItems[0]?.position, id, '差异中的 ID 不唯一,无法比较该条目', '消除歧义,保留原始字节证据。'); report.diff.entries.push({ id, change: 'unassessed' }); continue; }
253
+ const left = oldItems[0], right = newItems[0];
254
+ if (unparsedKinds.has(left?.kind) || unparsedKinds.has(right?.kind) || (!left || !right) && (!oldDoc.supported || !newDoc.supported)) {
255
+ report.diff.entries.push({ id, change: 'unassessed', reason: '所属章节提取不完整,不能据此判断新增或删除', location: location(right ? after.file : before.file, (right ?? left).position) });
256
+ continue;
257
+ }
258
+ const values = item => item && Object.fromEntries(Object.entries(item.cells).map(([key, cell]) => [key, cell.raw]));
259
+ const oldFields = values(left), newFields = values(right);
260
+ if (JSON.stringify(oldFields) === JSON.stringify(newFields)) continue;
261
+ const referenceChanges = ['来源引用', '验收引用', '需求引用', '未决项', '权威引用', '数据来源'].filter(key => oldFields?.[key] !== newFields?.[key]);
262
+ report.diff.entries.push({ id, change: !left ? 'added' : !right ? 'removed' : 'modified', before: oldFields ?? null, after: newFields ?? null, reference_changes: referenceChanges, location: location(right ? after.file : before.file, (right ?? left).position) });
263
+ }
264
+ report.diff.note = '重排无重新编号;未按 ID 展示的变化见原始字节差异。语义等价、ID 历史复用、批准与下游影响未自动判定。';
265
+ }
266
+ }
267
+ } else if (root) issue('COMMAND_INVALID', '.', null, null, '命令必须为 check 或 diff', '查看 --help。', true);
268
+ // Test hook exercises an actual read/re-read race without changing runtime CLI behavior.
269
+ if (hooks.beforeFreshnessCheck) await hooks.beforeFreshnessCheck();
270
+ for (const input of cache.values()) {
271
+ report.inputs.push({ file: input.file, roles: [...input.roles].sort(), bytes: input.bytes.length, sha256: input.sha256 });
272
+ try {
273
+ if (await realpath(input.absolute) !== input.resolved || digest(await readFile(input.absolute)) !== input.sha256) throw new Error('读取期间内容或真实路径变化');
274
+ } catch (error) { issue('INPUT_DRIFT', input.file, null, null, error.message, '冻结输入并重新运行;本报告不得作为当前证据。', true); }
275
+ }
276
+ report.inputs.sort((a, b) => a.file.localeCompare(b.file));
277
+ report.summary = { findings: report.findings.length, unevaluated: report.unevaluated.length, result: '诊断证据,不是内容合格或流转许可' };
278
+ return { report, exitCode: report.execution === 'completed' ? 0 : 2 };
279
+ }
280
+
281
+ export function renderReport(report) {
282
+ const lines = [`inspect-plan-spec ${report.tool_version} · ${report.mode} · ${report.execution}`, report.summary.result];
283
+ for (const input of report.inputs) lines.push(`输入 ${input.file} ${input.sha256}`);
284
+ for (const item of [...report.findings, ...report.unevaluated]) lines.push(`${item.code} ${item.location.file}:${item.location.line}:${item.location.column}${item.item_id ? ` [${item.item_id}]` : ''} ${item.message}\n 恢复:${item.recovery}`);
285
+ for (const item of report.manual_review) lines.push(`人工审查:${item}`);
286
+ if (report.diff) { lines.push(`差异:${report.diff.status}`, JSON.stringify(report.diff, null, 2)); }
287
+ if (report.trace) lines.push(`追溯:${JSON.stringify(report.trace, null, 2)}`);
288
+ return `${lines.join('\n')}\n`;
289
+ }
@@ -0,0 +1,98 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { randomUUID } from 'node:crypto';
4
+ import { safeFile, fileBinding, readDocument, digest } from './governance-io.mjs';
5
+ import { CI_CONFIG, TRACKER, governanceScope } from './project-governance.mjs';
6
+
7
+ export const CI_WORKFLOW='.github/workflows/yss-governance.yml';
8
+ export const CI_RECEIPT='.template-spec/process/project-ci-install.json';
9
+ export const CI_JOURNAL='.template-spec/process/.project-ci-transaction.json';
10
+ const conflict=message=>{const error=new Error(message);error.exitCode=1;throw error;};
11
+ const canonical=value=>Array.isArray(value)?value.map(canonical):value&&typeof value==='object'?Object.fromEntries(Object.keys(value).sort().map(k=>[k,canonical(value[k])])):value;
12
+ const encode=value=>JSON.stringify(canonical(value),null,2)+'\n';
13
+ const hashObject=value=>digest(encode(value));
14
+ function workflow(branch) {
15
+ return `# Managed by scripts/project-ci; edit through an explicit plan/apply.\nname: YSS project governance\non:\n pull_request:\n push:\n branches: [${JSON.stringify(branch)}]\n workflow_dispatch:\npermissions:\n contents: read\njobs:\n governance:\n name: YSS governance\n runs-on: ubuntu-latest\n timeout-minutes: 15\n steps:\n - uses: actions/checkout@v4\n with:\n fetch-depth: 0\n persist-credentials: false\n - uses: actions/setup-node@v4\n with:\n node-version: '24'\n - uses: actions/setup-python@v5\n with:\n python-version: '3.12'\n - run: python -m pip install jsonschema==4.23.0\n - name: Check current governance evidence\n env:\n BASE_SHA: \${{ github.event.pull_request.base.sha }}\n shell: bash\n run: |\n if [[ -n "$BASE_SHA" ]]; then\n node scripts/project-ci check --root . --base "$BASE_SHA" --json > "$RUNNER_TEMP/yss-governance.json"\n else\n node scripts/project-ci check --root . --json > "$RUNNER_TEMP/yss-governance.json"\n fi\n - uses: actions/upload-artifact@v4\n if: always()\n with:\n name: yss-governance\n path: \${{ runner.temp }}/yss-governance.json\n if-no-files-found: error\n`;
16
+ }
17
+ function configuration(branch,additionalPaths) {
18
+ if(typeof branch!=='string'||!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(branch)||branch.includes('..')||branch.includes('//')||branch.endsWith('/')||branch.endsWith('.lock'))throw new Error('目标分支无效');
19
+ return {schema_version:1,provider:'github',branch,additional_paths:[...new Set(additionalPaths)].sort()};
20
+ }
21
+ function outputs(config) {
22
+ const items=[{ref:CI_WORKFLOW,content:workflow(config.branch)},{ref:CI_CONFIG,content:encode(config)}];
23
+ const receipt={schema_version:1,kind:'project-ci-installation',managed:Object.fromEntries(items.map(x=>[x.ref,digest(x.content)]))};
24
+ return [...items,{ref:CI_RECEIPT,content:encode(receipt)}].map(x=>({...x,sha256:digest(x.content)}));
25
+ }
26
+ export function planProjectCi({root,provider='github',branch,additionalPaths}={}) {
27
+ root=fs.realpathSync(root);
28
+ if(provider!=='github')throw new Error('首版仅支持 --provider github');
29
+ const scope=governanceScope(root);
30
+ const config=configuration(branch??scope.config.branch??'main',additionalPaths??scope.config.additional_paths);
31
+ config.additional_paths.forEach(ref=>safeFile(root,ref));
32
+ const owned=fileBinding(root,CI_RECEIPT)?readDocument(root,CI_RECEIPT):null;
33
+ if(owned&&(owned.schema_version!==1||owned.kind!=='project-ci-installation'||!owned.managed))throw new Error('CI 托管凭据无效');
34
+ const expected=outputs(config),conflicts=[];
35
+ const inputs=[...new Set(['yss-project.yaml',TRACKER,CI_CONFIG,CI_RECEIPT,CI_WORKFLOW,CI_JOURNAL])].sort().map(ref=>({ref,sha256:fileBinding(root,ref)}));
36
+ for(const item of expected) {
37
+ const current=fileBinding(root,item.ref);
38
+ if(item.ref===CI_RECEIPT)continue;
39
+ if(current&&(!owned||owned.managed[item.ref]!==current))conflicts.push({ref:item.ref,reason:'已有人工文件或托管输出已被修改'});
40
+ if(!current&&owned?.managed[item.ref])conflicts.push({ref:item.ref,reason:'托管文件缺失,先恢复或显式处理'});
41
+ }
42
+ if(fileBinding(root,CI_JOURNAL))conflicts.push({ref:CI_JOURNAL,reason:'存在未完成事务,运行 apply --recover'});
43
+ const implementation=['project-ci-install.mjs','project-governance.mjs','governance-io.mjs'].map(ref=>({ref,sha256:digest(fs.readFileSync(new URL(ref,import.meta.url)))}));
44
+ const plan={schema_version:1,kind:'project-ci-plan',root,provider,branch:config.branch,additional_paths:config.additional_paths,roots:[...new Set([scope.trackerRoot,...config.additional_paths])],inputs,implementation,outputs:expected,conflicts,execution_authorization:'not-evaluated'};
45
+ return {...plan,plan_digest:hashObject(plan)};
46
+ }
47
+ function atomicWrite(root,ref,bytes) {
48
+ const target=safeFile(root,ref);fs.mkdirSync(path.dirname(target),{recursive:true});
49
+ const temporary=`${target}.tmp-${randomUUID()}`;
50
+ try{fs.writeFileSync(temporary,bytes,{flag:'wx'});fs.renameSync(temporary,target);}finally{if(fs.existsSync(temporary))fs.unlinkSync(temporary);}
51
+ }
52
+ export function recoverProjectCi(root) {
53
+ root=fs.realpathSync(root);
54
+ governanceScope(root);
55
+ const journal=readDocument(root,CI_JOURNAL);
56
+ if(journal.schema_version!==1||journal.kind!=='project-ci-transaction'||!Array.isArray(journal.files)||journal.files.length!==3||new Set(journal.files.map(x=>x.ref)).size!==3||journal.files.some(x=>![CI_WORKFLOW,CI_CONFIG,CI_RECEIPT].includes(x.ref)))throw new Error('CI 恢复日志无效');
57
+ for(const item of journal.files) {
58
+ const old=item.before===null?null:Buffer.from(item.before,'base64');
59
+ if((old===null?null:digest(old))!==item.before_digest)throw new Error(`恢复备份摘要不一致: ${item.ref}`);
60
+ const current=fileBinding(root,item.ref);
61
+ if(current!==item.after_digest&&current!==item.before_digest)conflict(`恢复冲突,保留后续修改: ${item.ref}`);
62
+ }
63
+ for(const item of [...journal.files].reverse())if(fileBinding(root,item.ref)!==item.before_digest) {
64
+ if(item.before===null)fs.unlinkSync(safeFile(root,item.ref));else atomicWrite(root,item.ref,Buffer.from(item.before,'base64'));
65
+ }
66
+ fs.unlinkSync(safeFile(root,CI_JOURNAL));return {status:'recovered',remote_changed:false};
67
+ }
68
+ export function applyProjectCi({root,plan,recover=false}={}) {
69
+ root=fs.realpathSync(root);
70
+ if(recover)return recoverProjectCi(root);
71
+ const {plan_digest,...body}=plan||{};
72
+ if(plan_digest!==hashObject(body)||plan.schema_version!==1||plan.provider!=='github'||plan.kind!=='project-ci-plan'||plan.root!==root||plan.conflicts.length)throw new Error('CI 计划无效、根不匹配或存在冲突');
73
+ const intended=outputs(configuration(plan.branch,plan.additional_paths));
74
+ if(encode(intended)!==encode(plan.outputs))throw new Error('CI 计划输出被替换');
75
+ if(fileBinding(root,CI_JOURNAL))throw new Error('存在未完成事务,先运行 apply --recover');
76
+ const currentScope=governanceScope(root);
77
+ if(intended.every(x=>fileBinding(root,x.ref)===x.sha256)) {
78
+ const unchanged=plan.inputs.filter(x=>![CI_CONFIG,CI_RECEIPT,CI_WORKFLOW].includes(x.ref)).every(x=>fileBinding(root,x.ref)===x.sha256);
79
+ const sameCode=plan.implementation.every(x=>['project-ci-install.mjs','project-governance.mjs','governance-io.mjs'].includes(x.ref)&&digest(fs.readFileSync(new URL(x.ref,import.meta.url)))===x.sha256);
80
+ if(!unchanged||!sameCode||!plan.roots.includes(currentScope.trackerRoot))conflict('CI 计划输入已变化,请重新 plan');
81
+ return {status:'unchanged',remote_changed:false};
82
+ }
83
+ const current=planProjectCi({root,provider:plan.provider,branch:plan.branch,additionalPaths:plan.additional_paths});
84
+ if(current.plan_digest!==plan.plan_digest)conflict('CI 计划输入已变化,请重新 plan');
85
+ const journal={schema_version:1,kind:'project-ci-transaction',plan_digest,files:intended.map(x=>{const hash=fileBinding(root,x.ref);return {ref:x.ref,before:hash?fs.readFileSync(safeFile(root,x.ref)).toString('base64'):null,before_digest:hash,after_digest:x.sha256};})};
86
+ const journalFile=safeFile(root,CI_JOURNAL);fs.mkdirSync(path.dirname(journalFile),{recursive:true});
87
+ fs.writeFileSync(journalFile,encode(journal),{flag:'wx'});
88
+ try {
89
+ for(const item of intended) {
90
+ const before=journal.files.find(x=>x.ref===item.ref).before_digest;
91
+ if(fileBinding(root,item.ref)!==before)throw new Error(`并发修改: ${item.ref}`);
92
+ atomicWrite(root,item.ref,item.content);
93
+ }
94
+ if(!intended.every(x=>fileBinding(root,x.ref)===x.sha256))throw new Error('CI 写入后并发变化');
95
+ fs.unlinkSync(journalFile);
96
+ }catch(error){try{recoverProjectCi(root);}catch(recovery){throw new Error(`${error.message}; ${recovery.message}`);}throw error;}
97
+ return {status:'applied',files:intended.map(x=>x.ref),remote_changed:false};
98
+ }