create-yss-spec 3.5.2 → 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 (2050) hide show
  1. package/package.json +1 -1
  2. package/src/template/asset-runtime.js +23 -6
  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/codebase-design/SKILL.md +4 -0
  14. package/template/.agents/skills/codebase-design/references/architecture-audit.md +69 -0
  15. package/template/.agents/skills/diagnosing-bugs/SKILL.md +3 -91
  16. package/template/.agents/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  17. package/template/.agents/skills/diagnosing-bugs/references/investigation.md +49 -0
  18. package/template/.agents/skills/frontend-commit/SKILL.md +4 -93
  19. package/template/.agents/skills/git-commit-core/SKILL.md +18 -0
  20. package/template/.agents/skills/git-commit-core/agents/openai.yaml +2 -0
  21. package/template/.agents/skills/java-backend-commit/SKILL.md +4 -96
  22. package/template/.agents/skills/llm-wiki/SKILL.md +12 -13
  23. package/template/.agents/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
  24. package/template/.agents/skills/llm-wiki/references/compile.md +21 -114
  25. package/template/.agents/skills/llm-wiki/references/ingest.md +8 -33
  26. package/template/.agents/skills/llm-wiki/references/lint.md +9 -46
  27. package/template/.agents/skills/llm-wiki/references/query.md +9 -18
  28. package/template/.agents/skills/llm-wiki/references/schema.md +56 -29
  29. package/template/.agents/skills/llm-wiki/references/transactions.md +48 -0
  30. package/template/.agents/skills/llm-wiki/references/writing.md +4 -4
  31. package/template/.agents/skills/llm-wiki/scripts/advise.mjs +46 -58
  32. package/template/.agents/skills/llm-wiki/scripts/advise.test.mjs +11 -16
  33. package/template/.agents/skills/llm-wiki/scripts/core.mjs +262 -0
  34. package/template/.agents/skills/llm-wiki/scripts/extract.mjs +35 -18
  35. package/template/.agents/skills/llm-wiki/scripts/extract.test.mjs +5 -8
  36. package/template/.agents/skills/llm-wiki/scripts/feedback.mjs +51 -0
  37. package/template/.agents/skills/llm-wiki/scripts/inventory.mjs +43 -171
  38. package/template/.agents/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
  39. package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
  40. package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
  41. package/template/.agents/skills/llm-wiki/scripts/migrate.mjs +51 -0
  42. package/template/.agents/skills/llm-wiki/scripts/query.mjs +149 -0
  43. package/template/.agents/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
  44. package/template/.agents/skills/llm-wiki/scripts/sources.mjs +166 -0
  45. package/template/.agents/skills/llm-wiki/scripts/transaction.mjs +384 -0
  46. package/template/.agents/skills/llm-wiki/scripts/v2.test.mjs +354 -0
  47. package/template/.agents/skills/maintaining-skills/references/authoring.md +6 -0
  48. package/template/.agents/skills/prototype/LOGIC.md +1 -1
  49. package/template/.agents/skills/prototype/SKILL.md +5 -19
  50. package/template/.agents/skills/prototype-review/SKILL.md +11 -0
  51. package/template/.agents/skills/prototype-review/references/component-qa.md +32 -0
  52. package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +4 -74
  53. package/template/.agents/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  54. package/template/.agents/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  55. package/template/.agents/skills/to-spec/SKILL.md +9 -62
  56. package/template/.agents/skills/to-tickets/SKILL.md +20 -86
  57. package/template/.agents/skills/using-git-worktrees/SKILL.md +5 -122
  58. package/template/.agents/skills/using-git-worktrees/references/git-fallback.md +46 -0
  59. package/template/.agents/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  60. package/template/.agents/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  61. package/template/.agents/skills/wayfinder/SKILL.md +7 -86
  62. package/template/.agents/skills/wayfinder/references/chart-map.md +14 -0
  63. package/template/.agents/skills/wayfinder/references/map-format.md +49 -0
  64. package/template/.agents/skills/wayfinder/references/scope-and-frontier.md +24 -0
  65. package/template/.agents/skills/wayfinder/references/ticket-types.md +12 -0
  66. package/template/.agents/skills/wayfinder/references/work-map.md +15 -0
  67. package/template/.agents/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  68. package/template/.agents/skills/yedit-table-usage/SKILL.md +5 -172
  69. package/template/.agents/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  70. package/template/.agents/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  71. package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  72. package/template/.agents/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  73. package/template/.agents/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  74. package/template/.agents/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  75. package/template/.agents/skills/yss-design-system/SKILL.md +13 -3
  76. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  77. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  78. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  79. package/template/.agents/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  80. package/template/.agents/skills/yss-design-system/references/data-quality-theme.md +2 -2
  81. package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +1 -1
  82. package/template/.agents/skills/yss-design-system/references/design-system.md +3 -3
  83. package/template/.agents/skills/yss-design-system/references/enterprise-craft.md +33 -0
  84. package/template/.agents/skills/yss-design-system/references/page-composition.md +24 -0
  85. package/template/.agents/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  86. package/template/.agents/skills/yss-design-system/references/search-date-theme.md +19 -0
  87. package/template/.agents/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  88. package/template/.agents/skills/yss-hook/SKILL.md +8 -102
  89. package/template/.agents/skills/yss-hook/references/async-actions.md +49 -0
  90. package/template/.agents/skills/yss-hook/references/list-pagination.md +46 -0
  91. package/template/.agents/skills/yss-hook/references/polling.md +20 -0
  92. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +8 -3
  93. package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
  94. package/template/.agents/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  95. package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
  96. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +2 -49
  97. package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  98. package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  99. package/template/.agents/skills/yss-openapi-governance/SKILL.md +2 -48
  100. package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  101. package/template/.agents/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  102. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +24 -20
  103. package/template/.agents/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
  104. package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  105. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +429 -384
  106. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  107. package/template/.agents/skills/yss-product-lifecycle/references/plan-requirements.md +12 -0
  108. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -3
  109. package/template/.agents/skills/yss-prototype-stage/SKILL.md +27 -8
  110. package/template/.agents/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  111. package/template/.agents/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  112. package/template/.agents/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  113. package/template/.agents/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  114. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  115. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  116. package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  117. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  118. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  119. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  120. package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  121. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  122. package/template/.agents/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  123. package/template/.agents/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  124. package/template/.agents/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  125. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  126. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  127. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  128. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  129. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  130. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  131. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  132. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  133. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  134. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  135. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  136. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  137. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  138. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  139. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  140. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  141. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  142. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  143. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  144. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  145. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  146. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  147. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  148. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  149. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  150. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  151. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  152. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  153. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  154. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  155. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  156. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  157. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  158. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  159. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  160. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  161. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  162. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  163. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  164. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  165. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  166. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  167. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  168. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  169. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  170. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  171. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  172. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  173. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  174. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  175. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  176. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  177. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  178. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  179. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  180. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  181. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  182. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  183. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  184. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  185. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  186. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  187. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  188. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  189. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  190. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  191. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  192. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  193. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  194. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  195. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  196. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  197. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  198. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  199. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  200. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  201. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  202. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  203. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  204. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  205. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  206. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  207. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  208. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  209. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  210. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  211. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  212. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  213. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  214. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  215. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  216. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  217. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  218. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  219. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  220. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  221. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  222. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  223. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  224. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  225. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  226. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  227. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  228. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  229. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  230. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  231. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  232. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  233. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  234. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  235. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  236. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  237. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  238. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  239. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  240. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  241. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  242. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  243. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  244. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  245. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  246. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  247. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  248. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  249. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  250. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  251. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  252. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  253. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  254. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  255. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  256. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  257. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  258. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  259. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  260. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  261. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  262. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  263. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  264. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  265. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  266. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  267. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  268. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  269. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  270. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  271. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  272. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  273. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  274. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  275. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  276. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  277. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  278. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  279. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  280. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  281. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  282. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  283. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  284. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  285. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  286. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  287. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  288. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  289. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  290. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  291. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  292. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  293. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  294. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  295. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  296. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  297. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  298. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  299. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  300. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  301. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  302. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  303. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  304. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  305. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  306. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  307. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  308. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  309. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  310. package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  311. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  312. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  313. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  314. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  315. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  316. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  317. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  318. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  319. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  320. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  321. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  322. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  323. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  324. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  325. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  326. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  327. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  328. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  329. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  330. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  331. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  332. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  333. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  334. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  335. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  336. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  337. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  338. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  339. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  340. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  341. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  342. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  343. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  344. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  345. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  346. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  347. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  348. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  349. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  350. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  351. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  352. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  353. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  354. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  355. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  356. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  357. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  358. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  359. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  360. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  361. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  362. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  363. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  364. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  365. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  366. package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  367. package/template/.agents/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  368. package/template/.agents/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  369. package/template/.agents/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  370. package/template/.agents/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  371. package/template/.agents/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  372. package/template/.agents/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  373. package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  374. package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  375. package/template/.agents/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  376. package/template/.agents/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  377. package/template/.agents/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  378. package/template/.agents/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  379. package/template/.agents/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  380. package/template/.agents/skills/yss-prototype-stage/references/usability-research.md +26 -0
  381. package/template/.agents/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  382. package/template/.agents/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  383. package/template/.agents/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  384. package/template/.agents/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  385. package/template/.agents/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  386. package/template/.agents/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  387. package/template/.agents/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  388. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  389. package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  390. package/template/.agents/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  391. package/template/.agents/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  392. package/template/.agents/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  393. package/template/.agents/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  394. package/template/.agents/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  395. package/template/.agents/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  396. package/template/.agents/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  397. package/template/.agents/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  398. package/template/.agents/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  399. package/template/.agents/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  400. package/template/.agents/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  401. package/template/.agents/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  402. package/template/.agents/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  403. package/template/.agents/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  404. package/template/.agents/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  405. package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  406. package/template/.agents/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  407. package/template/.agents/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  408. package/template/.agents/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  409. package/template/.agents/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  410. package/template/.agents/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  411. package/template/.agents/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  412. package/template/.agents/skills/yss-research/SKILL.md +4 -0
  413. package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -0
  414. package/template/.agents/skills/yss-technical-design/SKILL.md +4 -0
  415. package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  416. package/template/.agents/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  417. package/template/.agents/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  418. package/template/.agents/skills/ytable-usage/SKILL.md +3 -191
  419. package/template/.agents/skills/ytable-usage/references/selection-and-batch.md +30 -0
  420. package/template/.agents/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  421. package/template/.codex/skills/archify/SKILL.md +4 -52
  422. package/template/.codex/skills/archify/references/authoring-notes.md +12 -0
  423. package/template/.codex/skills/archify/references/authoring-workflow.md +25 -0
  424. package/template/.codex/skills/archify/references/delivery-workflow.md +25 -0
  425. package/template/.codex/skills/archify/references/upstream-updates.md +12 -0
  426. package/template/.codex/skills/code-review/SKILL.md +3 -34
  427. package/template/.codex/skills/code-review/references/legacy-convergence.md +5 -0
  428. package/template/.codex/skills/code-review/references/review-axis-checklists.md +18 -0
  429. package/template/.codex/skills/code-review/references/smell-baseline.md +23 -0
  430. package/template/.codex/skills/codebase-design/SKILL.md +4 -0
  431. package/template/.codex/skills/codebase-design/references/architecture-audit.md +69 -0
  432. package/template/.codex/skills/diagnosing-bugs/SKILL.md +3 -91
  433. package/template/.codex/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  434. package/template/.codex/skills/diagnosing-bugs/references/investigation.md +49 -0
  435. package/template/.codex/skills/frontend-commit/SKILL.md +4 -93
  436. package/template/.codex/skills/git-commit-core/SKILL.md +18 -0
  437. package/template/.codex/skills/git-commit-core/agents/openai.yaml +2 -0
  438. package/template/.codex/skills/java-backend-commit/SKILL.md +4 -96
  439. package/template/.codex/skills/llm-wiki/SKILL.md +12 -13
  440. package/template/.codex/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
  441. package/template/.codex/skills/llm-wiki/references/compile.md +21 -114
  442. package/template/.codex/skills/llm-wiki/references/ingest.md +8 -33
  443. package/template/.codex/skills/llm-wiki/references/lint.md +9 -46
  444. package/template/.codex/skills/llm-wiki/references/query.md +9 -18
  445. package/template/.codex/skills/llm-wiki/references/schema.md +56 -29
  446. package/template/.codex/skills/llm-wiki/references/transactions.md +48 -0
  447. package/template/.codex/skills/llm-wiki/references/writing.md +4 -4
  448. package/template/.codex/skills/llm-wiki/scripts/advise.mjs +46 -58
  449. package/template/.codex/skills/llm-wiki/scripts/advise.test.mjs +11 -16
  450. package/template/.codex/skills/llm-wiki/scripts/core.mjs +262 -0
  451. package/template/.codex/skills/llm-wiki/scripts/extract.mjs +35 -18
  452. package/template/.codex/skills/llm-wiki/scripts/extract.test.mjs +5 -8
  453. package/template/.codex/skills/llm-wiki/scripts/feedback.mjs +51 -0
  454. package/template/.codex/skills/llm-wiki/scripts/inventory.mjs +43 -171
  455. package/template/.codex/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
  456. package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
  457. package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
  458. package/template/.codex/skills/llm-wiki/scripts/migrate.mjs +51 -0
  459. package/template/.codex/skills/llm-wiki/scripts/query.mjs +149 -0
  460. package/template/.codex/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
  461. package/template/.codex/skills/llm-wiki/scripts/sources.mjs +166 -0
  462. package/template/.codex/skills/llm-wiki/scripts/transaction.mjs +384 -0
  463. package/template/.codex/skills/llm-wiki/scripts/v2.test.mjs +354 -0
  464. package/template/.codex/skills/maintaining-skills/references/authoring.md +6 -0
  465. package/template/.codex/skills/prototype/LOGIC.md +1 -1
  466. package/template/.codex/skills/prototype/SKILL.md +5 -19
  467. package/template/.codex/skills/prototype-review/SKILL.md +11 -0
  468. package/template/.codex/skills/prototype-review/references/component-qa.md +32 -0
  469. package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +4 -74
  470. package/template/.codex/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  471. package/template/.codex/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  472. package/template/.codex/skills/to-spec/SKILL.md +9 -62
  473. package/template/.codex/skills/to-tickets/SKILL.md +20 -86
  474. package/template/.codex/skills/using-git-worktrees/SKILL.md +5 -122
  475. package/template/.codex/skills/using-git-worktrees/references/git-fallback.md +46 -0
  476. package/template/.codex/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  477. package/template/.codex/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  478. package/template/.codex/skills/wayfinder/SKILL.md +7 -86
  479. package/template/.codex/skills/wayfinder/references/chart-map.md +14 -0
  480. package/template/.codex/skills/wayfinder/references/map-format.md +49 -0
  481. package/template/.codex/skills/wayfinder/references/scope-and-frontier.md +24 -0
  482. package/template/.codex/skills/wayfinder/references/ticket-types.md +12 -0
  483. package/template/.codex/skills/wayfinder/references/work-map.md +15 -0
  484. package/template/.codex/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  485. package/template/.codex/skills/yedit-table-usage/SKILL.md +5 -172
  486. package/template/.codex/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  487. package/template/.codex/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  488. package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  489. package/template/.codex/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  490. package/template/.codex/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  491. package/template/.codex/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  492. package/template/.codex/skills/yss-design-system/SKILL.md +13 -3
  493. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  494. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  495. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  496. package/template/.codex/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  497. package/template/.codex/skills/yss-design-system/references/data-quality-theme.md +2 -2
  498. package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +1 -1
  499. package/template/.codex/skills/yss-design-system/references/design-system.md +3 -3
  500. package/template/.codex/skills/yss-design-system/references/enterprise-craft.md +33 -0
  501. package/template/.codex/skills/yss-design-system/references/page-composition.md +24 -0
  502. package/template/.codex/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  503. package/template/.codex/skills/yss-design-system/references/search-date-theme.md +19 -0
  504. package/template/.codex/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  505. package/template/.codex/skills/yss-hook/SKILL.md +8 -102
  506. package/template/.codex/skills/yss-hook/references/async-actions.md +49 -0
  507. package/template/.codex/skills/yss-hook/references/list-pagination.md +46 -0
  508. package/template/.codex/skills/yss-hook/references/polling.md +20 -0
  509. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +8 -3
  510. package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
  511. package/template/.codex/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  512. package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
  513. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +2 -49
  514. package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  515. package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  516. package/template/.codex/skills/yss-openapi-governance/SKILL.md +2 -48
  517. package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  518. package/template/.codex/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  519. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +24 -20
  520. package/template/.codex/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
  521. package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  522. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +429 -384
  523. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  524. package/template/.codex/skills/yss-product-lifecycle/references/plan-requirements.md +12 -0
  525. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -3
  526. package/template/.codex/skills/yss-prototype-stage/SKILL.md +27 -8
  527. package/template/.codex/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  528. package/template/.codex/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  529. package/template/.codex/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  530. package/template/.codex/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  531. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  532. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  533. package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  534. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  535. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  536. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  537. package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  538. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  539. package/template/.codex/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  540. package/template/.codex/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  541. package/template/.codex/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  542. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  543. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  544. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  545. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  546. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  547. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  548. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  549. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  550. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  551. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  552. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  553. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  554. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  555. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  556. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  557. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  558. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  559. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  560. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  561. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  562. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  563. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  564. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  565. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  566. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  567. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  568. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  569. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  570. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  571. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  572. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  573. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  574. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  575. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  576. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  577. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  578. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  579. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  580. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  581. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  582. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  583. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  584. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  585. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  586. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  587. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  588. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  589. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  590. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  591. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  592. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  593. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  594. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  595. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  596. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  597. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  598. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  599. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  600. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  601. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  602. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  603. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  604. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  605. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  606. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  607. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  608. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  609. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  610. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  611. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  612. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  613. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  614. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  615. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  616. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  617. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  618. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  619. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  620. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  621. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  622. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  623. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  624. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  625. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  626. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  627. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  628. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  629. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  630. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  631. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  632. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  633. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  634. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  635. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  636. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  637. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  638. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  639. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  640. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  641. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  642. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  643. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  644. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  645. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  646. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  647. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  648. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  649. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  650. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  651. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  652. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  653. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  654. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  655. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  656. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  657. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  658. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  659. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  660. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  661. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  662. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  663. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  664. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  665. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  666. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  667. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  668. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  669. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  670. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  671. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  672. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  673. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  674. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  675. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  676. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  677. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  678. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  679. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  680. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  681. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  682. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  683. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  684. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  685. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  686. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  687. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  688. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  689. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  690. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  691. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  692. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  693. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  694. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  695. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  696. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  697. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  698. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  699. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  700. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  701. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  702. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  703. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  704. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  705. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  706. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  707. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  708. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  709. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  710. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  711. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  712. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  713. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  714. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  715. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  716. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  717. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  718. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  719. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  720. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  721. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  722. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  723. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  724. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  725. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  726. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  727. package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  728. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  729. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  730. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  731. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  732. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  733. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  734. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  735. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  736. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  737. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  738. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  739. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  740. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  741. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  742. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  743. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  744. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  745. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  746. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  747. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  748. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  749. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  750. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  751. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  752. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  753. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  754. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  755. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  756. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  757. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  758. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  759. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  760. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  761. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  762. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  763. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  764. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  765. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  766. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  767. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  768. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  769. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  770. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  771. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  772. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  773. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  774. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  775. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  776. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  777. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  778. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  779. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  780. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  781. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  782. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  783. package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  784. package/template/.codex/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  785. package/template/.codex/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  786. package/template/.codex/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  787. package/template/.codex/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  788. package/template/.codex/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  789. package/template/.codex/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  790. package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  791. package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  792. package/template/.codex/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  793. package/template/.codex/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  794. package/template/.codex/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  795. package/template/.codex/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  796. package/template/.codex/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  797. package/template/.codex/skills/yss-prototype-stage/references/usability-research.md +26 -0
  798. package/template/.codex/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  799. package/template/.codex/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  800. package/template/.codex/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  801. package/template/.codex/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  802. package/template/.codex/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  803. package/template/.codex/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  804. package/template/.codex/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  805. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  806. package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  807. package/template/.codex/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  808. package/template/.codex/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  809. package/template/.codex/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  810. package/template/.codex/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  811. package/template/.codex/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  812. package/template/.codex/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  813. package/template/.codex/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  814. package/template/.codex/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  815. package/template/.codex/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  816. package/template/.codex/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  817. package/template/.codex/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  818. package/template/.codex/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  819. package/template/.codex/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  820. package/template/.codex/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  821. package/template/.codex/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  822. package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  823. package/template/.codex/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  824. package/template/.codex/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  825. package/template/.codex/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  826. package/template/.codex/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  827. package/template/.codex/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  828. package/template/.codex/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  829. package/template/.codex/skills/yss-research/SKILL.md +4 -0
  830. package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -0
  831. package/template/.codex/skills/yss-technical-design/SKILL.md +4 -0
  832. package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  833. package/template/.codex/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  834. package/template/.codex/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  835. package/template/.codex/skills/ytable-usage/SKILL.md +3 -191
  836. package/template/.codex/skills/ytable-usage/references/selection-and-batch.md +30 -0
  837. package/template/.codex/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  838. package/template/.cursor/skills/archify/SKILL.md +4 -52
  839. package/template/.cursor/skills/archify/references/authoring-notes.md +12 -0
  840. package/template/.cursor/skills/archify/references/authoring-workflow.md +25 -0
  841. package/template/.cursor/skills/archify/references/delivery-workflow.md +25 -0
  842. package/template/.cursor/skills/archify/references/upstream-updates.md +12 -0
  843. package/template/.cursor/skills/code-review/SKILL.md +3 -34
  844. package/template/.cursor/skills/code-review/references/legacy-convergence.md +5 -0
  845. package/template/.cursor/skills/code-review/references/review-axis-checklists.md +18 -0
  846. package/template/.cursor/skills/code-review/references/smell-baseline.md +23 -0
  847. package/template/.cursor/skills/codebase-design/SKILL.md +4 -0
  848. package/template/.cursor/skills/codebase-design/references/architecture-audit.md +69 -0
  849. package/template/.cursor/skills/diagnosing-bugs/SKILL.md +3 -91
  850. package/template/.cursor/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  851. package/template/.cursor/skills/diagnosing-bugs/references/investigation.md +49 -0
  852. package/template/.cursor/skills/frontend-commit/SKILL.md +4 -93
  853. package/template/.cursor/skills/git-commit-core/SKILL.md +18 -0
  854. package/template/.cursor/skills/git-commit-core/agents/openai.yaml +2 -0
  855. package/template/.cursor/skills/java-backend-commit/SKILL.md +4 -96
  856. package/template/.cursor/skills/llm-wiki/SKILL.md +12 -13
  857. package/template/.cursor/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
  858. package/template/.cursor/skills/llm-wiki/references/compile.md +21 -114
  859. package/template/.cursor/skills/llm-wiki/references/ingest.md +8 -33
  860. package/template/.cursor/skills/llm-wiki/references/lint.md +9 -46
  861. package/template/.cursor/skills/llm-wiki/references/query.md +9 -18
  862. package/template/.cursor/skills/llm-wiki/references/schema.md +56 -29
  863. package/template/.cursor/skills/llm-wiki/references/transactions.md +48 -0
  864. package/template/.cursor/skills/llm-wiki/references/writing.md +4 -4
  865. package/template/.cursor/skills/llm-wiki/scripts/advise.mjs +46 -58
  866. package/template/.cursor/skills/llm-wiki/scripts/advise.test.mjs +11 -16
  867. package/template/.cursor/skills/llm-wiki/scripts/core.mjs +262 -0
  868. package/template/.cursor/skills/llm-wiki/scripts/extract.mjs +35 -18
  869. package/template/.cursor/skills/llm-wiki/scripts/extract.test.mjs +5 -8
  870. package/template/.cursor/skills/llm-wiki/scripts/feedback.mjs +51 -0
  871. package/template/.cursor/skills/llm-wiki/scripts/inventory.mjs +43 -171
  872. package/template/.cursor/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
  873. package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
  874. package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
  875. package/template/.cursor/skills/llm-wiki/scripts/migrate.mjs +51 -0
  876. package/template/.cursor/skills/llm-wiki/scripts/query.mjs +149 -0
  877. package/template/.cursor/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
  878. package/template/.cursor/skills/llm-wiki/scripts/sources.mjs +166 -0
  879. package/template/.cursor/skills/llm-wiki/scripts/transaction.mjs +384 -0
  880. package/template/.cursor/skills/llm-wiki/scripts/v2.test.mjs +354 -0
  881. package/template/.cursor/skills/maintaining-skills/references/authoring.md +6 -0
  882. package/template/.cursor/skills/prototype/LOGIC.md +1 -1
  883. package/template/.cursor/skills/prototype/SKILL.md +5 -19
  884. package/template/.cursor/skills/prototype-review/SKILL.md +11 -0
  885. package/template/.cursor/skills/prototype-review/references/component-qa.md +32 -0
  886. package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +4 -74
  887. package/template/.cursor/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  888. package/template/.cursor/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  889. package/template/.cursor/skills/to-spec/SKILL.md +9 -62
  890. package/template/.cursor/skills/to-tickets/SKILL.md +20 -86
  891. package/template/.cursor/skills/using-git-worktrees/SKILL.md +5 -122
  892. package/template/.cursor/skills/using-git-worktrees/references/git-fallback.md +46 -0
  893. package/template/.cursor/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  894. package/template/.cursor/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  895. package/template/.cursor/skills/wayfinder/SKILL.md +7 -86
  896. package/template/.cursor/skills/wayfinder/references/chart-map.md +14 -0
  897. package/template/.cursor/skills/wayfinder/references/map-format.md +49 -0
  898. package/template/.cursor/skills/wayfinder/references/scope-and-frontier.md +24 -0
  899. package/template/.cursor/skills/wayfinder/references/ticket-types.md +12 -0
  900. package/template/.cursor/skills/wayfinder/references/work-map.md +15 -0
  901. package/template/.cursor/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  902. package/template/.cursor/skills/yedit-table-usage/SKILL.md +5 -172
  903. package/template/.cursor/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  904. package/template/.cursor/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  905. package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  906. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  907. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  908. package/template/.cursor/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  909. package/template/.cursor/skills/yss-design-system/SKILL.md +13 -3
  910. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  911. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  912. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  913. package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  914. package/template/.cursor/skills/yss-design-system/references/data-quality-theme.md +2 -2
  915. package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +1 -1
  916. package/template/.cursor/skills/yss-design-system/references/design-system.md +3 -3
  917. package/template/.cursor/skills/yss-design-system/references/enterprise-craft.md +33 -0
  918. package/template/.cursor/skills/yss-design-system/references/page-composition.md +24 -0
  919. package/template/.cursor/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  920. package/template/.cursor/skills/yss-design-system/references/search-date-theme.md +19 -0
  921. package/template/.cursor/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  922. package/template/.cursor/skills/yss-hook/SKILL.md +8 -102
  923. package/template/.cursor/skills/yss-hook/references/async-actions.md +49 -0
  924. package/template/.cursor/skills/yss-hook/references/list-pagination.md +46 -0
  925. package/template/.cursor/skills/yss-hook/references/polling.md +20 -0
  926. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +8 -3
  927. package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
  928. package/template/.cursor/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  929. package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
  930. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +2 -49
  931. package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  932. package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  933. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +2 -48
  934. package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  935. package/template/.cursor/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  936. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +24 -20
  937. package/template/.cursor/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
  938. package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  939. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +429 -384
  940. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  941. package/template/.cursor/skills/yss-product-lifecycle/references/plan-requirements.md +12 -0
  942. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -3
  943. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +27 -8
  944. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  945. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  946. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  947. package/template/.cursor/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  948. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  949. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  950. package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  951. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  952. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  953. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  954. package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  955. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  956. package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  957. package/template/.cursor/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  958. package/template/.cursor/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  959. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  960. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  961. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  962. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  963. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  964. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  965. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  966. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  967. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  968. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  969. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  970. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  971. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  972. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  973. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  974. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  975. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  976. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  977. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  978. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  979. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  980. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  981. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  982. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  983. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  984. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  985. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  986. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  987. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  988. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  989. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  990. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  991. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  992. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  993. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  994. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  995. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  996. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  997. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  998. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  999. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  1000. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  1001. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  1002. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  1003. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  1004. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  1005. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  1006. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  1007. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  1008. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  1009. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  1010. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  1011. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  1012. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  1013. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  1014. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  1015. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  1016. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  1017. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  1018. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  1019. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  1020. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  1021. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  1022. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  1023. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  1024. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  1025. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  1026. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  1027. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  1028. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  1029. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  1030. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  1031. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  1032. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  1033. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  1034. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  1035. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  1036. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  1037. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  1038. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  1039. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  1040. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  1041. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  1042. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  1043. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  1044. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  1045. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  1046. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  1047. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  1048. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  1049. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  1050. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  1051. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  1052. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  1053. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  1054. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  1055. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  1056. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  1057. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  1058. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  1059. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  1060. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  1061. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  1062. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  1063. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  1064. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  1065. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  1066. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  1067. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  1068. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  1069. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  1070. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  1071. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  1072. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  1073. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  1074. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  1075. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  1076. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  1077. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  1078. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  1079. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  1080. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  1081. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  1082. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  1083. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  1084. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  1085. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  1086. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  1087. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  1088. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  1089. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  1090. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  1091. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  1092. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  1093. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  1094. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  1095. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  1096. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  1097. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  1098. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  1099. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  1100. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  1101. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  1102. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  1103. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  1104. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  1105. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  1106. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  1107. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  1108. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  1109. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  1110. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  1111. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  1112. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  1113. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  1114. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  1115. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  1116. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  1117. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  1118. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  1119. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  1120. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  1121. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  1122. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  1123. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  1124. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  1125. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  1126. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  1127. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  1128. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  1129. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  1130. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  1131. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  1132. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  1133. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  1134. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  1135. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  1136. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  1137. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  1138. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  1139. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  1140. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  1141. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  1142. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  1143. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  1144. package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  1145. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  1146. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  1147. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  1148. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  1149. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  1150. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  1151. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  1152. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  1153. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  1154. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  1155. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  1156. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  1157. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  1158. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  1159. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  1160. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  1161. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  1162. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  1163. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  1164. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  1165. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  1166. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  1167. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  1168. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  1169. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  1170. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  1171. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  1172. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  1173. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  1174. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  1175. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  1176. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  1177. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  1178. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  1179. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  1180. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  1181. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  1182. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  1183. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  1184. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  1185. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  1186. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  1187. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  1188. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  1189. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  1190. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  1191. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  1192. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  1193. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  1194. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  1195. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  1196. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  1197. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  1198. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  1199. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  1200. package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  1201. package/template/.cursor/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  1202. package/template/.cursor/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  1203. package/template/.cursor/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  1204. package/template/.cursor/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  1205. package/template/.cursor/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  1206. package/template/.cursor/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  1207. package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  1208. package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  1209. package/template/.cursor/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  1210. package/template/.cursor/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  1211. package/template/.cursor/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  1212. package/template/.cursor/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  1213. package/template/.cursor/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  1214. package/template/.cursor/skills/yss-prototype-stage/references/usability-research.md +26 -0
  1215. package/template/.cursor/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  1216. package/template/.cursor/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  1217. package/template/.cursor/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  1218. package/template/.cursor/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  1219. package/template/.cursor/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  1220. package/template/.cursor/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  1221. package/template/.cursor/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  1222. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  1223. package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  1224. package/template/.cursor/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  1225. package/template/.cursor/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  1226. package/template/.cursor/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  1227. package/template/.cursor/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  1228. package/template/.cursor/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  1229. package/template/.cursor/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  1230. package/template/.cursor/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  1231. package/template/.cursor/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  1232. package/template/.cursor/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  1233. package/template/.cursor/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  1234. package/template/.cursor/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  1235. package/template/.cursor/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  1236. package/template/.cursor/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  1237. package/template/.cursor/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  1238. package/template/.cursor/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  1239. package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  1240. package/template/.cursor/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  1241. package/template/.cursor/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  1242. package/template/.cursor/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  1243. package/template/.cursor/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  1244. package/template/.cursor/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  1245. package/template/.cursor/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  1246. package/template/.cursor/skills/yss-research/SKILL.md +4 -0
  1247. package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -0
  1248. package/template/.cursor/skills/yss-technical-design/SKILL.md +4 -0
  1249. package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  1250. package/template/.cursor/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  1251. package/template/.cursor/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  1252. package/template/.cursor/skills/ytable-usage/SKILL.md +3 -191
  1253. package/template/.cursor/skills/ytable-usage/references/selection-and-batch.md +30 -0
  1254. package/template/.cursor/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  1255. package/template/.pi/skills/archify/SKILL.md +4 -52
  1256. package/template/.pi/skills/archify/references/authoring-notes.md +12 -0
  1257. package/template/.pi/skills/archify/references/authoring-workflow.md +25 -0
  1258. package/template/.pi/skills/archify/references/delivery-workflow.md +25 -0
  1259. package/template/.pi/skills/archify/references/upstream-updates.md +12 -0
  1260. package/template/.pi/skills/code-review/SKILL.md +3 -34
  1261. package/template/.pi/skills/code-review/references/legacy-convergence.md +5 -0
  1262. package/template/.pi/skills/code-review/references/review-axis-checklists.md +18 -0
  1263. package/template/.pi/skills/code-review/references/smell-baseline.md +23 -0
  1264. package/template/.pi/skills/codebase-design/SKILL.md +4 -0
  1265. package/template/.pi/skills/codebase-design/references/architecture-audit.md +69 -0
  1266. package/template/.pi/skills/diagnosing-bugs/SKILL.md +3 -91
  1267. package/template/.pi/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
  1268. package/template/.pi/skills/diagnosing-bugs/references/investigation.md +49 -0
  1269. package/template/.pi/skills/frontend-commit/SKILL.md +4 -93
  1270. package/template/.pi/skills/git-commit-core/SKILL.md +18 -0
  1271. package/template/.pi/skills/git-commit-core/agents/openai.yaml +2 -0
  1272. package/template/.pi/skills/java-backend-commit/SKILL.md +4 -96
  1273. package/template/.pi/skills/llm-wiki/SKILL.md +12 -13
  1274. package/template/.pi/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
  1275. package/template/.pi/skills/llm-wiki/references/compile.md +21 -114
  1276. package/template/.pi/skills/llm-wiki/references/ingest.md +8 -33
  1277. package/template/.pi/skills/llm-wiki/references/lint.md +9 -46
  1278. package/template/.pi/skills/llm-wiki/references/query.md +9 -18
  1279. package/template/.pi/skills/llm-wiki/references/schema.md +56 -29
  1280. package/template/.pi/skills/llm-wiki/references/transactions.md +48 -0
  1281. package/template/.pi/skills/llm-wiki/references/writing.md +4 -4
  1282. package/template/.pi/skills/llm-wiki/scripts/advise.mjs +46 -58
  1283. package/template/.pi/skills/llm-wiki/scripts/advise.test.mjs +11 -16
  1284. package/template/.pi/skills/llm-wiki/scripts/core.mjs +262 -0
  1285. package/template/.pi/skills/llm-wiki/scripts/extract.mjs +35 -18
  1286. package/template/.pi/skills/llm-wiki/scripts/extract.test.mjs +5 -8
  1287. package/template/.pi/skills/llm-wiki/scripts/feedback.mjs +51 -0
  1288. package/template/.pi/skills/llm-wiki/scripts/inventory.mjs +43 -171
  1289. package/template/.pi/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
  1290. package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
  1291. package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
  1292. package/template/.pi/skills/llm-wiki/scripts/migrate.mjs +51 -0
  1293. package/template/.pi/skills/llm-wiki/scripts/query.mjs +149 -0
  1294. package/template/.pi/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
  1295. package/template/.pi/skills/llm-wiki/scripts/sources.mjs +166 -0
  1296. package/template/.pi/skills/llm-wiki/scripts/transaction.mjs +384 -0
  1297. package/template/.pi/skills/llm-wiki/scripts/v2.test.mjs +354 -0
  1298. package/template/.pi/skills/maintaining-skills/references/authoring.md +6 -0
  1299. package/template/.pi/skills/prototype/LOGIC.md +1 -1
  1300. package/template/.pi/skills/prototype/SKILL.md +5 -19
  1301. package/template/.pi/skills/prototype-review/SKILL.md +11 -0
  1302. package/template/.pi/skills/prototype-review/references/component-qa.md +32 -0
  1303. package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +4 -74
  1304. package/template/.pi/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
  1305. package/template/.pi/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
  1306. package/template/.pi/skills/to-spec/SKILL.md +9 -62
  1307. package/template/.pi/skills/to-tickets/SKILL.md +20 -86
  1308. package/template/.pi/skills/using-git-worktrees/SKILL.md +5 -122
  1309. package/template/.pi/skills/using-git-worktrees/references/git-fallback.md +46 -0
  1310. package/template/.pi/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
  1311. package/template/.pi/skills/using-git-worktrees/references/troubleshooting.md +47 -0
  1312. package/template/.pi/skills/wayfinder/SKILL.md +7 -86
  1313. package/template/.pi/skills/wayfinder/references/chart-map.md +14 -0
  1314. package/template/.pi/skills/wayfinder/references/map-format.md +49 -0
  1315. package/template/.pi/skills/wayfinder/references/scope-and-frontier.md +24 -0
  1316. package/template/.pi/skills/wayfinder/references/ticket-types.md +12 -0
  1317. package/template/.pi/skills/wayfinder/references/work-map.md +15 -0
  1318. package/template/.pi/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
  1319. package/template/.pi/skills/yedit-table-usage/SKILL.md +5 -172
  1320. package/template/.pi/skills/yedit-table-usage/references/editable-table-example.md +141 -0
  1321. package/template/.pi/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
  1322. package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
  1323. package/template/.pi/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
  1324. package/template/.pi/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
  1325. package/template/.pi/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
  1326. package/template/.pi/skills/yss-design-system/SKILL.md +13 -3
  1327. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
  1328. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
  1329. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
  1330. package/template/.pi/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
  1331. package/template/.pi/skills/yss-design-system/references/data-quality-theme.md +2 -2
  1332. package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +1 -1
  1333. package/template/.pi/skills/yss-design-system/references/design-system.md +3 -3
  1334. package/template/.pi/skills/yss-design-system/references/enterprise-craft.md +33 -0
  1335. package/template/.pi/skills/yss-design-system/references/page-composition.md +24 -0
  1336. package/template/.pi/skills/yss-design-system/references/prototype-default-theme.md +26 -0
  1337. package/template/.pi/skills/yss-design-system/references/search-date-theme.md +19 -0
  1338. package/template/.pi/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
  1339. package/template/.pi/skills/yss-hook/SKILL.md +8 -102
  1340. package/template/.pi/skills/yss-hook/references/async-actions.md +49 -0
  1341. package/template/.pi/skills/yss-hook/references/list-pagination.md +46 -0
  1342. package/template/.pi/skills/yss-hook/references/polling.md +20 -0
  1343. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +8 -3
  1344. package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
  1345. package/template/.pi/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
  1346. package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
  1347. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +2 -49
  1348. package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +45 -0
  1349. package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
  1350. package/template/.pi/skills/yss-openapi-governance/SKILL.md +2 -48
  1351. package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
  1352. package/template/.pi/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
  1353. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +24 -20
  1354. package/template/.pi/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
  1355. package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
  1356. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +429 -384
  1357. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  1358. package/template/.pi/skills/yss-product-lifecycle/references/plan-requirements.md +12 -0
  1359. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -3
  1360. package/template/.pi/skills/yss-prototype-stage/SKILL.md +27 -8
  1361. package/template/.pi/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
  1362. package/template/.pi/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
  1363. package/template/.pi/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
  1364. package/template/.pi/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
  1365. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
  1366. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
  1367. package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
  1368. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
  1369. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
  1370. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
  1371. package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
  1372. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
  1373. package/template/.pi/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
  1374. package/template/.pi/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
  1375. package/template/.pi/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
  1376. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
  1377. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
  1378. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
  1379. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
  1380. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
  1381. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
  1382. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
  1383. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
  1384. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
  1385. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
  1386. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
  1387. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
  1388. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
  1389. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
  1390. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
  1391. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
  1392. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
  1393. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
  1394. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
  1395. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
  1396. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
  1397. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
  1398. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
  1399. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
  1400. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
  1401. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
  1402. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
  1403. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
  1404. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
  1405. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
  1406. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
  1407. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
  1408. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
  1409. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
  1410. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
  1411. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
  1412. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
  1413. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
  1414. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
  1415. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
  1416. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
  1417. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
  1418. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
  1419. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
  1420. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
  1421. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
  1422. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
  1423. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
  1424. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
  1425. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
  1426. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
  1427. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
  1428. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
  1429. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
  1430. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
  1431. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
  1432. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
  1433. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
  1434. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
  1435. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
  1436. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
  1437. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
  1438. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
  1439. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
  1440. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
  1441. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
  1442. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
  1443. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
  1444. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
  1445. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
  1446. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
  1447. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
  1448. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
  1449. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
  1450. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
  1451. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
  1452. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
  1453. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
  1454. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
  1455. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
  1456. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
  1457. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
  1458. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
  1459. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
  1460. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
  1461. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
  1462. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
  1463. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
  1464. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
  1465. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
  1466. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
  1467. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
  1468. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
  1469. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
  1470. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
  1471. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
  1472. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
  1473. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
  1474. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
  1475. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
  1476. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
  1477. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
  1478. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
  1479. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
  1480. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
  1481. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
  1482. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
  1483. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
  1484. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
  1485. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
  1486. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
  1487. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
  1488. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
  1489. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
  1490. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
  1491. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
  1492. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
  1493. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
  1494. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
  1495. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
  1496. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
  1497. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
  1498. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
  1499. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
  1500. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
  1501. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
  1502. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
  1503. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
  1504. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
  1505. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
  1506. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
  1507. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
  1508. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
  1509. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
  1510. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
  1511. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
  1512. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
  1513. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
  1514. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
  1515. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
  1516. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
  1517. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
  1518. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
  1519. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
  1520. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
  1521. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
  1522. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
  1523. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
  1524. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
  1525. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
  1526. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
  1527. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
  1528. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
  1529. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
  1530. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
  1531. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
  1532. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
  1533. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
  1534. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
  1535. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
  1536. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
  1537. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
  1538. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
  1539. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
  1540. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
  1541. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
  1542. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
  1543. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
  1544. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
  1545. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
  1546. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
  1547. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
  1548. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
  1549. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
  1550. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
  1551. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
  1552. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
  1553. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
  1554. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
  1555. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
  1556. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
  1557. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
  1558. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
  1559. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
  1560. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
  1561. package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
  1562. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
  1563. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
  1564. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
  1565. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
  1566. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
  1567. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
  1568. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
  1569. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
  1570. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
  1571. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
  1572. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
  1573. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
  1574. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
  1575. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
  1576. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
  1577. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
  1578. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
  1579. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
  1580. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
  1581. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
  1582. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
  1583. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
  1584. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
  1585. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
  1586. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
  1587. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
  1588. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
  1589. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
  1590. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
  1591. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
  1592. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
  1593. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
  1594. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
  1595. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
  1596. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
  1597. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
  1598. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
  1599. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
  1600. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
  1601. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
  1602. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
  1603. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
  1604. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
  1605. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
  1606. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
  1607. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
  1608. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
  1609. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
  1610. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
  1611. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
  1612. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
  1613. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
  1614. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
  1615. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
  1616. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
  1617. package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
  1618. package/template/.pi/skills/yss-prototype-stage/references/business-patterns.md +42 -0
  1619. package/template/.pi/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
  1620. package/template/.pi/skills/yss-prototype-stage/references/component-recipes.md +41 -0
  1621. package/template/.pi/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
  1622. package/template/.pi/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
  1623. package/template/.pi/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
  1624. package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
  1625. package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
  1626. package/template/.pi/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
  1627. package/template/.pi/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
  1628. package/template/.pi/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
  1629. package/template/.pi/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
  1630. package/template/.pi/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
  1631. package/template/.pi/skills/yss-prototype-stage/references/usability-research.md +26 -0
  1632. package/template/.pi/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
  1633. package/template/.pi/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
  1634. package/template/.pi/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
  1635. package/template/.pi/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
  1636. package/template/.pi/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
  1637. package/template/.pi/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
  1638. package/template/.pi/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
  1639. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
  1640. package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
  1641. package/template/.pi/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
  1642. package/template/.pi/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
  1643. package/template/.pi/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
  1644. package/template/.pi/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
  1645. package/template/.pi/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
  1646. package/template/.pi/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
  1647. package/template/.pi/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
  1648. package/template/.pi/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
  1649. package/template/.pi/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
  1650. package/template/.pi/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
  1651. package/template/.pi/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
  1652. package/template/.pi/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
  1653. package/template/.pi/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
  1654. package/template/.pi/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
  1655. package/template/.pi/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
  1656. package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
  1657. package/template/.pi/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
  1658. package/template/.pi/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
  1659. package/template/.pi/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
  1660. package/template/.pi/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
  1661. package/template/.pi/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
  1662. package/template/.pi/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
  1663. package/template/.pi/skills/yss-research/SKILL.md +4 -0
  1664. package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -0
  1665. package/template/.pi/skills/yss-technical-design/SKILL.md +4 -0
  1666. package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +4 -61
  1667. package/template/.pi/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
  1668. package/template/.pi/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
  1669. package/template/.pi/skills/ytable-usage/SKILL.md +3 -191
  1670. package/template/.pi/skills/ytable-usage/references/selection-and-batch.md +30 -0
  1671. package/template/.pi/skills/ytable-usage/references/table-pagination-examples.md +170 -0
  1672. package/template/.template-spec/agents/README.md +1 -1
  1673. package/template/.template-spec/agents/digital-human-roles.yaml +3 -3
  1674. package/template/.template-spec/agents/issue-tracker.md +10 -1
  1675. package/template/.template-spec/agents/skill-migrations.md +15 -0
  1676. package/template/.template-spec/agents/yss-skill-registry.yaml +51 -29
  1677. package/template/.template-spec/architecture/README.md +3 -34
  1678. package/template/.template-spec/design/README.md +7 -2
  1679. package/template/.template-spec/design/design.md +30 -35
  1680. package/template/.template-spec/design/templates/examples/model-publishing-interaction.example.md +2 -2
  1681. package/template/.template-spec/design/templates/interaction-spec-template.md +24 -0
  1682. package/template/.template-spec/design/templates/prototype-evidence-template.yaml +18 -5
  1683. package/template/.template-spec/design/templates/prototype-review-checklist.md +8 -0
  1684. package/template/.template-spec/design/tokens/.design-md-projection.json +2 -2
  1685. package/template/.template-spec/design/tokens/variables.css +162 -0
  1686. package/template/.template-spec/plan/templates/competitive-analysis-template.md +2 -2
  1687. package/template/.template-spec/plan/templates/plan-template.md +25 -1
  1688. package/template/.template-spec/process/business-tickets.md +48 -0
  1689. package/template/.template-spec/process/checkpoint-boundary.yaml +73 -0
  1690. package/template/.template-spec/process/contract-reading.md +59 -0
  1691. package/template/.template-spec/process/document-writing.md +2 -0
  1692. package/template/.template-spec/process/feature-assets.md +38 -0
  1693. package/template/.template-spec/process/lifecycle-artifact-map.md +1 -0
  1694. package/template/.template-spec/process/lifecycle-registry-baseline.json +10 -4
  1695. package/template/.template-spec/process/lifecycle-registry.yaml +21 -5
  1696. package/template/.template-spec/process/plan-spec-quality.md +69 -0
  1697. package/template/.template-spec/process/project-ci.md +21 -0
  1698. package/template/.template-spec/process/reading-policy.yaml +4 -0
  1699. package/template/.template-spec/process/research-completion.md +23 -0
  1700. package/template/.template-spec/process/schemas/business-tickets-v1.schema.json +449 -0
  1701. package/template/.template-spec/process/schemas/digital-human-task-package.schema.json +202 -12
  1702. package/template/.template-spec/process/schemas/domain-strategy-reading.schema.json +216 -0
  1703. package/template/.template-spec/process/schemas/frontend-implementation-evidence.schema.json +7 -15
  1704. package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +203 -11
  1705. package/template/.template-spec/process/schemas/reading-manifest.schema.json +14 -0
  1706. package/template/.template-spec/process/schemas/reading-policy.schema.json +10 -0
  1707. package/template/.template-spec/process/schemas/stage-decision-package-reading.schema.json +148 -0
  1708. package/template/.template-spec/process/stage-tracking.md +8 -0
  1709. package/template/.template-spec/process/strategic-handoff-package.md +3 -1
  1710. package/template/.template-spec/process/subagent-collaboration.md +8 -0
  1711. package/template/.template-spec/process/templates/frontend-implementation-verification-template.yaml +15 -1
  1712. package/template/.template-spec/process/templates/stage-checkpoint-template.md +6 -1
  1713. package/template/.template-spec/templates/business-ticket-review-template.yaml +11 -0
  1714. package/template/.template-spec/templates/business-ticket-set-template.yaml +16 -0
  1715. package/template/.template-spec/templates/business-ticket-template.md +38 -0
  1716. package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +16 -0
  1717. package/template/.template-spec/templates/examples/plan-spec/complex-defective.md +38 -0
  1718. package/template/.template-spec/templates/examples/plan-spec/complex-source.md +12 -0
  1719. package/template/.template-spec/templates/examples/plan-spec/complex-valid.md +38 -0
  1720. package/template/.template-spec/templates/examples/plan-spec/expectations.json +46 -0
  1721. package/template/.template-spec/templates/examples/plan-spec/high-risk-before.md +32 -0
  1722. package/template/.template-spec/templates/examples/plan-spec/high-risk-defective.md +39 -0
  1723. package/template/.template-spec/templates/examples/plan-spec/high-risk-source.md +11 -0
  1724. package/template/.template-spec/templates/examples/plan-spec/high-risk-valid.md +39 -0
  1725. package/template/.template-spec/templates/examples/plan-spec/ordinary-defective.md +36 -0
  1726. package/template/.template-spec/templates/examples/plan-spec/ordinary-plan.md +27 -0
  1727. package/template/.template-spec/templates/examples/plan-spec/ordinary-source.md +14 -0
  1728. package/template/.template-spec/templates/examples/plan-spec/ordinary-valid.md +36 -0
  1729. package/template/.template-spec/templates/local-parent-ticket-template.md +23 -15
  1730. package/template/.template-spec/templates/spec-delta-template.md +7 -5
  1731. package/template/.template-spec/templates/spec-template.md +31 -15
  1732. package/template/.template-spec/templates/vertical-slice-ticket-template.md +4 -0
  1733. package/template/AGENTS.md +2 -2
  1734. package/template/CONTEXT.md +6 -1
  1735. package/template/DESIGN.md +23 -4
  1736. package/template/README.md +12 -24
  1737. package/template/scripts/contract +17 -5
  1738. package/template/scripts/feature-assets +23 -0
  1739. package/template/scripts/inspect-plan-spec +32 -0
  1740. package/template/scripts/inspect-skill-discovery +24 -0
  1741. package/template/scripts/lib/business-ticket-lifecycle.mjs +34 -0
  1742. package/template/scripts/lib/business-tickets.mjs +273 -0
  1743. package/template/scripts/lib/checkpoint-boundary.mjs +40 -0
  1744. package/template/scripts/lib/contract-views.mjs +77 -9
  1745. package/template/scripts/lib/execution-evidence.mjs +51 -0
  1746. package/template/scripts/lib/feature-assets.mjs +274 -0
  1747. package/template/scripts/lib/governance-io.mjs +40 -0
  1748. package/template/scripts/lib/harness-execution-scope.mjs +1 -1
  1749. package/template/scripts/lib/implementation-contract-compiler.mjs +2 -0
  1750. package/template/scripts/lib/lifecycle-context-query.mjs +15 -3
  1751. package/template/scripts/lib/lifecycle-status.mjs +49 -7
  1752. package/template/scripts/lib/lifecycle-transition.mjs +31 -4
  1753. package/template/scripts/lib/maintenance-research.mjs +63 -0
  1754. package/template/scripts/lib/plan-spec-markdown.mjs +97 -0
  1755. package/template/scripts/lib/plan-spec-quality.mjs +289 -0
  1756. package/template/scripts/lib/project-ci-install.mjs +98 -0
  1757. package/template/scripts/lib/project-governance.mjs +189 -0
  1758. package/template/scripts/lib/read-only-intake.mjs +132 -0
  1759. package/template/scripts/lib/reading-view-adapters.mjs +62 -0
  1760. package/template/scripts/lib/reading-view-bundle.mjs +201 -0
  1761. package/template/scripts/lib/reading-view-diff.mjs +29 -0
  1762. package/template/scripts/lib/reading-view-markdown.mjs +39 -0
  1763. package/template/scripts/lib/reading-view-model.mjs +13 -0
  1764. package/template/scripts/lib/reading-view-policy.mjs +16 -0
  1765. package/template/scripts/lib/skill-discovery.mjs +150 -0
  1766. package/template/scripts/lib/skill-registry.mjs +43 -2
  1767. package/template/scripts/lib/skill-supply-chain.mjs +5 -1
  1768. package/template/scripts/lib/slice-contract-preparation.mjs +8 -2
  1769. package/template/scripts/lib/slice-contract.mjs +15 -1
  1770. package/template/scripts/lib/slice-task-package.mjs +1 -1
  1771. package/template/scripts/lib/stage-tracking-migration.mjs +9 -1
  1772. package/template/scripts/lib/stage-tracking.mjs +10 -5
  1773. package/template/scripts/lib/strategic-handoff-consumption.mjs +14 -2
  1774. package/template/scripts/lib/strategic-handoff-io.mjs +6 -2
  1775. package/template/scripts/lib/strategic-handoff.mjs +26 -5
  1776. package/template/scripts/lib/task-package.mjs +22 -4
  1777. package/template/scripts/lib/testing/user-decision-fixture.mjs +33 -0
  1778. package/template/scripts/lib/user-decision-reuse.mjs +1 -1
  1779. package/template/scripts/lifecycle-status +13 -3
  1780. package/template/scripts/prepare-read-only-intake +16 -0
  1781. package/template/scripts/project-ci +20 -0
  1782. package/template/scripts/project-ci-transition +13 -0
  1783. package/template/scripts/query-lifecycle-context +4 -0
  1784. package/template/scripts/run-read-only-intake +14 -0
  1785. package/template/scripts/stage-tracking +1 -0
  1786. package/template/scripts/vendor/NOTICES.md +237 -0
  1787. package/template/scripts/vendor/manifest.json +1216 -65
  1788. package/template/scripts/vendor/markdown.mjs +11783 -0
  1789. package/template/scripts/verify-approval-record +4 -1
  1790. package/template/scripts/verify-business-tickets +11 -0
  1791. package/template/scripts/verify-context-contract +4 -1
  1792. package/template/scripts/verify-digital-human-task-package +5 -2
  1793. package/template/scripts/verify-frontend-implementation-evidence +24 -1
  1794. package/template/scripts/verify-lifecycle-checkpoint +17 -2
  1795. package/template/scripts/verify-maintenance-research +13 -0
  1796. package/template/scripts/verify-prototype-design +3 -0
  1797. package/template/skills-lock.json +44 -101
  1798. package/template.manifest.json +119 -29
  1799. package/template.snapshot.json +5 -6
  1800. package/template/.agents/skills/grill-with-docs/SKILL.md +0 -20
  1801. package/template/.agents/skills/grill-with-docs/agents/openai.yaml +0 -5
  1802. package/template/.agents/skills/improve-codebase-architecture/SKILL.md +0 -75
  1803. package/template/.agents/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  1804. package/template/.agents/skills/prototype/UI.md +0 -112
  1805. package/template/.agents/skills/setup-matt-pocock-skills/domain.md +0 -37
  1806. package/template/.agents/skills/to-questionnaire/SKILL.md +0 -55
  1807. package/template/.agents/skills/to-questionnaire/agents/openai.yaml +0 -5
  1808. package/template/.agents/skills/wait-what/SKILL.md +0 -7
  1809. package/template/.agents/skills/wait-what/agents/openai.yaml +0 -5
  1810. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  1811. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  1812. package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  1813. package/template/.agents/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  1814. package/template/.agents/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  1815. package/template/.agents/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  1816. package/template/.agents/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  1817. package/template/.codex/skills/data-analytics/.app.json +0 -84
  1818. package/template/.codex/skills/data-analytics/.codex-plugin/plugin.json +0 -66
  1819. package/template/.codex/skills/data-analytics/.mcp.json +0 -30
  1820. package/template/.codex/skills/data-analytics/AGENTS.md +0 -20
  1821. package/template/.codex/skills/data-analytics/DEPENDENCIES.MD +0 -27
  1822. package/template/.codex/skills/data-analytics/README.md +0 -60
  1823. package/template/.codex/skills/data-analytics/__yss_dotfile__.gitignore +0 -2
  1824. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html +0 -16
  1825. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part001 +0 -1
  1826. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part002 +0 -1
  1827. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part003 +0 -1
  1828. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part004 +0 -1
  1829. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part005 +0 -1
  1830. package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part006 +0 -1
  1831. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html +0 -16
  1832. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part001 +0 -1
  1833. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part002 +0 -1
  1834. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part003 +0 -1
  1835. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part004 +0 -1
  1836. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part005 +0 -1
  1837. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part006 +0 -1
  1838. package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part007 +0 -1
  1839. package/template/.codex/skills/data-analytics/assets/datascience-small.svg +0 -5
  1840. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html +0 -16
  1841. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part001 +0 -1
  1842. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part002 +0 -1
  1843. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part003 +0 -1
  1844. package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part004 +0 -1
  1845. package/template/.codex/skills/data-analytics/assets/datascience.png +0 -0
  1846. package/template/.codex/skills/data-analytics/assets/datascience.svg +0 -10
  1847. package/template/.codex/skills/data-analytics/mcp/server.cjs +0 -2964
  1848. package/template/.codex/skills/data-analytics/package-lock.json +0 -3048
  1849. package/template/.codex/skills/data-analytics/package.json +0 -43
  1850. package/template/.codex/skills/data-analytics/scripts/normalize-widget-assets.mjs +0 -75
  1851. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +0 -137
  1852. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/agents/openai.yaml +0 -6
  1853. package/template/.codex/skills/data-analytics/skills/analyze-data-quality/references/quality-checks.md +0 -29
  1854. package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +0 -148
  1855. package/template/.codex/skills/data-analytics/skills/build-dashboard/agents/openai.yaml +0 -6
  1856. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/bi-platform-dashboard.md +0 -18
  1857. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/html-dashboard.md +0 -24
  1858. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/mcp-artifact-dashboard.md +0 -71
  1859. package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/streamlit-dashboard.md +0 -85
  1860. package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +0 -207
  1861. package/template/.codex/skills/data-analytics/skills/build-report/agents/openai.yaml +0 -6
  1862. package/template/.codex/skills/data-analytics/skills/build-report/assets/executive-report-shell.html +0 -70
  1863. package/template/.codex/skills/data-analytics/skills/build-report/assets/technical-report-shell.html +0 -66
  1864. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/SKILL.md +0 -108
  1865. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/agents/openai.yaml +0 -6
  1866. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/__init__.py +0 -1
  1867. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/cli.py +0 -52
  1868. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/constants.py +0 -61
  1869. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/docx_writer.py +0 -362
  1870. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/html_parser.py +0 -829
  1871. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/model.py +0 -30
  1872. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/plan.py +0 -127
  1873. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/quality.py +0 -374
  1874. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/rendering.py +0 -613
  1875. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/table_utils.py +0 -54
  1876. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/utils.py +0 -16
  1877. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc_plan.py +0 -9
  1878. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/tests/test_delivery_plan.py +0 -45
  1879. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/SKILL.md +0 -77
  1880. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/agents/openai.yaml +0 -6
  1881. package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/scripts/report_to_google_slides.py +0 -2379
  1882. package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/SKILL.md +0 -88
  1883. package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/agents/openai.yaml +0 -6
  1884. package/template/.codex/skills/data-analytics/skills/build-report/specifications/executive-report.md +0 -97
  1885. package/template/.codex/skills/data-analytics/skills/build-report/specifications/mcp-app-report.md +0 -59
  1886. package/template/.codex/skills/data-analytics/skills/build-report/specifications/technical-report.md +0 -75
  1887. package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +0 -103
  1888. package/template/.codex/skills/data-analytics/skills/design-kpis/agents/openai.yaml +0 -6
  1889. package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +0 -68
  1890. package/template/.codex/skills/data-analytics/skills/gather-business-context/agents/openai.yaml +0 -6
  1891. package/template/.codex/skills/data-analytics/skills/index/SKILL.md +0 -251
  1892. package/template/.codex/skills/data-analytics/skills/index/agents/openai.yaml +0 -6
  1893. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +0 -131
  1894. package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/agents/openai.yaml +0 -6
  1895. package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +0 -141
  1896. package/template/.codex/skills/data-analytics/skills/kpi-reporting/agents/openai.yaml +0 -6
  1897. package/template/.codex/skills/data-analytics/skills/kpi-reporting/references/report-templates.md +0 -32
  1898. package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +0 -106
  1899. package/template/.codex/skills/data-analytics/skills/market-sizing/agents/openai.yaml +0 -6
  1900. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +0 -130
  1901. package/template/.codex/skills/data-analytics/skills/metric-diagnostics/agents/openai.yaml +0 -6
  1902. package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +0 -141
  1903. package/template/.codex/skills/data-analytics/skills/product-business-analysis/agents/openai.yaml +0 -6
  1904. package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +0 -178
  1905. package/template/.codex/skills/data-analytics/skills/spreadsheets/agents/openai.yaml +0 -9
  1906. package/template/.codex/skills/data-analytics/skills/spreadsheets/assets/file-spreadsheet.png +0 -0
  1907. package/template/.codex/skills/data-analytics/skills/spreadsheets/charts.md +0 -31
  1908. package/template/.codex/skills/data-analytics/skills/spreadsheets/references/artifact_tool_api.md +0 -466
  1909. package/template/.codex/skills/data-analytics/skills/spreadsheets/style_guidelines.md +0 -99
  1910. package/template/.codex/skills/data-analytics/skills/user-context/SKILL.md +0 -197
  1911. package/template/.codex/skills/data-analytics/skills/user-context/agents/openai.yaml +0 -6
  1912. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/automation-config.md +0 -26
  1913. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/source-category-config.json +0 -51
  1914. package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/user-context-config.md +0 -66
  1915. package/template/.codex/skills/data-analytics/skills/user-context/references/automation.md +0 -69
  1916. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-examples.md +0 -204
  1917. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-state-template.json +0 -87
  1918. package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding.md +0 -497
  1919. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/connector-playbook.md +0 -74
  1920. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/setup.md +0 -65
  1921. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/skill-template.md +0 -160
  1922. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/source-intake.md +0 -75
  1923. package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/weekly-polling-automation.md +0 -96
  1924. package/template/.codex/skills/data-analytics/skills/user-context/references/source-category-runtime.md +0 -263
  1925. package/template/.codex/skills/data-analytics/skills/user-context/scripts/data_analytics_preflight.py +0 -1462
  1926. package/template/.codex/skills/data-analytics/skills/user-context/scripts/init_user_context_state.py +0 -128
  1927. package/template/.codex/skills/data-analytics/skills/user-context/scripts/reset_user_context_state.py +0 -101
  1928. package/template/.codex/skills/data-analytics/skills/user-context/scripts/validate_user_context_preflight.py +0 -499
  1929. package/template/.codex/skills/data-analytics/skills/user-context/tests/test_state_helpers.py +0 -978
  1930. package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +0 -126
  1931. package/template/.codex/skills/data-analytics/skills/validate-data/agents/openai.yaml +0 -6
  1932. package/template/.codex/skills/data-analytics/skills/validate-data/references/validation-methods.md +0 -70
  1933. package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +0 -157
  1934. package/template/.codex/skills/data-analytics/skills/visualize-data/agents/openai.yaml +0 -6
  1935. package/template/.codex/skills/data-analytics/skills/visualize-data/references/seaborn-templates.md +0 -774
  1936. package/template/.codex/skills/data-analytics/src/DESIGN.md +0 -222
  1937. package/template/.codex/skills/data-analytics/src/analytics-app/App.tsx +0 -3666
  1938. package/template/.codex/skills/data-analytics/src/analytics-app/analytics-layout.test.mjs +0 -136
  1939. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartFrame.tsx +0 -54
  1940. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartLegend.tsx +0 -96
  1941. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartRenderer.tsx +0 -1647
  1942. package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartTooltip.tsx +0 -245
  1943. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-app-helpers.tsx +0 -462
  1944. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-capabilities.ts +0 -107
  1945. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-compatibility.ts +0 -164
  1946. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-contract.ts +0 -192
  1947. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-theme.ts +0 -203
  1948. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-tokens.css +0 -619
  1949. package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-transforms.ts +0 -402
  1950. package/template/.codex/skills/data-analytics/src/analytics-app/fonts/SystemSansVariableVF.woff2 +0 -0
  1951. package/template/.codex/skills/data-analytics/src/analytics-app/imageExport.ts +0 -370
  1952. package/template/.codex/skills/data-analytics/src/analytics-app/layout/AnalyticsLayoutCanvas.tsx +0 -536
  1953. package/template/.codex/skills/data-analytics/src/analytics-app/layout/RichMarkdown.tsx +0 -681
  1954. package/template/.codex/skills/data-analytics/src/analytics-app/layout/analyticsLayoutCore.ts +0 -164
  1955. package/template/.codex/skills/data-analytics/src/analytics-app/main.tsx +0 -21
  1956. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/chart_contract.py +0 -472
  1957. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/check_analytics_app_runtime_links.py +0 -75
  1958. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/design_contract.py +0 -142
  1959. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/package_utils.py +0 -142
  1960. package/template/.codex/skills/data-analytics/src/analytics-app/scripts/tests/test_package_utils.py +0 -377
  1961. package/template/.codex/skills/data-analytics/src/analytics-app/styles.css +0 -3468
  1962. package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.d.ts +0 -44
  1963. package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.jsx +0 -639
  1964. package/template/.codex/skills/data-analytics/src/analytics-app/tables/data-table.css +0 -327
  1965. package/template/.codex/skills/data-analytics/src/analytics-app/tokens.css +0 -225
  1966. package/template/.codex/skills/data-analytics/src/analytics-app/types.ts +0 -204
  1967. package/template/.codex/skills/data-analytics/src/analytics-app-core.md +0 -85
  1968. package/template/.codex/skills/data-analytics/src/codex-style-contract.md +0 -30
  1969. package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.html +0 -12
  1970. package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.jsx +0 -1008
  1971. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.css +0 -2117
  1972. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.html +0 -122
  1973. package/template/.codex/skills/data-analytics/src/datascience-chart-widget.js +0 -3588
  1974. package/template/.codex/skills/data-analytics/src/datascience-table-widget.css +0 -483
  1975. package/template/.codex/skills/data-analytics/src/datascience-table-widget.html +0 -32
  1976. package/template/.codex/skills/data-analytics/src/datascience-table-widget.js +0 -333
  1977. package/template/.codex/skills/data-analytics/src/mcp-host.js +0 -153
  1978. package/template/.codex/skills/data-analytics/src/recharts-config.js +0 -315
  1979. package/template/.codex/skills/data-analytics/src/recharts-renderer.jsx +0 -294
  1980. package/template/.codex/skills/data-analytics/src/sql-source-view.css +0 -33
  1981. package/template/.codex/skills/data-analytics/src/sql-source-view.js +0 -157
  1982. package/template/.codex/skills/data-analytics/src/styles/codex-theme.css +0 -121
  1983. package/template/.codex/skills/data-analytics/src/table-renderer.jsx +0 -28
  1984. package/template/.codex/skills/data-analytics/tests/chart-transforms.test.mjs +0 -87
  1985. package/template/.codex/skills/data-analytics/tests/funnel-smoke.html +0 -105
  1986. package/template/.codex/skills/data-analytics/tests/inline-widget-compare.html +0 -233
  1987. package/template/.codex/skills/data-analytics/tests/mcp-server.test.mjs +0 -1500
  1988. package/template/.codex/skills/data-analytics/tests/native-style-contract.test.mjs +0 -219
  1989. package/template/.codex/skills/data-analytics/tests/recharts-config.test.mjs +0 -144
  1990. package/template/.codex/skills/data-analytics/tests/recharts-renderer.test.mjs +0 -11
  1991. package/template/.codex/skills/data-analytics/tests/rich-markdown.test.mjs +0 -54
  1992. package/template/.codex/skills/data-analytics/tests/widget-render-harness.html +0 -321
  1993. package/template/.codex/skills/data-analytics/tsconfig.json +0 -19
  1994. package/template/.codex/skills/data-analytics/vite.config.ts +0 -46
  1995. package/template/.codex/skills/grill-with-docs/SKILL.md +0 -20
  1996. package/template/.codex/skills/grill-with-docs/agents/openai.yaml +0 -5
  1997. package/template/.codex/skills/improve-codebase-architecture/SKILL.md +0 -75
  1998. package/template/.codex/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  1999. package/template/.codex/skills/prototype/UI.md +0 -112
  2000. package/template/.codex/skills/setup-matt-pocock-skills/domain.md +0 -37
  2001. package/template/.codex/skills/to-questionnaire/SKILL.md +0 -55
  2002. package/template/.codex/skills/to-questionnaire/agents/openai.yaml +0 -5
  2003. package/template/.codex/skills/wait-what/SKILL.md +0 -7
  2004. package/template/.codex/skills/wait-what/agents/openai.yaml +0 -5
  2005. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  2006. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  2007. package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  2008. package/template/.codex/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  2009. package/template/.codex/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  2010. package/template/.codex/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  2011. package/template/.codex/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  2012. package/template/.cursor/skills/grill-with-docs/SKILL.md +0 -20
  2013. package/template/.cursor/skills/grill-with-docs/agents/openai.yaml +0 -5
  2014. package/template/.cursor/skills/improve-codebase-architecture/SKILL.md +0 -75
  2015. package/template/.cursor/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  2016. package/template/.cursor/skills/prototype/UI.md +0 -112
  2017. package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +0 -37
  2018. package/template/.cursor/skills/to-questionnaire/SKILL.md +0 -55
  2019. package/template/.cursor/skills/to-questionnaire/agents/openai.yaml +0 -5
  2020. package/template/.cursor/skills/wait-what/SKILL.md +0 -7
  2021. package/template/.cursor/skills/wait-what/agents/openai.yaml +0 -5
  2022. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  2023. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  2024. package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  2025. package/template/.cursor/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  2026. package/template/.cursor/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  2027. package/template/.cursor/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  2028. package/template/.cursor/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  2029. package/template/.pi/skills/grill-with-docs/SKILL.md +0 -20
  2030. package/template/.pi/skills/grill-with-docs/agents/openai.yaml +0 -5
  2031. package/template/.pi/skills/improve-codebase-architecture/SKILL.md +0 -75
  2032. package/template/.pi/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
  2033. package/template/.pi/skills/prototype/UI.md +0 -112
  2034. package/template/.pi/skills/setup-matt-pocock-skills/domain.md +0 -37
  2035. package/template/.pi/skills/to-questionnaire/SKILL.md +0 -55
  2036. package/template/.pi/skills/to-questionnaire/agents/openai.yaml +0 -5
  2037. package/template/.pi/skills/wait-what/SKILL.md +0 -7
  2038. package/template/.pi/skills/wait-what/agents/openai.yaml +0 -5
  2039. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
  2040. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
  2041. package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
  2042. package/template/.pi/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
  2043. package/template/.pi/skills/yss-prototype-stage/references/antd-integration.md +0 -61
  2044. package/template/.pi/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
  2045. package/template/.pi/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
  2046. package/template/.template-spec/agents/domain.md +0 -31
  2047. /package/template/.agents/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
  2048. /package/template/.codex/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
  2049. /package/template/.cursor/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
  2050. /package/template/.pi/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
@@ -1,1462 +0,0 @@
1
- #!/usr/bin/env python3
2
- """Read Data Analytics local state and emit a deterministic preflight payload."""
3
-
4
- from __future__ import annotations
5
-
6
- import argparse
7
- import hashlib
8
- import json
9
- import os
10
- import re
11
- import sys
12
- from datetime import datetime, timezone
13
- from pathlib import Path
14
- from typing import Any
15
-
16
- PLUGIN_ROOT = Path(__file__).resolve().parents[3]
17
- ONBOARDING_REFERENCE = PLUGIN_ROOT / "skills/user-context/references/onboarding.md"
18
- SOURCE_CATEGORY_CONFIG_REFERENCE = (
19
- PLUGIN_ROOT / "skills/user-context/plugin-author-config/source-category-config.json"
20
- )
21
- APP_MANIFEST_REFERENCE = PLUGIN_ROOT / ".app.json"
22
- DEFAULT_MAX_CONTEXT_BYTES = 200_000
23
- CORE_CATEGORY_IDS = ("structured_data", "team_communication", "company_docs")
24
- ONBOARDING_RESOLVED_SOURCE_STATUSES = {
25
- "declined",
26
- "deferred",
27
- "deferred_environment_api_limitations",
28
- "not_applicable",
29
- "skipped",
30
- "skipped_for_now",
31
- "unavailable",
32
- }
33
- SOURCE_CLASSIFIED_STATUSES = {
34
- "active",
35
- "needs_confirmation",
36
- "missing",
37
- *ONBOARDING_RESOLVED_SOURCE_STATUSES,
38
- }
39
- SOURCE_ACTION_REQUIRED_STATUSES = {"needs_confirmation", "missing"}
40
- CORE_SOURCE_EXPLICIT_FALLBACK_RESOLUTIONS = {
41
- "user_continued_with_known_gap",
42
- "user_declined",
43
- "user_deferred",
44
- "user_marked_unavailable",
45
- "user_skipped",
46
- "user_confirmed_not_applicable",
47
- }
48
- SEMANTIC_SETUP_COMPLETE_STATUSES = {
49
- "created",
50
- "refreshed",
51
- "inspected",
52
- "repaired",
53
- "planned",
54
- "skipped",
55
- "deferred",
56
- "unavailable",
57
- "blocked",
58
- }
59
- SEMANTIC_SETUP_TARGET_STATUSES = {"created", "refreshed", "inspected", "repaired", "planned"}
60
- SEMANTIC_REFRESH_COMPLETE_STATUSES = {
61
- "accepted",
62
- "declined",
63
- "deferred",
64
- "unavailable",
65
- "skipped",
66
- "blocked",
67
- }
68
- HERO_PROMPT_COMPLETE_STATUSES = {"tried", "skipped", "deferred", "completed"}
69
- HERO_SKILLS = ("metric-diagnostics", "product-business-analysis", "kpi-reporting")
70
- SOURCE_ROUTING_PREFERENCES_HEADING = "data analytics source routing preferences"
71
-
72
-
73
- def parse_args() -> argparse.Namespace:
74
- parser = argparse.ArgumentParser(
75
- description=(
76
- "Read Data Analytics user-context and onboarding-state files and return "
77
- "context plus workflow control obligations as JSON."
78
- )
79
- )
80
- parser.add_argument("--workflow", default="ordinary")
81
- parser.add_argument(
82
- "--request-mode",
83
- choices=("ordinary_workflow", "direct_onboarding_status", "guided_onboarding_workflow"),
84
- default="ordinary_workflow",
85
- )
86
- parser.add_argument("--codex-home", type=Path, default=None)
87
- parser.add_argument("--state-dir", type=Path, default=None)
88
- parser.add_argument("--max-context-bytes", type=int, default=DEFAULT_MAX_CONTEXT_BYTES)
89
- parser.add_argument("--section", action="append", default=[])
90
- return parser.parse_args()
91
-
92
-
93
- def default_codex_home() -> Path:
94
- env_home = os.environ.get("CODEX_HOME")
95
- if env_home:
96
- return Path(env_home).expanduser()
97
- return Path.home() / ".codex"
98
-
99
-
100
- def state_dir_from_args(args: argparse.Namespace) -> Path:
101
- if args.state_dir:
102
- return args.state_dir.expanduser()
103
- codex_home = args.codex_home.expanduser() if args.codex_home else default_codex_home()
104
- return codex_home / "state/plugins/data-analytics"
105
-
106
-
107
- def sha256_text(text: str) -> str:
108
- return hashlib.sha256(text.encode("utf-8")).hexdigest()
109
-
110
-
111
- def file_mtime(path: Path) -> str | None:
112
- try:
113
- return datetime.fromtimestamp(path.stat().st_mtime, tz=timezone.utc).isoformat()
114
- except OSError:
115
- return None
116
-
117
-
118
- def section_bounds(markdown: str) -> dict[str, tuple[int, int, str]]:
119
- matches = list(re.finditer(r"(?m)^(#{1,6})\s+(.+?)\s*$", markdown))
120
- bounds: dict[str, tuple[int, int, str]] = {}
121
- for index, match in enumerate(matches):
122
- start = match.start()
123
- level = len(match.group(1))
124
- end = len(markdown)
125
- for next_match in matches[index + 1 :]:
126
- if len(next_match.group(1)) <= level:
127
- end = next_match.start()
128
- break
129
- heading = match.group(2).strip()
130
- bounds[heading.casefold()] = (start, end, heading)
131
- return bounds
132
-
133
-
134
- def extract_sections(markdown: str, requested: list[str]) -> list[dict[str, str]]:
135
- if not requested:
136
- return []
137
- bounds = section_bounds(markdown)
138
- sections: list[dict[str, str]] = []
139
- for heading in requested:
140
- bound = bounds.get(heading.casefold())
141
- if not bound:
142
- sections.append({"heading": heading, "status": "missing", "content": ""})
143
- continue
144
- start, end, canonical_heading = bound
145
- sections.append(
146
- {
147
- "heading": canonical_heading,
148
- "status": "present",
149
- "content": markdown[start:end].strip(),
150
- }
151
- )
152
- return sections
153
-
154
-
155
- def normalize_source_name(value: Any) -> str:
156
- return re.sub(r"[^a-z0-9]+", "", str(value or "").casefold())
157
-
158
-
159
- def parse_source_preference_values(raw_value: str) -> list[str]:
160
- return [value.strip() for value in raw_value.split(",") if value.strip()]
161
-
162
-
163
- def extract_saved_source_preferences(
164
- markdown: str | None,
165
- source_category_config: dict[str, dict[str, Any]],
166
- ) -> dict[str, dict[str, list[str]]]:
167
- """Read durable Data Analytics source-routing choices from user-context.md."""
168
- if not markdown:
169
- return {}
170
- bounds = section_bounds(markdown)
171
- source_routing_section = bounds.get(SOURCE_ROUTING_PREFERENCES_HEADING)
172
- if not source_routing_section:
173
- return {}
174
- start, end, _ = source_routing_section
175
- section = markdown[start:end]
176
- preferences: dict[str, dict[str, list[str]]] = {}
177
- current_category: str | None = None
178
- for raw_line in section.splitlines():
179
- line = raw_line.strip()
180
- category_match = re.match(r"^##\s+([a-z0-9_]+)\s*$", line)
181
- if category_match:
182
- category_id = category_match.group(1)
183
- current_category = category_id if category_id in source_category_config else None
184
- continue
185
- if not current_category:
186
- continue
187
- preference_match = re.match(r"^-\s*(Prefer|Avoid):\s*(.*?)\s*$", line)
188
- if not preference_match:
189
- continue
190
- disposition = "preferred" if preference_match.group(1) == "Prefer" else "avoid"
191
- configured_sources = {
192
- normalize_source_name(str(source)): str(source)
193
- for source in preferred_source_routes(source_category_config[current_category])
194
- }
195
- for source_name in parse_source_preference_values(preference_match.group(2)):
196
- configured_source = configured_sources.get(normalize_source_name(source_name))
197
- if not configured_source:
198
- continue
199
- category_preferences = preferences.setdefault(current_category, {})
200
- values = category_preferences.setdefault(disposition, [])
201
- if configured_source not in values:
202
- values.append(configured_source)
203
- return preferences
204
-
205
-
206
- def summarize_user_context(
207
- markdown: str | None,
208
- source_category_config: dict[str, dict[str, Any]],
209
- ) -> dict[str, Any]:
210
- """Return the narrow normalized Data Analytics user-context surface."""
211
- return {
212
- "scope": "source_routing_preferences_and_semantic_layer_registry",
213
- "source_routing_preferences": extract_saved_source_preferences(
214
- markdown,
215
- source_category_config,
216
- ),
217
- "semantic_layer_count": len(semantic_layer_registry(markdown)),
218
- "normalization_complete": markdown is not None,
219
- }
220
-
221
-
222
- def read_text_payload(path: Path, max_context_bytes: int, sections: list[str]) -> dict[str, Any]:
223
- payload: dict[str, Any] = {
224
- "path": str(path),
225
- "status": "missing",
226
- "bytes": 0,
227
- "sha256": None,
228
- "mtime": None,
229
- "content": None,
230
- "sections": [],
231
- "omitted": False,
232
- "error": None,
233
- }
234
- if not path.exists():
235
- return payload
236
- try:
237
- text = path.read_text(encoding="utf-8")
238
- except (OSError, UnicodeDecodeError) as exc:
239
- payload["status"] = "unreadable"
240
- payload["error"] = str(exc)
241
- return payload
242
-
243
- encoded_len = len(text.encode("utf-8"))
244
- payload.update(
245
- {
246
- "status": "present",
247
- "bytes": encoded_len,
248
- "sha256": sha256_text(text),
249
- "mtime": file_mtime(path),
250
- "sections": extract_sections(text, sections),
251
- "_content": text,
252
- }
253
- )
254
- if encoded_len <= max_context_bytes:
255
- payload["content"] = text
256
- else:
257
- payload["omitted"] = True
258
- payload["omission_reason"] = (
259
- f"file exceeds max_context_bytes ({encoded_len} > {max_context_bytes})"
260
- )
261
- return payload
262
-
263
-
264
- def payload_text(payload: dict[str, Any]) -> str | None:
265
- text = payload.get("_content")
266
- if isinstance(text, str):
267
- return text
268
- content = payload.get("content")
269
- return content if isinstance(content, str) else None
270
-
271
-
272
- def public_file_payload(
273
- payload: dict[str, Any],
274
- *,
275
- include_content: bool,
276
- ) -> dict[str, Any]:
277
- public = {
278
- key: value for key, value in payload.items() if key not in {"_content", "data"}
279
- }
280
- if not include_content:
281
- public.pop("content", None)
282
- return public
283
-
284
-
285
- def read_json_payload(path: Path, max_context_bytes: int) -> dict[str, Any]:
286
- payload = read_text_payload(path, max_context_bytes=max_context_bytes, sections=[])
287
- payload["data"] = None
288
- if payload["status"] != "present":
289
- return payload
290
- try:
291
- payload["data"] = json.loads(payload_text(payload) or path.read_text(encoding="utf-8"))
292
- except json.JSONDecodeError as exc:
293
- payload["status"] = "unreadable"
294
- payload["error"] = f"invalid json: {exc}"
295
- return payload
296
-
297
-
298
- def markdown_template_from_onboarding_reference(heading_name: str) -> str:
299
- text = ONBOARDING_REFERENCE.read_text(encoding="utf-8")
300
- heading = re.search(rf"(?m)^## {re.escape(heading_name)}\s*$", text)
301
- if not heading:
302
- raise RuntimeError(f"{heading_name} heading not found")
303
- following = text[heading.end() :]
304
- code_block = re.search(r"```md\n(.*?)\n```", following, flags=re.DOTALL)
305
- if not code_block:
306
- raise RuntimeError(f"{heading_name} markdown block not found")
307
- return code_block.group(1).strip()
308
-
309
-
310
- def load_source_category_config() -> dict[str, Any]:
311
- return json.loads(SOURCE_CATEGORY_CONFIG_REFERENCE.read_text(encoding="utf-8"))["categories"]
312
-
313
-
314
- def unique_strings(values: list[Any]) -> list[str]:
315
- return list(dict.fromkeys(str(value) for value in values if isinstance(value, str) and value))
316
-
317
-
318
- def preferred_source_routes(metadata: dict[str, Any]) -> list[str]:
319
- return unique_strings(
320
- [
321
- *(metadata.get("preferred_plugins") or []),
322
- *(metadata.get("preferred_apps") or []),
323
- ]
324
- )
325
-
326
-
327
- def normalize_source_kind(value: Any) -> str | None:
328
- source_kind = str(value or "").casefold()
329
- if source_kind in {"plugin", "app", "connector", "manual"}:
330
- return source_kind
331
- return None
332
-
333
-
334
- PLUGIN_INSTALL_EVIDENCE = {
335
- "installed_plugin_skill_visible",
336
- "plugin_in_available_plugins",
337
- "plugin_owned_skill_visible",
338
- "request_plugin_install_completed",
339
- "user_confirmed_installed_plugin",
340
- }
341
-
342
- PLUGIN_SKILL_SURFACE_EVIDENCE = {
343
- "plugin_skills_visible",
344
- "plugin_owned_skill_visible",
345
- "plugin_owned_skills_visible",
346
- }
347
-
348
- PLUGIN_TOOL_SURFACE_EVIDENCE = {
349
- "callable_app_tools_visible",
350
- "callable_plugin_tools_visible",
351
- "plugin_tools_visible",
352
- }
353
-
354
- PLUGIN_FIRST_SETUP_STATUSES = {
355
- "active",
356
- "missing",
357
- "needs_confirmation",
358
- "unavailable",
359
- "deferred",
360
- "deferred_environment_api_limitations",
361
- "skipped_for_now",
362
- }
363
-
364
-
365
- def compact_mapping(value: Any) -> dict[str, Any] | None:
366
- if not isinstance(value, dict):
367
- return None
368
- compact = {
369
- str(key): item
370
- for key, item in value.items()
371
- if isinstance(key, str) and (isinstance(item, (str, int, float, bool)) or item is None)
372
- }
373
- return compact or None
374
-
375
-
376
- def default_skill_surface(source_kind: str | None, metadata: dict[str, Any]) -> str | None:
377
- if source_kind == "plugin":
378
- return "plugin_owned"
379
- if source_kind in {"app", "connector"}:
380
- if metadata.get("relevant_skills"):
381
- return "data_analytics_vendored_helper"
382
- return "direct_tool"
383
- if source_kind == "manual":
384
- return "manual"
385
- return None
386
-
387
-
388
- def default_runtime_action(source_kind: str | None, skill_surface: str | None) -> str | None:
389
- if source_kind == "plugin":
390
- return "use_plugin_owned_skill_or_tools"
391
- if source_kind in {"app", "connector"}:
392
- if skill_surface == "data_analytics_vendored_helper":
393
- return "use_connector_or_app_with_data_analytics_helper_guidance"
394
- return "use_direct_tool_when_workflow_needs_source"
395
- if source_kind == "manual":
396
- return "use_manual_or_exported_context"
397
- return None
398
-
399
-
400
- def copy_configured_route_metadata(
401
- entry: dict[str, Any],
402
- raw_entry: dict[str, Any],
403
- metadata: dict[str, Any],
404
- ) -> None:
405
- source_kind = normalize_source_kind(raw_entry.get("source_kind"))
406
- if source_kind is None:
407
- if isinstance(raw_entry.get("plugin"), dict):
408
- source_kind = "plugin"
409
- elif isinstance(raw_entry.get("connector"), dict):
410
- source_kind = "connector"
411
- elif isinstance(raw_entry.get("app"), dict):
412
- source_kind = "app"
413
- elif isinstance(raw_entry.get("manual"), dict) or raw_entry.get("manual_source"):
414
- source_kind = "manual"
415
- elif entry.get("status") == "active" and entry.get("preferred"):
416
- source_kind = "connector"
417
-
418
- if source_kind:
419
- entry["source_kind"] = source_kind
420
-
421
- for key in ("plugin", "app", "connector", "manual"):
422
- compact = compact_mapping(raw_entry.get(key))
423
- if compact is not None:
424
- entry[key] = compact
425
-
426
- manual_source = raw_entry.get("manual_source")
427
- if isinstance(manual_source, str) and manual_source:
428
- entry["manual_source"] = manual_source
429
-
430
- skill_surface = str(raw_entry.get("skill_surface") or "") or default_skill_surface(
431
- source_kind,
432
- metadata,
433
- )
434
- if skill_surface:
435
- entry["skill_surface"] = skill_surface
436
-
437
- runtime_action = str(raw_entry.get("runtime_action") or "") or default_runtime_action(
438
- source_kind,
439
- skill_surface,
440
- )
441
- if runtime_action:
442
- entry["runtime_action"] = runtime_action
443
-
444
- for evidence_key in (
445
- "installed_evidence",
446
- "plugin_install_evidence",
447
- "app_surface_evidence",
448
- "connector_surface_evidence",
449
- "skill_surface_evidence",
450
- "tool_surface_evidence",
451
- ):
452
- evidence_value = raw_entry.get(evidence_key)
453
- if isinstance(evidence_value, str) and evidence_value:
454
- entry[evidence_key] = evidence_value
455
-
456
-
457
- def copy_source_resolution_metadata(
458
- entry: dict[str, Any],
459
- raw_entry: dict[str, Any],
460
- ) -> None:
461
- for key in ("resolution", "resolved_at", "resolution_note"):
462
- value = raw_entry.get(key)
463
- if isinstance(value, str) and value:
464
- entry[key] = value
465
-
466
-
467
- def core_source_fallback_is_explicit(entry: dict[str, Any]) -> bool:
468
- return (
469
- str(entry.get("resolution") or "").casefold()
470
- in CORE_SOURCE_EXPLICIT_FALLBACK_RESOLUTIONS
471
- )
472
-
473
-
474
- def normalize_unacknowledged_core_source_fallback(
475
- category_id: str,
476
- entry: dict[str, Any],
477
- metadata: dict[str, Any],
478
- ) -> None:
479
- if category_id not in CORE_CATEGORY_IDS:
480
- return
481
- if entry.get("status") not in ONBOARDING_RESOLVED_SOURCE_STATUSES:
482
- return
483
- if core_source_fallback_is_explicit(entry):
484
- return
485
-
486
- recorded_status = str(entry["status"])
487
- previous_setup_action = str(
488
- entry.get("fallback_setup_action") or entry.get("setup_action") or ""
489
- )
490
- preferred_routes = preferred_source_routes(metadata)
491
- entry["recorded_status"] = recorded_status
492
- entry["status"] = "needs_confirmation"
493
- entry["candidates"] = preferred_routes
494
- entry["setup_action"] = "run_plugin_first_source_setup"
495
- if previous_setup_action and previous_setup_action != entry["setup_action"]:
496
- entry["fallback_setup_action"] = previous_setup_action
497
- entry["setup_note"] = "core_source_requires_explicit_user_resolution_before_fallback"
498
- entry["plugin_preference_order"] = preferred_routes
499
- entry["setup_recovery"] = plugin_first_setup_recovery(metadata, previous_setup_action)
500
-
501
-
502
- def compact_source_route(raw_route: Any, metadata: dict[str, Any]) -> dict[str, Any] | None:
503
- if not isinstance(raw_route, dict):
504
- return None
505
- route: dict[str, Any] = {}
506
- for key in ("status", "preferred", "name", "label", "fallback", "setup_action"):
507
- value = raw_route.get(key)
508
- if isinstance(value, str) and value:
509
- route[key] = value
510
- copy_configured_route_metadata(route, raw_route, metadata)
511
- if "preferred" not in route:
512
- for route_key in ("plugin", "app", "connector", "manual"):
513
- raw_value = raw_route.get(route_key)
514
- if isinstance(raw_value, str) and raw_value:
515
- route["preferred"] = raw_value
516
- break
517
- if isinstance(raw_value, dict):
518
- for name_key in ("name", "display_name", "id"):
519
- name_value = raw_value.get(name_key)
520
- if isinstance(name_value, str) and name_value:
521
- route["preferred"] = name_value
522
- break
523
- if "preferred" in route:
524
- break
525
- if "runtime_action" not in route and route.get("source_kind"):
526
- runtime_action = default_runtime_action(
527
- str(route.get("source_kind") or ""),
528
- str(route.get("skill_surface") or ""),
529
- )
530
- if runtime_action:
531
- route["runtime_action"] = runtime_action
532
- return route or None
533
-
534
-
535
- def active_plugin_route_present(entry: dict[str, Any]) -> bool:
536
- if entry.get("source_kind") == "plugin":
537
- return True
538
- routes = entry.get("routes")
539
- if not isinstance(routes, list):
540
- return False
541
- return any(isinstance(route, dict) and route.get("source_kind") == "plugin" for route in routes)
542
-
543
-
544
- def unproven_plugin_route(entry: dict[str, Any]) -> bool:
545
- if entry.get("source_kind") != "plugin":
546
- return False
547
- installed_evidence = str(entry.get("installed_evidence") or "")
548
- plugin_install_evidence = str(entry.get("plugin_install_evidence") or "")
549
- if installed_evidence in PLUGIN_INSTALL_EVIDENCE:
550
- return False
551
- if plugin_install_evidence not in PLUGIN_INSTALL_EVIDENCE:
552
- return True
553
- if entry.get("skill_surface") == "plugin_owned":
554
- skill_surface_evidence = str(entry.get("skill_surface_evidence") or "")
555
- if skill_surface_evidence not in PLUGIN_SKILL_SURFACE_EVIDENCE:
556
- return True
557
- surface_evidence = {
558
- str(entry.get("app_surface_evidence") or ""),
559
- str(entry.get("tool_surface_evidence") or ""),
560
- str(entry.get("skill_surface_evidence") or ""),
561
- }
562
- return not surface_evidence.intersection(
563
- PLUGIN_TOOL_SURFACE_EVIDENCE | PLUGIN_SKILL_SURFACE_EVIDENCE
564
- )
565
-
566
-
567
- def list_from_inventory(inventory: dict[str, Any], *keys: str) -> list[str]:
568
- values: list[str] = []
569
- for key in keys:
570
- raw = inventory.get(key)
571
- if isinstance(raw, list):
572
- values.extend(str(item) for item in raw if isinstance(item, str) and item)
573
- return values
574
-
575
-
576
- def matching_configured_sources(preferred_sources: list[str], candidates: set[str]) -> list[str]:
577
- return [
578
- source for source in preferred_sources if normalize_source_name(source) in candidates
579
- ]
580
-
581
-
582
- def missing_source_it_options(preferred_sources: list[str]) -> list[str]:
583
- source_list = ", ".join(preferred_sources) if preferred_sources else "a matching source"
584
- return [
585
- f"Ask IT or a workspace admin to install or enable one of: {source_list}.",
586
- "Use exported, pasted, or manually supplied context for the current workflow.",
587
- ]
588
-
589
-
590
- def load_app_connector_ids() -> dict[str, str]:
591
- manifest = json.loads(APP_MANIFEST_REFERENCE.read_text(encoding="utf-8"))
592
- apps = manifest.get("apps") if isinstance(manifest, dict) else None
593
- if not isinstance(apps, dict):
594
- return {}
595
- return {
596
- normalize_source_name(app_name): str(metadata["id"])
597
- for app_name, metadata in apps.items()
598
- if isinstance(app_name, str)
599
- and isinstance(metadata, dict)
600
- and isinstance(metadata.get("id"), str)
601
- and metadata["id"]
602
- }
603
-
604
-
605
- def plugin_connector_ids(
606
- plugin_name: str,
607
- metadata: dict[str, Any],
608
- app_connector_ids: dict[str, str],
609
- ) -> set[str]:
610
- plugin_alias = normalize_source_name(plugin_name)
611
- return {
612
- connector_id
613
- for source_name in preferred_source_routes(metadata)
614
- if normalize_source_name(source_name) == plugin_alias
615
- for connector_id in [app_connector_ids.get(normalize_source_name(source_name))]
616
- if connector_id
617
- }
618
-
619
-
620
- def compact_install_candidate(candidate: dict[str, Any]) -> dict[str, Any]:
621
- return {
622
- key: candidate[key]
623
- for key in (
624
- "id",
625
- "name",
626
- "display_name",
627
- "tool_type",
628
- "has_skills",
629
- "app_connector_ids",
630
- )
631
- if key in candidate
632
- }
633
-
634
-
635
- def match_installable_plugin_candidates(
636
- source_category_config: dict[str, Any],
637
- candidates: list[dict[str, Any]] | dict[str, Any],
638
- app_connector_ids: dict[str, str] | None = None,
639
- ) -> dict[str, list[dict[str, Any]]]:
640
- """Rank installable plugins using config order, plugin slugs, and connector ids."""
641
- if isinstance(candidates, dict):
642
- raw_candidates = candidates.get("tools")
643
- candidates = raw_candidates if isinstance(raw_candidates, list) else []
644
- connector_ids = app_connector_ids if app_connector_ids is not None else load_app_connector_ids()
645
- matches: dict[str, list[dict[str, Any]]] = {}
646
- for category_id, metadata in source_category_config.items():
647
- category_matches: list[dict[str, Any]] = []
648
- for rank, plugin_name in enumerate(metadata.get("preferred_plugins") or []):
649
- plugin_alias = normalize_source_name(plugin_name)
650
- configured_connector_ids = plugin_connector_ids(plugin_name, metadata, connector_ids)
651
- for candidate in candidates:
652
- if not isinstance(candidate, dict) or candidate.get("tool_type") != "plugin":
653
- continue
654
- candidate_aliases = {
655
- normalize_source_name(candidate.get("name")),
656
- normalize_source_name(candidate.get("display_name")),
657
- normalize_source_name(str(candidate.get("id") or "").split("@", 1)[0]),
658
- }
659
- candidate_connector_ids = {
660
- str(connector_id)
661
- for connector_id in candidate.get("app_connector_ids") or []
662
- if isinstance(connector_id, str)
663
- }
664
- reasons: list[str] = []
665
- if plugin_alias and plugin_alias in candidate_aliases:
666
- reasons.append("plugin_name")
667
- if configured_connector_ids & candidate_connector_ids:
668
- reasons.append("app_connector_id")
669
- if not reasons:
670
- continue
671
- category_matches.append(
672
- {
673
- "preferred_plugin": plugin_name,
674
- "preference_rank": rank,
675
- "match_reasons": reasons,
676
- "candidate": compact_install_candidate(candidate),
677
- }
678
- )
679
- break
680
- if category_matches:
681
- matches[category_id] = category_matches
682
- return matches
683
-
684
-
685
- def plugin_first_setup_recovery(
686
- metadata: dict[str, Any],
687
- fallback_setup_action: str,
688
- ) -> dict[str, Any]:
689
- recovery = {
690
- "type": "plugin_first_source_setup",
691
- "preferred_plugins": unique_strings(metadata.get("preferred_plugins") or []),
692
- "configured_source_routes": preferred_source_routes(metadata),
693
- "candidate_lookup": "host_available_plugin_catalog",
694
- "candidate_match": "plugin_name_slug_or_app_connector_id_intersection",
695
- "install_request": "host_authorized_plugin_install",
696
- "install_requires_user_approval": True,
697
- "fallback_setup_action": fallback_setup_action,
698
- }
699
- legacy_app_fallbacks = unique_strings(metadata.get("preferred_apps") or [])
700
- if legacy_app_fallbacks:
701
- recovery["legacy_app_fallbacks"] = legacy_app_fallbacks
702
- return recovery
703
-
704
-
705
- def connector_confirmation_base_entry(
706
- category_id: str,
707
- metadata: dict[str, Any],
708
- ) -> dict[str, Any]:
709
- preferred_plugins = unique_strings(metadata.get("preferred_plugins") or [])
710
- preferred_apps = unique_strings(metadata.get("preferred_apps") or [])
711
- entry: dict[str, Any] = {
712
- "id": category_id,
713
- "label": metadata["label"],
714
- "state_scope": "onboarding_only_not_durable_connector_readiness",
715
- "workflow_time_behavior": "attempt_actual_reads_only_when_a_workflow_needs_the_source",
716
- "eager_read": False,
717
- }
718
- if preferred_plugins:
719
- entry["preferred_plugins"] = preferred_plugins
720
- if preferred_apps:
721
- entry["preferred_apps"] = preferred_apps
722
- return entry
723
-
724
-
725
- def onboarding_status(onboarding_state: dict[str, Any] | None) -> str:
726
- if not onboarding_state:
727
- return "missing"
728
- return str(onboarding_state.get("status") or "active")
729
-
730
-
731
- def connector_categories(onboarding_state: dict[str, Any] | None) -> dict[str, dict[str, Any]]:
732
- state = onboarding_state or {}
733
- connector_confirmation = state.get("connector_confirmation") or {}
734
- if not isinstance(connector_confirmation, dict):
735
- return {}
736
- categories = connector_confirmation.get("categories")
737
- if isinstance(categories, dict):
738
- return categories
739
- return {
740
- str(category_id): entry
741
- for category_id, entry in connector_confirmation.items()
742
- if category_id not in {"status", "last_shown", "preferences"}
743
- and isinstance(entry, dict)
744
- }
745
-
746
-
747
- def source_status(entry: dict[str, Any] | None) -> str:
748
- raw_status = str((entry or {}).get("status") or "needs_confirmation").casefold()
749
- aliases = {
750
- "available": "needs_confirmation",
751
- "blocked": "unavailable",
752
- "choose_source": "needs_confirmation",
753
- "connected": "active",
754
- "manual": "active",
755
- "needs_setup_probe": "needs_confirmation",
756
- "not_available": "missing",
757
- "selected": "needs_confirmation",
758
- "selected_for_verification": "needs_confirmation",
759
- "selected_needs_auth": "needs_confirmation",
760
- }
761
- return aliases.get(raw_status, raw_status)
762
-
763
-
764
- def source_setup_action(status: str) -> str:
765
- actions = {
766
- "active": "none_try_on_use",
767
- "needs_confirmation": "ask_user_to_choose_or_confirm_source",
768
- "missing": "explain_workflow_impact_and_it_admin_options",
769
- "unavailable": "ask_admin_or_manual_fallback",
770
- "declined": "none_declined",
771
- "skipped": "none_skipped",
772
- "skipped_for_now": "none_skipped",
773
- "deferred": "none_deferred",
774
- "deferred_environment_api_limitations": "none_deferred",
775
- "not_applicable": "none_not_applicable",
776
- }
777
- return actions.get(status, "ask_user_to_choose_or_confirm_source")
778
-
779
-
780
- def normalized_connector_confirmation(
781
- source_category_config: dict[str, Any],
782
- onboarding_state: dict[str, Any] | None,
783
- ) -> dict[str, dict[str, Any]]:
784
- raw_categories = connector_categories(onboarding_state)
785
- state = onboarding_state or {}
786
- raw_confirmation = state.get("connector_confirmation") or {}
787
- raw_preferences = raw_confirmation.get("preferences") if isinstance(raw_confirmation, dict) else {}
788
- if not isinstance(raw_preferences, dict):
789
- raw_preferences = {}
790
- inventory = state.get("connector_inventory") or {}
791
- if not isinstance(inventory, dict):
792
- inventory = {}
793
- confirmation: dict[str, dict[str, Any]] = {}
794
- for category_id, metadata in source_category_config.items():
795
- raw_entry = raw_categories.get(category_id)
796
- if raw_entry is None:
797
- raw_entry = raw_preferences.get(category_id)
798
- raw_entry = raw_entry if isinstance(raw_entry, dict) else {}
799
- preferred_plugins = unique_strings(metadata.get("preferred_plugins") or [])
800
- preferred_routes = preferred_source_routes(metadata)
801
- entry = connector_confirmation_base_entry(category_id, metadata)
802
-
803
- if raw_entry:
804
- status = source_status(raw_entry)
805
- if status in ONBOARDING_RESOLVED_SOURCE_STATUSES:
806
- entry["status"] = status
807
- entry["setup_action"] = source_setup_action(status)
808
- copy_configured_route_metadata(entry, raw_entry, metadata)
809
- copy_source_resolution_metadata(entry, raw_entry)
810
- elif status in {"active", "needs_confirmation", "missing"}:
811
- entry["status"] = status
812
- preferred = raw_entry.get("preferred") or raw_entry.get("app")
813
- if isinstance(preferred, str) and preferred:
814
- entry["preferred"] = preferred
815
- fallback = raw_entry.get("fallback") or raw_entry.get("backup")
816
- if isinstance(fallback, str) and fallback:
817
- entry["fallback"] = fallback
818
- if status == "active":
819
- raw_routes = raw_entry.get("routes")
820
- if isinstance(raw_routes, list):
821
- compacted_routes = [
822
- route
823
- for route in (
824
- compact_source_route(raw_route, metadata) for raw_route in raw_routes
825
- )
826
- if route is not None
827
- ]
828
- routes = [
829
- route
830
- for route in compacted_routes
831
- if not unproven_plugin_route(route)
832
- ]
833
- if routes:
834
- entry["routes"] = routes
835
- if "preferred" not in entry:
836
- first_preferred = routes[0].get("preferred")
837
- if isinstance(first_preferred, str) and first_preferred:
838
- entry["preferred"] = first_preferred
839
- elif compacted_routes:
840
- entry = connector_confirmation_base_entry(category_id, metadata)
841
- entry.update(
842
- {
843
- "status": "needs_confirmation",
844
- "candidates": preferred_routes,
845
- "setup_action": "run_plugin_first_source_setup",
846
- "setup_note": (
847
- "plugin_route_requires_plugin_install_and_surface_evidence_before_active"
848
- ),
849
- }
850
- )
851
- if entry.get("status") == "active":
852
- if raw_entry.get("confirmed_at"):
853
- entry["confirmed_at"] = raw_entry["confirmed_at"]
854
- entry["setup_action"] = "none_try_on_use"
855
- copy_configured_route_metadata(entry, raw_entry, metadata)
856
- copy_source_resolution_metadata(entry, raw_entry)
857
- if unproven_plugin_route(entry):
858
- entry = connector_confirmation_base_entry(category_id, metadata)
859
- entry.update(
860
- {
861
- "status": "needs_confirmation",
862
- "candidates": preferred_routes,
863
- "setup_action": "run_plugin_first_source_setup",
864
- "setup_note": (
865
- "plugin_route_requires_plugin_install_and_surface_evidence_before_active"
866
- ),
867
- }
868
- )
869
- elif status == "needs_confirmation":
870
- candidates = raw_entry.get("candidates")
871
- if not isinstance(candidates, list) or not candidates:
872
- if preferred:
873
- candidates = [preferred]
874
- else:
875
- candidates = preferred_routes
876
- entry["candidates"] = unique_strings(candidates)
877
- entry["setup_action"] = source_setup_action(status)
878
- copy_configured_route_metadata(entry, raw_entry, metadata)
879
- copy_source_resolution_metadata(entry, raw_entry)
880
- else:
881
- options = raw_entry.get("options")
882
- if not isinstance(options, list) or not options:
883
- options = preferred_routes
884
- entry["options"] = unique_strings(options)
885
- entry["it_admin_options"] = raw_entry.get(
886
- "it_admin_options"
887
- ) or missing_source_it_options(entry["options"])
888
- entry["setup_action"] = source_setup_action(status)
889
- copy_configured_route_metadata(entry, raw_entry, metadata)
890
- copy_source_resolution_metadata(entry, raw_entry)
891
- else:
892
- entry["status"] = "needs_confirmation"
893
- entry["candidates"] = preferred_routes
894
- entry["setup_action"] = source_setup_action("needs_confirmation")
895
- else:
896
- configured_apps = {
897
- normalize_source_name(app)
898
- for app in list_from_inventory(
899
- inventory,
900
- "active_apps",
901
- "active",
902
- "installed_and_active",
903
- "connected_apps",
904
- "available_apps",
905
- "available",
906
- "installed_apps",
907
- "surfaced_apps",
908
- )
909
- }
910
- available_matches = matching_configured_sources(preferred_routes, configured_apps)
911
- if available_matches:
912
- entry["status"] = "needs_confirmation"
913
- entry["candidates"] = available_matches
914
- entry["setup_action"] = source_setup_action("needs_confirmation")
915
- elif inventory:
916
- entry["status"] = "missing"
917
- entry["options"] = preferred_routes
918
- entry["it_admin_options"] = missing_source_it_options(preferred_routes)
919
- entry["setup_action"] = source_setup_action("missing")
920
- else:
921
- entry["status"] = "needs_confirmation"
922
- entry["candidates"] = preferred_routes
923
- entry["setup_action"] = source_setup_action("needs_confirmation")
924
-
925
- if entry.get("status") == "active" and raw_entry.get("status") == "manual":
926
- entry.setdefault("source_kind", "manual")
927
- entry.setdefault("skill_surface", "manual")
928
- entry.setdefault("runtime_action", "use_manual_or_exported_context")
929
-
930
- if "preferred" not in entry:
931
- entry["preferred"] = raw_entry.get("preferred")
932
-
933
- relevant_skills = metadata.get("relevant_skills") or []
934
- if relevant_skills and str(entry.get("source_kind") or "").casefold() != "plugin":
935
- entry["helper_skills"] = relevant_skills
936
- entry["helper_skills_apply_when"] = ["app", "connector"]
937
-
938
- plugin_preference_order = preferred_source_routes(metadata)
939
- if (
940
- preferred_plugins
941
- and plugin_preference_order
942
- and entry["status"] in PLUGIN_FIRST_SETUP_STATUSES
943
- ):
944
- entry["plugin_preference_order"] = plugin_preference_order
945
- if not active_plugin_route_present(entry):
946
- previous_setup_action = entry.get("setup_action")
947
- entry["setup_action"] = "run_plugin_first_source_setup"
948
- if previous_setup_action and previous_setup_action != entry["setup_action"]:
949
- entry["fallback_setup_action"] = previous_setup_action
950
- entry["setup_recovery"] = plugin_first_setup_recovery(
951
- metadata,
952
- str(previous_setup_action or source_setup_action(entry["status"])),
953
- )
954
- normalize_unacknowledged_core_source_fallback(category_id, entry, metadata)
955
- confirmation[category_id] = entry
956
- return confirmation
957
-
958
-
959
- def connector_confirmation_status(
960
- source_category_config: dict[str, Any],
961
- onboarding_state: dict[str, Any] | None,
962
- ) -> str:
963
- state = onboarding_state or {}
964
- if not connector_categories(onboarding_state) and not state.get("connector_inventory"):
965
- return "pending"
966
- confirmation = normalized_connector_confirmation(source_category_config, onboarding_state)
967
- statuses = [confirmation[category_id]["status"] for category_id in CORE_CATEGORY_IDS]
968
- if statuses and all(status in SOURCE_CLASSIFIED_STATUSES for status in statuses):
969
- return "completed"
970
- if any(status for status in statuses):
971
- return "in_progress"
972
- return "pending"
973
-
974
-
975
- def connector_confirmation_action_required(
976
- source_category_config: dict[str, Any],
977
- onboarding_state: dict[str, Any] | None,
978
- ) -> bool:
979
- if connector_confirmation_status(source_category_config, onboarding_state) == "pending":
980
- return False
981
- confirmation = normalized_connector_confirmation(source_category_config, onboarding_state)
982
- return any(
983
- confirmation[category_id]["status"] in SOURCE_ACTION_REQUIRED_STATUSES
984
- for category_id in CORE_CATEGORY_IDS
985
- )
986
-
987
-
988
- def connector_setup_confirmation_status(
989
- source_category_config: dict[str, Any],
990
- onboarding_state: dict[str, Any] | None,
991
- ) -> str:
992
- confirmation_status = connector_confirmation_status(source_category_config, onboarding_state)
993
- if confirmation_status == "pending":
994
- return "pending"
995
- if connector_confirmation_action_required(source_category_config, onboarding_state):
996
- return "in_progress"
997
- return "completed"
998
-
999
-
1000
- def compact_connector_setup_summary_entry(entry: dict[str, Any]) -> dict[str, Any]:
1001
- compact = {
1002
- key: entry[key]
1003
- for key in (
1004
- "id",
1005
- "label",
1006
- "status",
1007
- "preferred",
1008
- "setup_action",
1009
- "fallback_setup_action",
1010
- "source_kind",
1011
- )
1012
- if key in entry
1013
- }
1014
- for key in ("candidates", "options"):
1015
- values = entry.get(key)
1016
- if isinstance(values, list) and values:
1017
- compact[key] = unique_strings(values)
1018
- return compact
1019
-
1020
-
1021
- def build_connector_setup_summary(
1022
- source_category_config: dict[str, Any],
1023
- onboarding_state: dict[str, Any] | None,
1024
- ) -> dict[str, Any]:
1025
- confirmation = normalized_connector_confirmation(source_category_config, onboarding_state)
1026
- ready: list[dict[str, Any]] = []
1027
- needs_attention: list[dict[str, Any]] = []
1028
- fallback_or_closed: list[dict[str, Any]] = []
1029
- plugin_setup_opportunities: list[dict[str, Any]] = []
1030
- unresolved_core_ids: list[str] = []
1031
- for category_id, entry in confirmation.items():
1032
- status = entry["status"]
1033
- summary_entry = compact_connector_setup_summary_entry(entry)
1034
- if status == "active":
1035
- ready.append(summary_entry)
1036
- elif status in ONBOARDING_RESOLVED_SOURCE_STATUSES:
1037
- fallback_or_closed.append(summary_entry)
1038
- else:
1039
- needs_attention.append(summary_entry)
1040
- if entry.get("setup_action") == "run_plugin_first_source_setup":
1041
- plugin_setup_opportunities.append(summary_entry)
1042
- if category_id in CORE_CATEGORY_IDS and status in SOURCE_ACTION_REQUIRED_STATUSES:
1043
- unresolved_core_ids.append(category_id)
1044
- next_entry = needs_attention[0] if needs_attention else None
1045
- return {
1046
- "status": connector_setup_confirmation_status(source_category_config, onboarding_state),
1047
- "classification_status": connector_confirmation_status(
1048
- source_category_config,
1049
- onboarding_state,
1050
- ),
1051
- "action_required": connector_confirmation_action_required(
1052
- source_category_config,
1053
- onboarding_state,
1054
- ),
1055
- "has_setup_gaps": bool(needs_attention or plugin_setup_opportunities),
1056
- "ready": ready,
1057
- "active": ready,
1058
- "needs_attention": needs_attention,
1059
- "needs_choice": needs_attention,
1060
- "fallback_or_closed": fallback_or_closed,
1061
- "not_set_up": fallback_or_closed,
1062
- "plugin_setup_opportunities": plugin_setup_opportunities,
1063
- "unresolved_core_ids": unresolved_core_ids,
1064
- "core_complete": connector_setup_confirmation_status(
1065
- source_category_config,
1066
- onboarding_state,
1067
- )
1068
- == "completed",
1069
- "next_action": (
1070
- {
1071
- "category_id": next_entry["id"],
1072
- "label": next_entry["label"],
1073
- "status": next_entry["status"],
1074
- "preferred": next_entry["preferred"],
1075
- "setup_action": next_entry["setup_action"],
1076
- }
1077
- if next_entry
1078
- else None
1079
- ),
1080
- "user_facing_guidance": (
1081
- "Use this summary for capability or setup-status answers. During onboarding, "
1082
- "resolve one highest-value source action at a time. Active sources are FYI only; "
1083
- "attempt actual reads only when a workflow needs the source."
1084
- ),
1085
- }
1086
-
1087
-
1088
- def semantic_layer_setup_status(onboarding_state: dict[str, Any] | None) -> str:
1089
- state = onboarding_state or {}
1090
- return str((state.get("semantic_layer_setup") or {}).get("status") or "pending")
1091
-
1092
-
1093
- def semantic_layer_refresh_status(onboarding_state: dict[str, Any] | None) -> str:
1094
- state = onboarding_state or {}
1095
- return str((state.get("semantic_layer_refresh") or {}).get("status") or "pending")
1096
-
1097
-
1098
- def semantic_layer_setup_resolved(onboarding_state: dict[str, Any] | None) -> bool:
1099
- setup_status = semantic_layer_setup_status(onboarding_state)
1100
- if setup_status not in SEMANTIC_SETUP_COMPLETE_STATUSES:
1101
- return False
1102
- if setup_status in SEMANTIC_SETUP_TARGET_STATUSES:
1103
- return semantic_layer_refresh_status(onboarding_state) in SEMANTIC_REFRESH_COMPLETE_STATUSES
1104
- return True
1105
-
1106
-
1107
- def hero_prompt_state(onboarding_state: dict[str, Any] | None) -> dict[str, Any]:
1108
- state = onboarding_state or {}
1109
- choice = state.get("hero_prompt_choice")
1110
- if isinstance(choice, dict):
1111
- return choice
1112
- legacy = state.get("hero_prompts")
1113
- return legacy if isinstance(legacy, dict) else {}
1114
-
1115
-
1116
- def first_hero_prompt_status(onboarding_state: dict[str, Any] | None) -> str:
1117
- choice = hero_prompt_state(onboarding_state)
1118
- status = str(choice.get("status") or "")
1119
- if status in HERO_PROMPT_COMPLETE_STATUSES:
1120
- return "completed"
1121
- if status == "selected":
1122
- return "in_progress"
1123
- skill_experience = (onboarding_state or {}).get("skill_experience") or {}
1124
- if any(
1125
- isinstance(skill_experience.get(skill), dict)
1126
- and skill_experience[skill].get("first_tried_at")
1127
- for skill in HERO_SKILLS
1128
- ):
1129
- return "completed"
1130
- if (onboarding_state or {}).get("completed_hero_prompts"):
1131
- return "completed"
1132
- return "pending"
1133
-
1134
-
1135
- def core_onboarding_complete(
1136
- source_category_config: dict[str, Any],
1137
- onboarding_state: dict[str, Any] | None,
1138
- ) -> bool:
1139
- if not onboarding_state:
1140
- return False
1141
- explicit_status = str(
1142
- (onboarding_state.get("core_onboarding") or {}).get("status") or ""
1143
- ).casefold()
1144
- if explicit_status in {"completed", "complete", "complete_with_fallback"}:
1145
- return True
1146
- return (
1147
- connector_setup_confirmation_status(source_category_config, onboarding_state)
1148
- == "completed"
1149
- and semantic_layer_setup_resolved(onboarding_state)
1150
- )
1151
-
1152
-
1153
- def progress_task_list(
1154
- source_category_config: dict[str, Any],
1155
- onboarding_state: dict[str, Any] | None,
1156
- ) -> list[dict[str, str]]:
1157
- state = onboarding_state or {}
1158
- status = onboarding_status(onboarding_state)
1159
- task_specs = (
1160
- (
1161
- "orientation",
1162
- "Orientation",
1163
- (state.get("orientation") or {}).get("status") in {"shown", "completed"},
1164
- ),
1165
- (
1166
- "source_setup_confirmation",
1167
- "Check main analytics sources",
1168
- connector_setup_confirmation_status(source_category_config, onboarding_state)
1169
- == "completed",
1170
- ),
1171
- (
1172
- "semantic_layer_setup",
1173
- "Set Up Data Context",
1174
- semantic_layer_setup_resolved(onboarding_state),
1175
- ),
1176
- ("hero_prompt", "Hero prompt", first_hero_prompt_status(onboarding_state) == "completed"),
1177
- )
1178
- found_in_progress = False
1179
- task_list: list[dict[str, str]] = []
1180
- for task_id, label, completed in task_specs:
1181
- if completed:
1182
- task_status = "completed"
1183
- elif not found_in_progress and status not in {"complete", "quiet"}:
1184
- task_status = "in_progress"
1185
- found_in_progress = True
1186
- else:
1187
- task_status = "pending"
1188
- task_list.append({"id": task_id, "label": label, "status": task_status})
1189
- return task_list
1190
-
1191
-
1192
- def next_onboarding_action(
1193
- source_category_config: dict[str, Any],
1194
- onboarding_state: dict[str, Any] | None,
1195
- ) -> dict[str, str] | None:
1196
- tasks = progress_task_list(source_category_config, onboarding_state)
1197
- for task in tasks:
1198
- if task["status"] == "completed":
1199
- continue
1200
- mapping = {
1201
- "orientation": ("start_data_analytics_onboarding", "show orientation"),
1202
- "source_setup_confirmation": (
1203
- "confirm_analytics_sources",
1204
- "confirm active or missing sources",
1205
- ),
1206
- "semantic_layer_setup": (
1207
- "introduce_semantic_layer_setup",
1208
- "set up data context",
1209
- ),
1210
- "hero_prompt": ("offer_first_hero_prompt", "run or resolve the first hero prompt"),
1211
- }
1212
- action_id, label = mapping[task["id"]]
1213
- return {"id": action_id, "label": label}
1214
- return None
1215
-
1216
-
1217
- def semantic_layer_registry(user_context_text: str | None) -> list[dict[str, str]]:
1218
- if not user_context_text:
1219
- return []
1220
- bounds = section_bounds(user_context_text)
1221
- semantic_section = bounds.get("semantic layers")
1222
- if not semantic_section:
1223
- return []
1224
- start, end, _ = semantic_section
1225
- section = user_context_text[start:end]
1226
- entries: list[dict[str, str]] = []
1227
- for block in re.split(r"(?m)^- Area:\s*", section)[1:]:
1228
- lines = block.splitlines()
1229
- area = lines[0].strip()
1230
- entry: dict[str, str] = {"area": area}
1231
- for line in lines[1:]:
1232
- match = re.match(
1233
- r"\s*-\s*(Skill Name|Skill Path|Source Inventory Path|Last Updated):\s*(.+?)\s*$",
1234
- line,
1235
- )
1236
- if match:
1237
- entry[match.group(1).lower().replace(" ", "_")] = match.group(2)
1238
- if "skill_path" in entry:
1239
- entries.append(entry)
1240
- return entries
1241
-
1242
-
1243
- def saved_anchor_values(user_context_text: str | None) -> dict[str, list[str]]:
1244
- if not user_context_text:
1245
- return {"areas": [], "metrics": [], "dashboards": [], "tables": [], "goals": []}
1246
- return {
1247
- "areas": [entry["area"] for entry in semantic_layer_registry(user_context_text)],
1248
- "metrics": [],
1249
- "dashboards": [],
1250
- "tables": [],
1251
- "goals": [],
1252
- }
1253
-
1254
-
1255
- def build_hero_prompt_candidates(
1256
- user_context_text: str | None,
1257
- onboarding_state: dict[str, Any] | None,
1258
- ) -> list[dict[str, str]]:
1259
- anchors = saved_anchor_values(user_context_text)
1260
- semantic_setup = (onboarding_state or {}).get("semantic_layer_setup") or {}
1261
- area = semantic_setup.get("area") or (anchors["areas"][0] if anchors["areas"] else None)
1262
- metric = anchors["metrics"][0] if anchors["metrics"] else None
1263
- dashboard = anchors["dashboards"][0] if anchors["dashboards"] else None
1264
- goal = anchors["goals"][0] if anchors["goals"] else None
1265
- target = area or goal or dashboard or metric
1266
- if not target:
1267
- return []
1268
-
1269
- return [
1270
- {
1271
- "skill": "product-business-analysis",
1272
- "label": "Build a decision-ready report",
1273
- "prompt": (
1274
- f"Build a decision-ready report for {target}: explain what is happening, "
1275
- "identify the main drivers, recommend where the team should focus next, "
1276
- "and include sources, caveats, and useful charts."
1277
- ),
1278
- }
1279
- ]
1280
-
1281
-
1282
- def reorder_hero_prompt_candidates(
1283
- candidates: list[dict[str, str]],
1284
- onboarding_state: dict[str, Any] | None,
1285
- ) -> list[dict[str, str]]:
1286
- selected_skill = str(hero_prompt_state(onboarding_state).get("selected_skill") or "")
1287
- if not selected_skill:
1288
- return candidates
1289
- selected = [candidate for candidate in candidates if candidate["skill"] == selected_skill]
1290
- remaining = [candidate for candidate in candidates if candidate["skill"] != selected_skill]
1291
- return selected + remaining
1292
-
1293
-
1294
- def current_skill_experience(
1295
- workflow: str,
1296
- request_mode: str,
1297
- onboarding_state: dict[str, Any] | None,
1298
- ) -> dict[str, Any]:
1299
- skill_experience = (onboarding_state or {}).get("skill_experience") or {}
1300
- entry = skill_experience.get(workflow) if isinstance(skill_experience, dict) else None
1301
- entry = entry if isinstance(entry, dict) else {}
1302
- introduced = bool(entry.get("introduced_at"))
1303
- tried = bool(entry.get("first_tried_at"))
1304
- dismissed = bool(entry.get("dismissed_at"))
1305
- return {
1306
- "skill": workflow,
1307
- "introduced": introduced,
1308
- "tried": tried,
1309
- "dismissed": dismissed,
1310
- "intro_eligible": workflow in HERO_SKILLS and not introduced and not dismissed,
1311
- "cta_owner": "onboarding" if request_mode == "guided_onboarding_workflow" else "skill",
1312
- }
1313
-
1314
-
1315
- def final_obligations(
1316
- request_mode: str,
1317
- user_context_status: str,
1318
- source_category_config: dict[str, Any],
1319
- onboarding_state: dict[str, Any] | None,
1320
- ) -> list[dict[str, Any]]:
1321
- if request_mode != "ordinary_workflow":
1322
- return []
1323
- status = onboarding_status(onboarding_state)
1324
- if status in {"complete", "quiet"}:
1325
- return []
1326
- if user_context_status in {"missing", "unreadable"}:
1327
- return [
1328
- {
1329
- "id": "offer_data_analytics_onboarding_next_step",
1330
- "timing": "append_after_main_answer",
1331
- "only_when": "missing setup materially affects the requested output and the user has not requested inline-only or quiet delivery",
1332
- "template": markdown_template_from_onboarding_reference(
1333
- "Ordinary Workflow Onboarding CTA"
1334
- ),
1335
- "next_action": {"id": "start_data_analytics_onboarding"},
1336
- "skip_when": "the response requires a clarification or the user asked for quiet behavior",
1337
- }
1338
- ]
1339
- if not core_onboarding_complete(source_category_config, onboarding_state):
1340
- return [
1341
- {
1342
- "id": "complete_data_analytics_core_onboarding",
1343
- "timing": "append_after_main_answer",
1344
- "only_when": "missing setup materially affects the requested output and the user has not requested inline-only or quiet delivery",
1345
- "template": markdown_template_from_onboarding_reference(
1346
- "Active Core Onboarding Reminder"
1347
- ),
1348
- "requirement": "core onboarding is not complete",
1349
- "next_action": next_onboarding_action(source_category_config, onboarding_state),
1350
- "skip_when": "the response requires a clarification or the user asked for quiet behavior",
1351
- }
1352
- ]
1353
- return []
1354
-
1355
-
1356
- def conditional_guidance(request_mode: str, user_context_status: str) -> list[dict[str, Any]]:
1357
- if request_mode != "ordinary_workflow":
1358
- return []
1359
- if user_context_status not in {"missing", "unreadable"}:
1360
- return []
1361
- return [
1362
- {
1363
- "id": "context_gap_note",
1364
- "template": markdown_template_from_onboarding_reference("Context Gap Note"),
1365
- "potential_gaps": [
1366
- "Data Analytics source-routing preferences or semantic-layer registry are missing or unreadable"
1367
- ],
1368
- }
1369
- ]
1370
-
1371
-
1372
- def main() -> int:
1373
- args = parse_args()
1374
- state_dir = state_dir_from_args(args)
1375
- user_context_path = state_dir / "user-context.md"
1376
- onboarding_state_path = state_dir / "onboarding-state.json"
1377
-
1378
- user_context = read_text_payload(
1379
- user_context_path,
1380
- max_context_bytes=args.max_context_bytes,
1381
- sections=args.section,
1382
- )
1383
- onboarding_state = read_json_payload(
1384
- onboarding_state_path,
1385
- max_context_bytes=args.max_context_bytes,
1386
- )
1387
- onboarding_data = (
1388
- onboarding_state.get("data") if onboarding_state["status"] == "present" else None
1389
- )
1390
- source_category_config = load_source_category_config()
1391
- user_context_text = payload_text(user_context)
1392
- saved_source_preferences = extract_saved_source_preferences(
1393
- user_context_text,
1394
- source_category_config,
1395
- )
1396
- connector_confirmation = normalized_connector_confirmation(
1397
- source_category_config, onboarding_data
1398
- )
1399
- connector_setup_summary = build_connector_setup_summary(source_category_config, onboarding_data)
1400
- hero_prompt_candidates = reorder_hero_prompt_candidates(
1401
- build_hero_prompt_candidates(user_context_text, onboarding_data),
1402
- onboarding_data,
1403
- )
1404
- task_list = progress_task_list(source_category_config, onboarding_data)
1405
- payload = {
1406
- "schema": "data_analytics_preflight.v1",
1407
- "read_only": True,
1408
- "workflow": args.workflow,
1409
- "request_mode": args.request_mode,
1410
- "state": {
1411
- "state_dir": str(state_dir),
1412
- "user_context_status": user_context["status"],
1413
- "onboarding_state_status": onboarding_state["status"],
1414
- },
1415
- "files": {
1416
- "user_context": public_file_payload(user_context, include_content=False),
1417
- "onboarding_state": public_file_payload(onboarding_state, include_content=False),
1418
- },
1419
- "current_skill_experience": current_skill_experience(
1420
- args.workflow,
1421
- args.request_mode,
1422
- onboarding_data,
1423
- ),
1424
- "context": {
1425
- "user_context": summarize_user_context(user_context_text, source_category_config),
1426
- "source_preferences": saved_source_preferences,
1427
- "source_category_config": source_category_config,
1428
- "connector_confirmation": connector_confirmation,
1429
- "connector_setup_summary": connector_setup_summary,
1430
- "semantic_layers": semantic_layer_registry(user_context_text),
1431
- "hero_prompt_candidates": hero_prompt_candidates,
1432
- "primary_hero_prompt": hero_prompt_candidates[0] if hero_prompt_candidates else None,
1433
- "extra_hero_prompt_candidates": hero_prompt_candidates[1:3],
1434
- },
1435
- "control": {
1436
- "response_mode": args.request_mode,
1437
- "final_obligations": final_obligations(
1438
- args.request_mode,
1439
- user_context["status"],
1440
- source_category_config,
1441
- onboarding_data,
1442
- ),
1443
- "conditional_guidance": conditional_guidance(args.request_mode, user_context["status"]),
1444
- "onboarding_progress": {
1445
- "status": onboarding_status(onboarding_data),
1446
- "core_onboarding": {
1447
- "complete": core_onboarding_complete(source_category_config, onboarding_data),
1448
- "remaining_step_ids": [
1449
- item["id"] for item in task_list if item["status"] != "completed"
1450
- ],
1451
- "next_action": next_onboarding_action(source_category_config, onboarding_data),
1452
- },
1453
- "task_list": task_list,
1454
- },
1455
- },
1456
- }
1457
- print(json.dumps(payload, indent=2))
1458
- return 0
1459
-
1460
-
1461
- if __name__ == "__main__":
1462
- sys.exit(main())