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.
- package/package.json +1 -1
- package/src/template/asset-runtime.js +23 -6
- package/template/.agents/skills/.strategic-design-skills-manifest.json +5 -5
- package/template/.agents/skills/archify/SKILL.md +4 -52
- package/template/.agents/skills/archify/references/authoring-notes.md +12 -0
- package/template/.agents/skills/archify/references/authoring-workflow.md +25 -0
- package/template/.agents/skills/archify/references/delivery-workflow.md +25 -0
- package/template/.agents/skills/archify/references/upstream-updates.md +12 -0
- package/template/.agents/skills/code-review/SKILL.md +3 -34
- package/template/.agents/skills/code-review/references/legacy-convergence.md +5 -0
- package/template/.agents/skills/code-review/references/review-axis-checklists.md +18 -0
- package/template/.agents/skills/code-review/references/smell-baseline.md +23 -0
- package/template/.agents/skills/codebase-design/SKILL.md +4 -0
- package/template/.agents/skills/codebase-design/references/architecture-audit.md +69 -0
- package/template/.agents/skills/diagnosing-bugs/SKILL.md +3 -91
- package/template/.agents/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
- package/template/.agents/skills/diagnosing-bugs/references/investigation.md +49 -0
- package/template/.agents/skills/frontend-commit/SKILL.md +4 -93
- package/template/.agents/skills/git-commit-core/SKILL.md +18 -0
- package/template/.agents/skills/git-commit-core/agents/openai.yaml +2 -0
- package/template/.agents/skills/java-backend-commit/SKILL.md +4 -96
- package/template/.agents/skills/llm-wiki/SKILL.md +12 -13
- package/template/.agents/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
- package/template/.agents/skills/llm-wiki/references/compile.md +21 -114
- package/template/.agents/skills/llm-wiki/references/ingest.md +8 -33
- package/template/.agents/skills/llm-wiki/references/lint.md +9 -46
- package/template/.agents/skills/llm-wiki/references/query.md +9 -18
- package/template/.agents/skills/llm-wiki/references/schema.md +56 -29
- package/template/.agents/skills/llm-wiki/references/transactions.md +48 -0
- package/template/.agents/skills/llm-wiki/references/writing.md +4 -4
- package/template/.agents/skills/llm-wiki/scripts/advise.mjs +46 -58
- package/template/.agents/skills/llm-wiki/scripts/advise.test.mjs +11 -16
- package/template/.agents/skills/llm-wiki/scripts/core.mjs +262 -0
- package/template/.agents/skills/llm-wiki/scripts/extract.mjs +35 -18
- package/template/.agents/skills/llm-wiki/scripts/extract.test.mjs +5 -8
- package/template/.agents/skills/llm-wiki/scripts/feedback.mjs +51 -0
- package/template/.agents/skills/llm-wiki/scripts/inventory.mjs +43 -171
- package/template/.agents/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
- package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
- package/template/.agents/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
- package/template/.agents/skills/llm-wiki/scripts/migrate.mjs +51 -0
- package/template/.agents/skills/llm-wiki/scripts/query.mjs +149 -0
- package/template/.agents/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
- package/template/.agents/skills/llm-wiki/scripts/sources.mjs +166 -0
- package/template/.agents/skills/llm-wiki/scripts/transaction.mjs +384 -0
- package/template/.agents/skills/llm-wiki/scripts/v2.test.mjs +354 -0
- package/template/.agents/skills/maintaining-skills/references/authoring.md +6 -0
- package/template/.agents/skills/prototype/LOGIC.md +1 -1
- package/template/.agents/skills/prototype/SKILL.md +5 -19
- package/template/.agents/skills/prototype-review/SKILL.md +11 -0
- package/template/.agents/skills/prototype-review/references/component-qa.md +32 -0
- package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +4 -74
- package/template/.agents/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
- package/template/.agents/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
- package/template/.agents/skills/to-spec/SKILL.md +9 -62
- package/template/.agents/skills/to-tickets/SKILL.md +20 -86
- package/template/.agents/skills/using-git-worktrees/SKILL.md +5 -122
- package/template/.agents/skills/using-git-worktrees/references/git-fallback.md +46 -0
- package/template/.agents/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
- package/template/.agents/skills/using-git-worktrees/references/troubleshooting.md +47 -0
- package/template/.agents/skills/wayfinder/SKILL.md +7 -86
- package/template/.agents/skills/wayfinder/references/chart-map.md +14 -0
- package/template/.agents/skills/wayfinder/references/map-format.md +49 -0
- package/template/.agents/skills/wayfinder/references/scope-and-frontier.md +24 -0
- package/template/.agents/skills/wayfinder/references/ticket-types.md +12 -0
- package/template/.agents/skills/wayfinder/references/work-map.md +15 -0
- package/template/.agents/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
- package/template/.agents/skills/yedit-table-usage/SKILL.md +5 -172
- package/template/.agents/skills/yedit-table-usage/references/editable-table-example.md +141 -0
- package/template/.agents/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
- package/template/.agents/skills/yss-design-system/SKILL.md +13 -3
- package/template/.agents/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
- package/template/.agents/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
- package/template/.agents/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
- package/template/.agents/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
- package/template/.agents/skills/yss-design-system/references/data-quality-theme.md +2 -2
- package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +1 -1
- package/template/.agents/skills/yss-design-system/references/design-system.md +3 -3
- package/template/.agents/skills/yss-design-system/references/enterprise-craft.md +33 -0
- package/template/.agents/skills/yss-design-system/references/page-composition.md +24 -0
- package/template/.agents/skills/yss-design-system/references/prototype-default-theme.md +26 -0
- package/template/.agents/skills/yss-design-system/references/search-date-theme.md +19 -0
- package/template/.agents/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
- package/template/.agents/skills/yss-hook/SKILL.md +8 -102
- package/template/.agents/skills/yss-hook/references/async-actions.md +49 -0
- package/template/.agents/skills/yss-hook/references/list-pagination.md +46 -0
- package/template/.agents/skills/yss-hook/references/polling.md +20 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +8 -3
- package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
- package/template/.agents/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
- package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +2 -49
- package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +45 -0
- package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
- package/template/.agents/skills/yss-openapi-governance/SKILL.md +2 -48
- package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
- package/template/.agents/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +24 -20
- package/template/.agents/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
- package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +429 -384
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +2 -2
- package/template/.agents/skills/yss-product-lifecycle/references/plan-requirements.md +12 -0
- package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -3
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +27 -8
- package/template/.agents/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
- package/template/.agents/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
- package/template/.agents/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
- package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
- package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
- package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
- package/template/.agents/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
- package/template/.agents/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
- package/template/.agents/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
- package/template/.agents/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
- package/template/.agents/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
- package/template/.agents/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
- package/template/.agents/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
- package/template/.agents/skills/yss-prototype-stage/references/business-patterns.md +42 -0
- package/template/.agents/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
- package/template/.agents/skills/yss-prototype-stage/references/component-recipes.md +41 -0
- package/template/.agents/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
- package/template/.agents/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
- package/template/.agents/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
- package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
- package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
- package/template/.agents/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
- package/template/.agents/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
- package/template/.agents/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
- package/template/.agents/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
- package/template/.agents/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
- package/template/.agents/skills/yss-prototype-stage/references/usability-research.md +26 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
- package/template/.agents/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
- package/template/.agents/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
- package/template/.agents/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
- package/template/.agents/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
- package/template/.agents/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
- package/template/.agents/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
- package/template/.agents/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
- package/template/.agents/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
- package/template/.agents/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
- package/template/.agents/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
- package/template/.agents/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
- package/template/.agents/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
- package/template/.agents/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
- package/template/.agents/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
- package/template/.agents/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
- package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
- package/template/.agents/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
- package/template/.agents/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
- package/template/.agents/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
- package/template/.agents/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
- package/template/.agents/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
- package/template/.agents/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
- package/template/.agents/skills/yss-research/SKILL.md +4 -0
- package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -0
- package/template/.agents/skills/yss-technical-design/SKILL.md +4 -0
- package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +4 -61
- package/template/.agents/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
- package/template/.agents/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
- package/template/.agents/skills/ytable-usage/SKILL.md +3 -191
- package/template/.agents/skills/ytable-usage/references/selection-and-batch.md +30 -0
- package/template/.agents/skills/ytable-usage/references/table-pagination-examples.md +170 -0
- package/template/.codex/skills/archify/SKILL.md +4 -52
- package/template/.codex/skills/archify/references/authoring-notes.md +12 -0
- package/template/.codex/skills/archify/references/authoring-workflow.md +25 -0
- package/template/.codex/skills/archify/references/delivery-workflow.md +25 -0
- package/template/.codex/skills/archify/references/upstream-updates.md +12 -0
- package/template/.codex/skills/code-review/SKILL.md +3 -34
- package/template/.codex/skills/code-review/references/legacy-convergence.md +5 -0
- package/template/.codex/skills/code-review/references/review-axis-checklists.md +18 -0
- package/template/.codex/skills/code-review/references/smell-baseline.md +23 -0
- package/template/.codex/skills/codebase-design/SKILL.md +4 -0
- package/template/.codex/skills/codebase-design/references/architecture-audit.md +69 -0
- package/template/.codex/skills/diagnosing-bugs/SKILL.md +3 -91
- package/template/.codex/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
- package/template/.codex/skills/diagnosing-bugs/references/investigation.md +49 -0
- package/template/.codex/skills/frontend-commit/SKILL.md +4 -93
- package/template/.codex/skills/git-commit-core/SKILL.md +18 -0
- package/template/.codex/skills/git-commit-core/agents/openai.yaml +2 -0
- package/template/.codex/skills/java-backend-commit/SKILL.md +4 -96
- package/template/.codex/skills/llm-wiki/SKILL.md +12 -13
- package/template/.codex/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
- package/template/.codex/skills/llm-wiki/references/compile.md +21 -114
- package/template/.codex/skills/llm-wiki/references/ingest.md +8 -33
- package/template/.codex/skills/llm-wiki/references/lint.md +9 -46
- package/template/.codex/skills/llm-wiki/references/query.md +9 -18
- package/template/.codex/skills/llm-wiki/references/schema.md +56 -29
- package/template/.codex/skills/llm-wiki/references/transactions.md +48 -0
- package/template/.codex/skills/llm-wiki/references/writing.md +4 -4
- package/template/.codex/skills/llm-wiki/scripts/advise.mjs +46 -58
- package/template/.codex/skills/llm-wiki/scripts/advise.test.mjs +11 -16
- package/template/.codex/skills/llm-wiki/scripts/core.mjs +262 -0
- package/template/.codex/skills/llm-wiki/scripts/extract.mjs +35 -18
- package/template/.codex/skills/llm-wiki/scripts/extract.test.mjs +5 -8
- package/template/.codex/skills/llm-wiki/scripts/feedback.mjs +51 -0
- package/template/.codex/skills/llm-wiki/scripts/inventory.mjs +43 -171
- package/template/.codex/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
- package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
- package/template/.codex/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
- package/template/.codex/skills/llm-wiki/scripts/migrate.mjs +51 -0
- package/template/.codex/skills/llm-wiki/scripts/query.mjs +149 -0
- package/template/.codex/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
- package/template/.codex/skills/llm-wiki/scripts/sources.mjs +166 -0
- package/template/.codex/skills/llm-wiki/scripts/transaction.mjs +384 -0
- package/template/.codex/skills/llm-wiki/scripts/v2.test.mjs +354 -0
- package/template/.codex/skills/maintaining-skills/references/authoring.md +6 -0
- package/template/.codex/skills/prototype/LOGIC.md +1 -1
- package/template/.codex/skills/prototype/SKILL.md +5 -19
- package/template/.codex/skills/prototype-review/SKILL.md +11 -0
- package/template/.codex/skills/prototype-review/references/component-qa.md +32 -0
- package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +4 -74
- package/template/.codex/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
- package/template/.codex/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
- package/template/.codex/skills/to-spec/SKILL.md +9 -62
- package/template/.codex/skills/to-tickets/SKILL.md +20 -86
- package/template/.codex/skills/using-git-worktrees/SKILL.md +5 -122
- package/template/.codex/skills/using-git-worktrees/references/git-fallback.md +46 -0
- package/template/.codex/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
- package/template/.codex/skills/using-git-worktrees/references/troubleshooting.md +47 -0
- package/template/.codex/skills/wayfinder/SKILL.md +7 -86
- package/template/.codex/skills/wayfinder/references/chart-map.md +14 -0
- package/template/.codex/skills/wayfinder/references/map-format.md +49 -0
- package/template/.codex/skills/wayfinder/references/scope-and-frontier.md +24 -0
- package/template/.codex/skills/wayfinder/references/ticket-types.md +12 -0
- package/template/.codex/skills/wayfinder/references/work-map.md +15 -0
- package/template/.codex/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
- package/template/.codex/skills/yedit-table-usage/SKILL.md +5 -172
- package/template/.codex/skills/yedit-table-usage/references/editable-table-example.md +141 -0
- package/template/.codex/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
- package/template/.codex/skills/yss-design-system/SKILL.md +13 -3
- package/template/.codex/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
- package/template/.codex/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
- package/template/.codex/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
- package/template/.codex/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
- package/template/.codex/skills/yss-design-system/references/data-quality-theme.md +2 -2
- package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +1 -1
- package/template/.codex/skills/yss-design-system/references/design-system.md +3 -3
- package/template/.codex/skills/yss-design-system/references/enterprise-craft.md +33 -0
- package/template/.codex/skills/yss-design-system/references/page-composition.md +24 -0
- package/template/.codex/skills/yss-design-system/references/prototype-default-theme.md +26 -0
- package/template/.codex/skills/yss-design-system/references/search-date-theme.md +19 -0
- package/template/.codex/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
- package/template/.codex/skills/yss-hook/SKILL.md +8 -102
- package/template/.codex/skills/yss-hook/references/async-actions.md +49 -0
- package/template/.codex/skills/yss-hook/references/list-pagination.md +46 -0
- package/template/.codex/skills/yss-hook/references/polling.md +20 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +8 -3
- package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
- package/template/.codex/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
- package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +2 -49
- package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +45 -0
- package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
- package/template/.codex/skills/yss-openapi-governance/SKILL.md +2 -48
- package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
- package/template/.codex/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +24 -20
- package/template/.codex/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
- package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +429 -384
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +2 -2
- package/template/.codex/skills/yss-product-lifecycle/references/plan-requirements.md +12 -0
- package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -3
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +27 -8
- package/template/.codex/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
- package/template/.codex/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
- package/template/.codex/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
- package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
- package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
- package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
- package/template/.codex/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
- package/template/.codex/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
- package/template/.codex/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
- package/template/.codex/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
- package/template/.codex/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
- package/template/.codex/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
- package/template/.codex/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
- package/template/.codex/skills/yss-prototype-stage/references/business-patterns.md +42 -0
- package/template/.codex/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
- package/template/.codex/skills/yss-prototype-stage/references/component-recipes.md +41 -0
- package/template/.codex/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
- package/template/.codex/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
- package/template/.codex/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
- package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
- package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
- package/template/.codex/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
- package/template/.codex/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
- package/template/.codex/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
- package/template/.codex/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
- package/template/.codex/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
- package/template/.codex/skills/yss-prototype-stage/references/usability-research.md +26 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
- package/template/.codex/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
- package/template/.codex/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
- package/template/.codex/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
- package/template/.codex/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
- package/template/.codex/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
- package/template/.codex/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
- package/template/.codex/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
- package/template/.codex/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
- package/template/.codex/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
- package/template/.codex/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
- package/template/.codex/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
- package/template/.codex/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
- package/template/.codex/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
- package/template/.codex/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
- package/template/.codex/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
- package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
- package/template/.codex/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
- package/template/.codex/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
- package/template/.codex/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
- package/template/.codex/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
- package/template/.codex/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
- package/template/.codex/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
- package/template/.codex/skills/yss-research/SKILL.md +4 -0
- package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -0
- package/template/.codex/skills/yss-technical-design/SKILL.md +4 -0
- package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +4 -61
- package/template/.codex/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
- package/template/.codex/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
- package/template/.codex/skills/ytable-usage/SKILL.md +3 -191
- package/template/.codex/skills/ytable-usage/references/selection-and-batch.md +30 -0
- package/template/.codex/skills/ytable-usage/references/table-pagination-examples.md +170 -0
- package/template/.cursor/skills/archify/SKILL.md +4 -52
- package/template/.cursor/skills/archify/references/authoring-notes.md +12 -0
- package/template/.cursor/skills/archify/references/authoring-workflow.md +25 -0
- package/template/.cursor/skills/archify/references/delivery-workflow.md +25 -0
- package/template/.cursor/skills/archify/references/upstream-updates.md +12 -0
- package/template/.cursor/skills/code-review/SKILL.md +3 -34
- package/template/.cursor/skills/code-review/references/legacy-convergence.md +5 -0
- package/template/.cursor/skills/code-review/references/review-axis-checklists.md +18 -0
- package/template/.cursor/skills/code-review/references/smell-baseline.md +23 -0
- package/template/.cursor/skills/codebase-design/SKILL.md +4 -0
- package/template/.cursor/skills/codebase-design/references/architecture-audit.md +69 -0
- package/template/.cursor/skills/diagnosing-bugs/SKILL.md +3 -91
- package/template/.cursor/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
- package/template/.cursor/skills/diagnosing-bugs/references/investigation.md +49 -0
- package/template/.cursor/skills/frontend-commit/SKILL.md +4 -93
- package/template/.cursor/skills/git-commit-core/SKILL.md +18 -0
- package/template/.cursor/skills/git-commit-core/agents/openai.yaml +2 -0
- package/template/.cursor/skills/java-backend-commit/SKILL.md +4 -96
- package/template/.cursor/skills/llm-wiki/SKILL.md +12 -13
- package/template/.cursor/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
- package/template/.cursor/skills/llm-wiki/references/compile.md +21 -114
- package/template/.cursor/skills/llm-wiki/references/ingest.md +8 -33
- package/template/.cursor/skills/llm-wiki/references/lint.md +9 -46
- package/template/.cursor/skills/llm-wiki/references/query.md +9 -18
- package/template/.cursor/skills/llm-wiki/references/schema.md +56 -29
- package/template/.cursor/skills/llm-wiki/references/transactions.md +48 -0
- package/template/.cursor/skills/llm-wiki/references/writing.md +4 -4
- package/template/.cursor/skills/llm-wiki/scripts/advise.mjs +46 -58
- package/template/.cursor/skills/llm-wiki/scripts/advise.test.mjs +11 -16
- package/template/.cursor/skills/llm-wiki/scripts/core.mjs +262 -0
- package/template/.cursor/skills/llm-wiki/scripts/extract.mjs +35 -18
- package/template/.cursor/skills/llm-wiki/scripts/extract.test.mjs +5 -8
- package/template/.cursor/skills/llm-wiki/scripts/feedback.mjs +51 -0
- package/template/.cursor/skills/llm-wiki/scripts/inventory.mjs +43 -171
- package/template/.cursor/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
- package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
- package/template/.cursor/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
- package/template/.cursor/skills/llm-wiki/scripts/migrate.mjs +51 -0
- package/template/.cursor/skills/llm-wiki/scripts/query.mjs +149 -0
- package/template/.cursor/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
- package/template/.cursor/skills/llm-wiki/scripts/sources.mjs +166 -0
- package/template/.cursor/skills/llm-wiki/scripts/transaction.mjs +384 -0
- package/template/.cursor/skills/llm-wiki/scripts/v2.test.mjs +354 -0
- package/template/.cursor/skills/maintaining-skills/references/authoring.md +6 -0
- package/template/.cursor/skills/prototype/LOGIC.md +1 -1
- package/template/.cursor/skills/prototype/SKILL.md +5 -19
- package/template/.cursor/skills/prototype-review/SKILL.md +11 -0
- package/template/.cursor/skills/prototype-review/references/component-qa.md +32 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +4 -74
- package/template/.cursor/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
- package/template/.cursor/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
- package/template/.cursor/skills/to-spec/SKILL.md +9 -62
- package/template/.cursor/skills/to-tickets/SKILL.md +20 -86
- package/template/.cursor/skills/using-git-worktrees/SKILL.md +5 -122
- package/template/.cursor/skills/using-git-worktrees/references/git-fallback.md +46 -0
- package/template/.cursor/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
- package/template/.cursor/skills/using-git-worktrees/references/troubleshooting.md +47 -0
- package/template/.cursor/skills/wayfinder/SKILL.md +7 -86
- package/template/.cursor/skills/wayfinder/references/chart-map.md +14 -0
- package/template/.cursor/skills/wayfinder/references/map-format.md +49 -0
- package/template/.cursor/skills/wayfinder/references/scope-and-frontier.md +24 -0
- package/template/.cursor/skills/wayfinder/references/ticket-types.md +12 -0
- package/template/.cursor/skills/wayfinder/references/work-map.md +15 -0
- package/template/.cursor/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
- package/template/.cursor/skills/yedit-table-usage/SKILL.md +5 -172
- package/template/.cursor/skills/yedit-table-usage/references/editable-table-example.md +141 -0
- package/template/.cursor/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
- package/template/.cursor/skills/yss-design-system/SKILL.md +13 -3
- package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
- package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
- package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
- package/template/.cursor/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
- package/template/.cursor/skills/yss-design-system/references/data-quality-theme.md +2 -2
- package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +1 -1
- package/template/.cursor/skills/yss-design-system/references/design-system.md +3 -3
- package/template/.cursor/skills/yss-design-system/references/enterprise-craft.md +33 -0
- package/template/.cursor/skills/yss-design-system/references/page-composition.md +24 -0
- package/template/.cursor/skills/yss-design-system/references/prototype-default-theme.md +26 -0
- package/template/.cursor/skills/yss-design-system/references/search-date-theme.md +19 -0
- package/template/.cursor/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
- package/template/.cursor/skills/yss-hook/SKILL.md +8 -102
- package/template/.cursor/skills/yss-hook/references/async-actions.md +49 -0
- package/template/.cursor/skills/yss-hook/references/list-pagination.md +46 -0
- package/template/.cursor/skills/yss-hook/references/polling.md +20 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +8 -3
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
- package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +2 -49
- package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +45 -0
- package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
- package/template/.cursor/skills/yss-openapi-governance/SKILL.md +2 -48
- package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
- package/template/.cursor/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +24 -20
- package/template/.cursor/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +429 -384
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +2 -2
- package/template/.cursor/skills/yss-product-lifecycle/references/plan-requirements.md +12 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -3
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +27 -8
- package/template/.cursor/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
- package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
- package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
- package/template/.cursor/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
- package/template/.cursor/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
- package/template/.cursor/skills/yss-prototype-stage/references/business-patterns.md +42 -0
- package/template/.cursor/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
- package/template/.cursor/skills/yss-prototype-stage/references/component-recipes.md +41 -0
- package/template/.cursor/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
- package/template/.cursor/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
- package/template/.cursor/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
- package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
- package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
- package/template/.cursor/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
- package/template/.cursor/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
- package/template/.cursor/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
- package/template/.cursor/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
- package/template/.cursor/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
- package/template/.cursor/skills/yss-prototype-stage/references/usability-research.md +26 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
- package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
- package/template/.cursor/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
- package/template/.cursor/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
- package/template/.cursor/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
- package/template/.cursor/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
- package/template/.cursor/skills/yss-research/SKILL.md +4 -0
- package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -0
- package/template/.cursor/skills/yss-technical-design/SKILL.md +4 -0
- package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +4 -61
- package/template/.cursor/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
- package/template/.cursor/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
- package/template/.cursor/skills/ytable-usage/SKILL.md +3 -191
- package/template/.cursor/skills/ytable-usage/references/selection-and-batch.md +30 -0
- package/template/.cursor/skills/ytable-usage/references/table-pagination-examples.md +170 -0
- package/template/.pi/skills/archify/SKILL.md +4 -52
- package/template/.pi/skills/archify/references/authoring-notes.md +12 -0
- package/template/.pi/skills/archify/references/authoring-workflow.md +25 -0
- package/template/.pi/skills/archify/references/delivery-workflow.md +25 -0
- package/template/.pi/skills/archify/references/upstream-updates.md +12 -0
- package/template/.pi/skills/code-review/SKILL.md +3 -34
- package/template/.pi/skills/code-review/references/legacy-convergence.md +5 -0
- package/template/.pi/skills/code-review/references/review-axis-checklists.md +18 -0
- package/template/.pi/skills/code-review/references/smell-baseline.md +23 -0
- package/template/.pi/skills/codebase-design/SKILL.md +4 -0
- package/template/.pi/skills/codebase-design/references/architecture-audit.md +69 -0
- package/template/.pi/skills/diagnosing-bugs/SKILL.md +3 -91
- package/template/.pi/skills/diagnosing-bugs/references/feedback-loop.md +53 -0
- package/template/.pi/skills/diagnosing-bugs/references/investigation.md +49 -0
- package/template/.pi/skills/frontend-commit/SKILL.md +4 -93
- package/template/.pi/skills/git-commit-core/SKILL.md +18 -0
- package/template/.pi/skills/git-commit-core/agents/openai.yaml +2 -0
- package/template/.pi/skills/java-backend-commit/SKILL.md +4 -96
- package/template/.pi/skills/llm-wiki/SKILL.md +12 -13
- package/template/.pi/skills/llm-wiki/assets/CLAUDE.md.template +7 -1
- package/template/.pi/skills/llm-wiki/references/compile.md +21 -114
- package/template/.pi/skills/llm-wiki/references/ingest.md +8 -33
- package/template/.pi/skills/llm-wiki/references/lint.md +9 -46
- package/template/.pi/skills/llm-wiki/references/query.md +9 -18
- package/template/.pi/skills/llm-wiki/references/schema.md +56 -29
- package/template/.pi/skills/llm-wiki/references/transactions.md +48 -0
- package/template/.pi/skills/llm-wiki/references/writing.md +4 -4
- package/template/.pi/skills/llm-wiki/scripts/advise.mjs +46 -58
- package/template/.pi/skills/llm-wiki/scripts/advise.test.mjs +11 -16
- package/template/.pi/skills/llm-wiki/scripts/core.mjs +262 -0
- package/template/.pi/skills/llm-wiki/scripts/extract.mjs +35 -18
- package/template/.pi/skills/llm-wiki/scripts/extract.test.mjs +5 -8
- package/template/.pi/skills/llm-wiki/scripts/feedback.mjs +51 -0
- package/template/.pi/skills/llm-wiki/scripts/inventory.mjs +43 -171
- package/template/.pi/skills/llm-wiki/scripts/inventory.test.mjs +25 -18
- package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.mjs +69 -92
- package/template/.pi/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +25 -37
- package/template/.pi/skills/llm-wiki/scripts/migrate.mjs +51 -0
- package/template/.pi/skills/llm-wiki/scripts/query.mjs +149 -0
- package/template/.pi/skills/llm-wiki/scripts/regressions.test.mjs +101 -0
- package/template/.pi/skills/llm-wiki/scripts/sources.mjs +166 -0
- package/template/.pi/skills/llm-wiki/scripts/transaction.mjs +384 -0
- package/template/.pi/skills/llm-wiki/scripts/v2.test.mjs +354 -0
- package/template/.pi/skills/maintaining-skills/references/authoring.md +6 -0
- package/template/.pi/skills/prototype/LOGIC.md +1 -1
- package/template/.pi/skills/prototype/SKILL.md +5 -19
- package/template/.pi/skills/prototype-review/SKILL.md +11 -0
- package/template/.pi/skills/prototype-review/references/component-qa.md +32 -0
- package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +4 -74
- package/template/.pi/skills/setup-matt-pocock-skills/references/configuration-decisions.md +42 -0
- package/template/.pi/skills/setup-matt-pocock-skills/references/write-configuration.md +42 -0
- package/template/.pi/skills/to-spec/SKILL.md +9 -62
- package/template/.pi/skills/to-tickets/SKILL.md +20 -86
- package/template/.pi/skills/using-git-worktrees/SKILL.md +5 -122
- package/template/.pi/skills/using-git-worktrees/references/git-fallback.md +46 -0
- package/template/.pi/skills/using-git-worktrees/references/setup-and-baseline.md +45 -0
- package/template/.pi/skills/using-git-worktrees/references/troubleshooting.md +47 -0
- package/template/.pi/skills/wayfinder/SKILL.md +7 -86
- package/template/.pi/skills/wayfinder/references/chart-map.md +14 -0
- package/template/.pi/skills/wayfinder/references/map-format.md +49 -0
- package/template/.pi/skills/wayfinder/references/scope-and-frontier.md +24 -0
- package/template/.pi/skills/wayfinder/references/ticket-types.md +12 -0
- package/template/.pi/skills/wayfinder/references/work-map.md +15 -0
- package/template/.pi/skills/writing-for-agents/SKILL-MECHANICS.md +20 -11
- package/template/.pi/skills/yedit-table-usage/SKILL.md +5 -172
- package/template/.pi/skills/yedit-table-usage/references/editable-table-example.md +141 -0
- package/template/.pi/skills/yedit-table-usage/references/select-and-filter-examples.md +38 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +4 -25
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/engineering-checks.md +11 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/generation-workflow.md +14 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/platform-selection.md +16 -0
- package/template/.pi/skills/yss-design-system/SKILL.md +13 -3
- package/template/.pi/skills/yss-design-system/assets/enterprise-craft/app.js +53 -0
- package/template/.pi/skills/yss-design-system/assets/enterprise-craft/index.html +2 -0
- package/template/.pi/skills/yss-design-system/assets/enterprise-craft/scenarios.js +14 -0
- package/template/.pi/skills/yss-design-system/assets/enterprise-craft/styles.css +32 -0
- package/template/.pi/skills/yss-design-system/references/data-quality-theme.md +2 -2
- package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +1 -1
- package/template/.pi/skills/yss-design-system/references/design-system.md +3 -3
- package/template/.pi/skills/yss-design-system/references/enterprise-craft.md +33 -0
- package/template/.pi/skills/yss-design-system/references/page-composition.md +24 -0
- package/template/.pi/skills/yss-design-system/references/prototype-default-theme.md +26 -0
- package/template/.pi/skills/yss-design-system/references/search-date-theme.md +19 -0
- package/template/.pi/skills/yss-design-system/scripts/export-craft-examples.mjs +30 -0
- package/template/.pi/skills/yss-hook/SKILL.md +8 -102
- package/template/.pi/skills/yss-hook/references/async-actions.md +49 -0
- package/template/.pi/skills/yss-hook/references/list-pagination.md +46 -0
- package/template/.pi/skills/yss-hook/references/polling.md +20 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +8 -3
- package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +2 -3
- package/template/.pi/skills/yss-implementation-contract-compiler/references/scaffold-compilation.md +7 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +14 -0
- package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +2 -49
- package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +45 -0
- package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +16 -0
- package/template/.pi/skills/yss-openapi-governance/SKILL.md +2 -48
- package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +38 -0
- package/template/.pi/skills/yss-openapi-governance/references/locked-toolchain.md +22 -0
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +24 -20
- package/template/.pi/skills/yss-product-lifecycle/references/external-input-questionnaire.md +19 -0
- package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +5 -5
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +429 -384
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +2 -2
- package/template/.pi/skills/yss-product-lifecycle/references/plan-requirements.md +12 -0
- package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -3
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +27 -8
- package/template/.pi/skills/yss-prototype-stage/assets/comparison/comparison.css +12 -0
- package/template/.pi/skills/yss-prototype-stage/assets/comparison/comparison.js +52 -0
- package/template/.pi/skills/yss-prototype-stage/assets/comparison/index.html +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/comparison/review-ready.js +2 -0
- package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/app.js +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/index.html +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/low-fidelity-exercise/styles.css +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/app.js +12 -6
- package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/index.html +1 -1
- package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/scenarios.json +297 -0
- package/template/.pi/skills/yss-prototype-stage/assets/native-workbench/styles.css +2 -0
- package/template/.pi/skills/yss-prototype-stage/assets/offline-html/app.js +7 -5
- package/template/.pi/skills/yss-prototype-stage/assets/offline-html/scenarios.json +297 -0
- package/template/.pi/skills/yss-prototype-stage/assets/prototype-theme.css +92 -0
- package/template/.pi/skills/yss-prototype-stage/assets/scenario-runtime.js +22 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/SHADCN-LICENSE.txt +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/package.json +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/pnpm-lock.yaml +1278 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/registry-manifest.json +936 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/theme.css +107 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/Alert.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertDescription.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/AlertTitle.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert/index.ts +24 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialog.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogAction.vue +18 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogCancel.vue +25 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogContent.vue +44 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogDescription.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogFooter.vue +22 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogHeader.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTitle.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/AlertDialogTrigger.vue +12 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/alert-dialog/index.ts +9 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/Badge.vue +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/badge/index.ts +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/Breadcrumb.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbEllipsis.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbItem.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbLink.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbList.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbPage.vue +20 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/BreadcrumbSeparator.vue +22 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/breadcrumb/index.ts +7 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/Button.vue +31 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/button/index.ts +40 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/Card.vue +22 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardAction.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardContent.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardDescription.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardFooter.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardHeader.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/CardTitle.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/card/index.ts +7 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/Checkbox.vue +35 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/checkbox/index.ts +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/Combobox.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxAnchor.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxEmpty.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxGroup.vue +27 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxInput.vue +42 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItem.vue +24 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxItemIndicator.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxList.vue +33 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxSeparator.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxTrigger.vue +24 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/ComboboxViewport.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/combobox/index.ts +13 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/Dialog.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogClose.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogContent.vue +53 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogDescription.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogFooter.vue +27 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogHeader.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogOverlay.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogScrollContent.vue +59 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTitle.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/DialogTrigger.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dialog/index.ts +10 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenu.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +39 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuContent.vue +39 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuGroup.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuItem.vue +31 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuLabel.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioGroup.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuRadioItem.vue +40 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSeparator.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuShortcut.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSub.vue +18 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubContent.vue +27 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuSubTrigger.vue +31 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/DropdownMenuTrigger.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/dropdown-menu/index.ts +16 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/Empty.vue +20 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyContent.vue +20 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyDescription.vue +20 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyHeader.vue +20 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyMedia.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/EmptyTitle.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/empty/index.ts +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/Field.vue +25 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldContent.vue +20 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldDescription.vue +22 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldError.vue +53 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldGroup.vue +20 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLabel.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldLegend.vue +24 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSeparator.vue +29 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldSet.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/FieldTitle.vue +20 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/field/index.ts +39 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/Input.vue +33 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input/index.ts +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroup.vue +35 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupAddon.vue +36 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupButton.vue +29 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupInput.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupText.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/InputGroupTextarea.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/input-group/index.ts +51 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/Label.vue +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/label/index.ts +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/Pagination.vue +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationContent.vue +22 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationEllipsis.vue +25 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationFirst.vue +33 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationItem.vue +34 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationLast.vue +33 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationNext.vue +33 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/PaginationPrevious.vue +33 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/pagination/index.ts +8 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/Popover.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverAnchor.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverContent.vue +45 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/PopoverTrigger.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/popover/index.ts +4 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendar.vue +62 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCell.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarCellTrigger.vue +41 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGrid.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridBody.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridHead.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarGridRow.vue +22 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeadCell.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeader.vue +23 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarHeading.vue +30 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarNextButton.vue +32 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/RangeCalendarPrevButton.vue +32 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/range-calendar/index.ts +12 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/Select.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectContent.vue +51 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectGroup.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItem.vue +44 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectItemText.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectLabel.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollDownButton.vue +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectScrollUpButton.vue +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectSeparator.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectTrigger.vue +33 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/SelectValue.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/select/index.ts +11 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/Separator.vue +29 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/separator/index.ts +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/Sheet.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetClose.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetContent.vue +62 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetDescription.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetFooter.vue +16 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetHeader.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetOverlay.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTitle.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/SheetTrigger.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/sheet/index.ts +8 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/Skeleton.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/skeleton/index.ts +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/Spinner.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/spinner/index.ts +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/Table.vue +16 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableBody.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCaption.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableCell.vue +22 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableEmpty.vue +34 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableFooter.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHead.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableHeader.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/TableRow.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/table/index.ts +9 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/Tabs.vue +24 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsContent.vue +21 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsList.vue +24 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/TabsTrigger.vue +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tabs/index.ts +4 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/Textarea.vue +28 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/textarea/index.ts +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/Tooltip.vue +19 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipContent.vue +34 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipProvider.vue +14 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/TooltipTrigger.vue +15 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/ui/tooltip/index.ts +4 -0
- package/template/.pi/skills/yss-prototype-stage/assets/shadcn-vue-authoring/utils.ts +7 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Analysis.vue +16 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Approval.vue +14 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/CombinedQuery.vue +17 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/ComponentStates.vue +41 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Conflict.vue +33 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/DateRange.vue +29 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Frame.vue +7 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/ListDetail.vue +47 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/MultiStep.vue +24 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Notice.vue +5 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/OwnerValidity.vue +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/SearchSelect.vue +32 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/Workspace.vue +174 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/analysis.scenarios.json +276 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/approval.scenarios.json +207 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.css +14 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/business-controls.js +24 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/combined-query.scenarios.json +298 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/component-states-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/conflict.scenarios.json +229 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-glass.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/list-detail.scenarios.json +185 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/mount.ts +4 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-glass.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/multi-step.scenarios.json +188 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/owner-validity.scenarios.json +298 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/patterns.css +26 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/refinement.css +129 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workbench.ts +1 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-definition.ts +40 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-glass.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-model.js +75 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-page.ts +18 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.config.json +6 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace-standard.ts +3 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.css +101 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.scenarios.json +2015 -0
- package/template/.pi/skills/yss-prototype-stage/assets/vue-business-patterns/workspace.ts +26 -0
- package/template/.pi/skills/yss-prototype-stage/references/business-patterns.md +42 -0
- package/template/.pi/skills/yss-prototype-stage/references/comparison-tool.md +48 -0
- package/template/.pi/skills/yss-prototype-stage/references/component-recipes.md +41 -0
- package/template/.pi/skills/yss-prototype-stage/references/concept-comparison.md +26 -0
- package/template/.pi/skills/yss-prototype-stage/references/enterprise-workspace.md +53 -0
- package/template/.pi/skills/yss-prototype-stage/references/low-fidelity-exercise.md +32 -0
- package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +11 -5
- package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -6
- package/template/.pi/skills/yss-prototype-stage/references/prototype-verification.md +25 -0
- package/template/.pi/skills/yss-prototype-stage/references/resource-lifecycle.md +20 -0
- package/template/.pi/skills/yss-prototype-stage/references/search-date-patterns.md +28 -0
- package/template/.pi/skills/yss-prototype-stage/references/shadcn-integration.md +5 -0
- package/template/.pi/skills/yss-prototype-stage/references/shadcn-vue-integration.md +46 -0
- package/template/.pi/skills/yss-prototype-stage/references/usability-research.md +26 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/browser-session.mjs +57 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/build-shadcn-vue-prototype.mjs +137 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/compose-workspace-scenarios.mjs +22 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/export-business-patterns.mjs +7 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/export-low-fidelity-exercise.mjs +18 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/export-vue-patterns.mjs +21 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/offline-html.mjs +60 -23
- package/template/.pi/skills/yss-prototype-stage/scripts/prototype-comparison.mjs +208 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +19 -14
- package/template/.pi/skills/yss-prototype-stage/scripts/scenario-contract.mjs +31 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +97 -0
- package/template/.pi/skills/yss-prototype-stage/tests/antd-reference.test.mjs +4 -24
- package/template/.pi/skills/yss-prototype-stage/tests/browser-harness.mjs +37 -0
- package/template/.pi/skills/yss-prototype-stage/tests/browser-visual.mjs +22 -0
- package/template/.pi/skills/yss-prototype-stage/tests/business-controls-browser.mjs +43 -0
- package/template/.pi/skills/yss-prototype-stage/tests/business-controls.test.mjs +20 -0
- package/template/.pi/skills/yss-prototype-stage/tests/compact-theme-browser.mjs +53 -0
- package/template/.pi/skills/yss-prototype-stage/tests/comparison-browser-smoke.mjs +77 -0
- package/template/.pi/skills/yss-prototype-stage/tests/comparison-fixture.mjs +16 -0
- package/template/.pi/skills/yss-prototype-stage/tests/comparison.test.mjs +46 -0
- package/template/.pi/skills/yss-prototype-stage/tests/components-browser.mjs +60 -0
- package/template/.pi/skills/yss-prototype-stage/tests/patterns-browser.mjs +84 -0
- package/template/.pi/skills/yss-prototype-stage/tests/reliability.test.mjs +34 -0
- package/template/.pi/skills/yss-prototype-stage/tests/retirement.test.mjs +8 -0
- package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +19 -2
- package/template/.pi/skills/yss-prototype-stage/tests/shadcn-vue.test.mjs +43 -0
- package/template/.pi/skills/yss-prototype-stage/tests/verification-entry.test.mjs +16 -0
- package/template/.pi/skills/yss-prototype-stage/tests/workbench-smoke.mjs +36 -21
- package/template/.pi/skills/yss-prototype-stage/tests/workspace-browser.mjs +50 -0
- package/template/.pi/skills/yss-prototype-stage/tests/workspace.test.mjs +70 -0
- package/template/.pi/skills/yss-prototype-stage/tests/zoom-browser.mjs +26 -0
- package/template/.pi/skills/yss-research/SKILL.md +4 -0
- package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -0
- package/template/.pi/skills/yss-technical-design/SKILL.md +4 -0
- package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +4 -61
- package/template/.pi/skills/yss-ui-business-page-generation/references/page-composition-example.md +50 -0
- package/template/.pi/skills/yss-ui-business-page-generation/references/page-layout-example.md +19 -0
- package/template/.pi/skills/ytable-usage/SKILL.md +3 -191
- package/template/.pi/skills/ytable-usage/references/selection-and-batch.md +30 -0
- package/template/.pi/skills/ytable-usage/references/table-pagination-examples.md +170 -0
- package/template/.template-spec/agents/README.md +1 -1
- package/template/.template-spec/agents/digital-human-roles.yaml +3 -3
- package/template/.template-spec/agents/issue-tracker.md +10 -1
- package/template/.template-spec/agents/skill-migrations.md +15 -0
- package/template/.template-spec/agents/yss-skill-registry.yaml +51 -29
- package/template/.template-spec/architecture/README.md +3 -34
- package/template/.template-spec/design/README.md +7 -2
- package/template/.template-spec/design/design.md +30 -35
- package/template/.template-spec/design/templates/examples/model-publishing-interaction.example.md +2 -2
- package/template/.template-spec/design/templates/interaction-spec-template.md +24 -0
- package/template/.template-spec/design/templates/prototype-evidence-template.yaml +18 -5
- package/template/.template-spec/design/templates/prototype-review-checklist.md +8 -0
- package/template/.template-spec/design/tokens/.design-md-projection.json +2 -2
- package/template/.template-spec/design/tokens/variables.css +162 -0
- package/template/.template-spec/plan/templates/competitive-analysis-template.md +2 -2
- package/template/.template-spec/plan/templates/plan-template.md +25 -1
- package/template/.template-spec/process/business-tickets.md +48 -0
- package/template/.template-spec/process/checkpoint-boundary.yaml +73 -0
- package/template/.template-spec/process/contract-reading.md +59 -0
- package/template/.template-spec/process/document-writing.md +2 -0
- package/template/.template-spec/process/feature-assets.md +38 -0
- package/template/.template-spec/process/lifecycle-artifact-map.md +1 -0
- package/template/.template-spec/process/lifecycle-registry-baseline.json +10 -4
- package/template/.template-spec/process/lifecycle-registry.yaml +21 -5
- package/template/.template-spec/process/plan-spec-quality.md +69 -0
- package/template/.template-spec/process/project-ci.md +21 -0
- package/template/.template-spec/process/reading-policy.yaml +4 -0
- package/template/.template-spec/process/research-completion.md +23 -0
- package/template/.template-spec/process/schemas/business-tickets-v1.schema.json +449 -0
- package/template/.template-spec/process/schemas/digital-human-task-package.schema.json +202 -12
- package/template/.template-spec/process/schemas/domain-strategy-reading.schema.json +216 -0
- package/template/.template-spec/process/schemas/frontend-implementation-evidence.schema.json +7 -15
- package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +203 -11
- package/template/.template-spec/process/schemas/reading-manifest.schema.json +14 -0
- package/template/.template-spec/process/schemas/reading-policy.schema.json +10 -0
- package/template/.template-spec/process/schemas/stage-decision-package-reading.schema.json +148 -0
- package/template/.template-spec/process/stage-tracking.md +8 -0
- package/template/.template-spec/process/strategic-handoff-package.md +3 -1
- package/template/.template-spec/process/subagent-collaboration.md +8 -0
- package/template/.template-spec/process/templates/frontend-implementation-verification-template.yaml +15 -1
- package/template/.template-spec/process/templates/stage-checkpoint-template.md +6 -1
- package/template/.template-spec/templates/business-ticket-review-template.yaml +11 -0
- package/template/.template-spec/templates/business-ticket-set-template.yaml +16 -0
- package/template/.template-spec/templates/business-ticket-template.md +38 -0
- package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +16 -0
- package/template/.template-spec/templates/examples/plan-spec/complex-defective.md +38 -0
- package/template/.template-spec/templates/examples/plan-spec/complex-source.md +12 -0
- package/template/.template-spec/templates/examples/plan-spec/complex-valid.md +38 -0
- package/template/.template-spec/templates/examples/plan-spec/expectations.json +46 -0
- package/template/.template-spec/templates/examples/plan-spec/high-risk-before.md +32 -0
- package/template/.template-spec/templates/examples/plan-spec/high-risk-defective.md +39 -0
- package/template/.template-spec/templates/examples/plan-spec/high-risk-source.md +11 -0
- package/template/.template-spec/templates/examples/plan-spec/high-risk-valid.md +39 -0
- package/template/.template-spec/templates/examples/plan-spec/ordinary-defective.md +36 -0
- package/template/.template-spec/templates/examples/plan-spec/ordinary-plan.md +27 -0
- package/template/.template-spec/templates/examples/plan-spec/ordinary-source.md +14 -0
- package/template/.template-spec/templates/examples/plan-spec/ordinary-valid.md +36 -0
- package/template/.template-spec/templates/local-parent-ticket-template.md +23 -15
- package/template/.template-spec/templates/spec-delta-template.md +7 -5
- package/template/.template-spec/templates/spec-template.md +31 -15
- package/template/.template-spec/templates/vertical-slice-ticket-template.md +4 -0
- package/template/AGENTS.md +2 -2
- package/template/CONTEXT.md +6 -1
- package/template/DESIGN.md +23 -4
- package/template/README.md +12 -24
- package/template/scripts/contract +17 -5
- package/template/scripts/feature-assets +23 -0
- package/template/scripts/inspect-plan-spec +32 -0
- package/template/scripts/inspect-skill-discovery +24 -0
- package/template/scripts/lib/business-ticket-lifecycle.mjs +34 -0
- package/template/scripts/lib/business-tickets.mjs +273 -0
- package/template/scripts/lib/checkpoint-boundary.mjs +40 -0
- package/template/scripts/lib/contract-views.mjs +77 -9
- package/template/scripts/lib/execution-evidence.mjs +51 -0
- package/template/scripts/lib/feature-assets.mjs +274 -0
- package/template/scripts/lib/governance-io.mjs +40 -0
- package/template/scripts/lib/harness-execution-scope.mjs +1 -1
- package/template/scripts/lib/implementation-contract-compiler.mjs +2 -0
- package/template/scripts/lib/lifecycle-context-query.mjs +15 -3
- package/template/scripts/lib/lifecycle-status.mjs +49 -7
- package/template/scripts/lib/lifecycle-transition.mjs +31 -4
- package/template/scripts/lib/maintenance-research.mjs +63 -0
- package/template/scripts/lib/plan-spec-markdown.mjs +97 -0
- package/template/scripts/lib/plan-spec-quality.mjs +289 -0
- package/template/scripts/lib/project-ci-install.mjs +98 -0
- package/template/scripts/lib/project-governance.mjs +189 -0
- package/template/scripts/lib/read-only-intake.mjs +132 -0
- package/template/scripts/lib/reading-view-adapters.mjs +62 -0
- package/template/scripts/lib/reading-view-bundle.mjs +201 -0
- package/template/scripts/lib/reading-view-diff.mjs +29 -0
- package/template/scripts/lib/reading-view-markdown.mjs +39 -0
- package/template/scripts/lib/reading-view-model.mjs +13 -0
- package/template/scripts/lib/reading-view-policy.mjs +16 -0
- package/template/scripts/lib/skill-discovery.mjs +150 -0
- package/template/scripts/lib/skill-registry.mjs +43 -2
- package/template/scripts/lib/skill-supply-chain.mjs +5 -1
- package/template/scripts/lib/slice-contract-preparation.mjs +8 -2
- package/template/scripts/lib/slice-contract.mjs +15 -1
- package/template/scripts/lib/slice-task-package.mjs +1 -1
- package/template/scripts/lib/stage-tracking-migration.mjs +9 -1
- package/template/scripts/lib/stage-tracking.mjs +10 -5
- package/template/scripts/lib/strategic-handoff-consumption.mjs +14 -2
- package/template/scripts/lib/strategic-handoff-io.mjs +6 -2
- package/template/scripts/lib/strategic-handoff.mjs +26 -5
- package/template/scripts/lib/task-package.mjs +22 -4
- package/template/scripts/lib/testing/user-decision-fixture.mjs +33 -0
- package/template/scripts/lib/user-decision-reuse.mjs +1 -1
- package/template/scripts/lifecycle-status +13 -3
- package/template/scripts/prepare-read-only-intake +16 -0
- package/template/scripts/project-ci +20 -0
- package/template/scripts/project-ci-transition +13 -0
- package/template/scripts/query-lifecycle-context +4 -0
- package/template/scripts/run-read-only-intake +14 -0
- package/template/scripts/stage-tracking +1 -0
- package/template/scripts/vendor/NOTICES.md +237 -0
- package/template/scripts/vendor/manifest.json +1216 -65
- package/template/scripts/vendor/markdown.mjs +11783 -0
- package/template/scripts/verify-approval-record +4 -1
- package/template/scripts/verify-business-tickets +11 -0
- package/template/scripts/verify-context-contract +4 -1
- package/template/scripts/verify-digital-human-task-package +5 -2
- package/template/scripts/verify-frontend-implementation-evidence +24 -1
- package/template/scripts/verify-lifecycle-checkpoint +17 -2
- package/template/scripts/verify-maintenance-research +13 -0
- package/template/scripts/verify-prototype-design +3 -0
- package/template/skills-lock.json +44 -101
- package/template.manifest.json +119 -29
- package/template.snapshot.json +5 -6
- package/template/.agents/skills/grill-with-docs/SKILL.md +0 -20
- package/template/.agents/skills/grill-with-docs/agents/openai.yaml +0 -5
- package/template/.agents/skills/improve-codebase-architecture/SKILL.md +0 -75
- package/template/.agents/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
- package/template/.agents/skills/prototype/UI.md +0 -112
- package/template/.agents/skills/setup-matt-pocock-skills/domain.md +0 -37
- package/template/.agents/skills/to-questionnaire/SKILL.md +0 -55
- package/template/.agents/skills/to-questionnaire/agents/openai.yaml +0 -5
- package/template/.agents/skills/wait-what/SKILL.md +0 -7
- package/template/.agents/skills/wait-what/agents/openai.yaml +0 -5
- package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
- package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
- package/template/.agents/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
- package/template/.agents/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
- package/template/.agents/skills/yss-prototype-stage/references/antd-integration.md +0 -61
- package/template/.agents/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
- package/template/.agents/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
- package/template/.codex/skills/data-analytics/.app.json +0 -84
- package/template/.codex/skills/data-analytics/.codex-plugin/plugin.json +0 -66
- package/template/.codex/skills/data-analytics/.mcp.json +0 -30
- package/template/.codex/skills/data-analytics/AGENTS.md +0 -20
- package/template/.codex/skills/data-analytics/DEPENDENCIES.MD +0 -27
- package/template/.codex/skills/data-analytics/README.md +0 -60
- package/template/.codex/skills/data-analytics/__yss_dotfile__.gitignore +0 -2
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html +0 -16
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part001 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part002 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part003 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part004 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part005 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-artifact-widget.html.gz.b64.part006 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html +0 -16
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part001 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part002 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part003 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part004 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part005 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part006 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-chart-widget.html.gz.b64.part007 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-small.svg +0 -5
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html +0 -16
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part001 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part002 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part003 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience-table-widget.html.gz.b64.part004 +0 -1
- package/template/.codex/skills/data-analytics/assets/datascience.png +0 -0
- package/template/.codex/skills/data-analytics/assets/datascience.svg +0 -10
- package/template/.codex/skills/data-analytics/mcp/server.cjs +0 -2964
- package/template/.codex/skills/data-analytics/package-lock.json +0 -3048
- package/template/.codex/skills/data-analytics/package.json +0 -43
- package/template/.codex/skills/data-analytics/scripts/normalize-widget-assets.mjs +0 -75
- package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +0 -137
- package/template/.codex/skills/data-analytics/skills/analyze-data-quality/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/analyze-data-quality/references/quality-checks.md +0 -29
- package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +0 -148
- package/template/.codex/skills/data-analytics/skills/build-dashboard/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/bi-platform-dashboard.md +0 -18
- package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/html-dashboard.md +0 -24
- package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/mcp-artifact-dashboard.md +0 -71
- package/template/.codex/skills/data-analytics/skills/build-dashboard/specifications/streamlit-dashboard.md +0 -85
- package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +0 -207
- package/template/.codex/skills/data-analytics/skills/build-report/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/build-report/assets/executive-report-shell.html +0 -70
- package/template/.codex/skills/data-analytics/skills/build-report/assets/technical-report-shell.html +0 -66
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/SKILL.md +0 -108
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/__init__.py +0 -1
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/cli.py +0 -52
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/constants.py +0 -61
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/docx_writer.py +0 -362
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/html_parser.py +0 -829
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/model.py +0 -30
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/plan.py +0 -127
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/quality.py +0 -374
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/rendering.py +0 -613
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/table_utils.py +0 -54
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/utils.py +0 -16
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc_plan.py +0 -9
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/tests/test_delivery_plan.py +0 -45
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/SKILL.md +0 -77
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/scripts/report_to_google_slides.py +0 -2379
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/SKILL.md +0 -88
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/build-report/specifications/executive-report.md +0 -97
- package/template/.codex/skills/data-analytics/skills/build-report/specifications/mcp-app-report.md +0 -59
- package/template/.codex/skills/data-analytics/skills/build-report/specifications/technical-report.md +0 -75
- package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +0 -103
- package/template/.codex/skills/data-analytics/skills/design-kpis/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +0 -68
- package/template/.codex/skills/data-analytics/skills/gather-business-context/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/index/SKILL.md +0 -251
- package/template/.codex/skills/data-analytics/skills/index/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +0 -131
- package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +0 -141
- package/template/.codex/skills/data-analytics/skills/kpi-reporting/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/kpi-reporting/references/report-templates.md +0 -32
- package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +0 -106
- package/template/.codex/skills/data-analytics/skills/market-sizing/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +0 -130
- package/template/.codex/skills/data-analytics/skills/metric-diagnostics/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +0 -141
- package/template/.codex/skills/data-analytics/skills/product-business-analysis/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +0 -178
- package/template/.codex/skills/data-analytics/skills/spreadsheets/agents/openai.yaml +0 -9
- package/template/.codex/skills/data-analytics/skills/spreadsheets/assets/file-spreadsheet.png +0 -0
- package/template/.codex/skills/data-analytics/skills/spreadsheets/charts.md +0 -31
- package/template/.codex/skills/data-analytics/skills/spreadsheets/references/artifact_tool_api.md +0 -466
- package/template/.codex/skills/data-analytics/skills/spreadsheets/style_guidelines.md +0 -99
- package/template/.codex/skills/data-analytics/skills/user-context/SKILL.md +0 -197
- package/template/.codex/skills/data-analytics/skills/user-context/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/automation-config.md +0 -26
- package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/source-category-config.json +0 -51
- package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/user-context-config.md +0 -66
- package/template/.codex/skills/data-analytics/skills/user-context/references/automation.md +0 -69
- package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-examples.md +0 -204
- package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-state-template.json +0 -87
- package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding.md +0 -497
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/connector-playbook.md +0 -74
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/setup.md +0 -65
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/skill-template.md +0 -160
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/source-intake.md +0 -75
- package/template/.codex/skills/data-analytics/skills/user-context/references/semantic-layer/weekly-polling-automation.md +0 -96
- package/template/.codex/skills/data-analytics/skills/user-context/references/source-category-runtime.md +0 -263
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/data_analytics_preflight.py +0 -1462
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/init_user_context_state.py +0 -128
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/reset_user_context_state.py +0 -101
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/validate_user_context_preflight.py +0 -499
- package/template/.codex/skills/data-analytics/skills/user-context/tests/test_state_helpers.py +0 -978
- package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +0 -126
- package/template/.codex/skills/data-analytics/skills/validate-data/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/validate-data/references/validation-methods.md +0 -70
- package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +0 -157
- package/template/.codex/skills/data-analytics/skills/visualize-data/agents/openai.yaml +0 -6
- package/template/.codex/skills/data-analytics/skills/visualize-data/references/seaborn-templates.md +0 -774
- package/template/.codex/skills/data-analytics/src/DESIGN.md +0 -222
- package/template/.codex/skills/data-analytics/src/analytics-app/App.tsx +0 -3666
- package/template/.codex/skills/data-analytics/src/analytics-app/analytics-layout.test.mjs +0 -136
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartFrame.tsx +0 -54
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartLegend.tsx +0 -96
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartRenderer.tsx +0 -1647
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/ChartTooltip.tsx +0 -245
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-app-helpers.tsx +0 -462
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-capabilities.ts +0 -107
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-compatibility.ts +0 -164
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-contract.ts +0 -192
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-theme.ts +0 -203
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-tokens.css +0 -619
- package/template/.codex/skills/data-analytics/src/analytics-app/charting/chart-transforms.ts +0 -402
- package/template/.codex/skills/data-analytics/src/analytics-app/fonts/SystemSansVariableVF.woff2 +0 -0
- package/template/.codex/skills/data-analytics/src/analytics-app/imageExport.ts +0 -370
- package/template/.codex/skills/data-analytics/src/analytics-app/layout/AnalyticsLayoutCanvas.tsx +0 -536
- package/template/.codex/skills/data-analytics/src/analytics-app/layout/RichMarkdown.tsx +0 -681
- package/template/.codex/skills/data-analytics/src/analytics-app/layout/analyticsLayoutCore.ts +0 -164
- package/template/.codex/skills/data-analytics/src/analytics-app/main.tsx +0 -21
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/chart_contract.py +0 -472
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/check_analytics_app_runtime_links.py +0 -75
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/design_contract.py +0 -142
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/package_utils.py +0 -142
- package/template/.codex/skills/data-analytics/src/analytics-app/scripts/tests/test_package_utils.py +0 -377
- package/template/.codex/skills/data-analytics/src/analytics-app/styles.css +0 -3468
- package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.d.ts +0 -44
- package/template/.codex/skills/data-analytics/src/analytics-app/tables/DataTable.jsx +0 -639
- package/template/.codex/skills/data-analytics/src/analytics-app/tables/data-table.css +0 -327
- package/template/.codex/skills/data-analytics/src/analytics-app/tokens.css +0 -225
- package/template/.codex/skills/data-analytics/src/analytics-app/types.ts +0 -204
- package/template/.codex/skills/data-analytics/src/analytics-app-core.md +0 -85
- package/template/.codex/skills/data-analytics/src/codex-style-contract.md +0 -30
- package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.html +0 -12
- package/template/.codex/skills/data-analytics/src/datascience-artifact-widget.jsx +0 -1008
- package/template/.codex/skills/data-analytics/src/datascience-chart-widget.css +0 -2117
- package/template/.codex/skills/data-analytics/src/datascience-chart-widget.html +0 -122
- package/template/.codex/skills/data-analytics/src/datascience-chart-widget.js +0 -3588
- package/template/.codex/skills/data-analytics/src/datascience-table-widget.css +0 -483
- package/template/.codex/skills/data-analytics/src/datascience-table-widget.html +0 -32
- package/template/.codex/skills/data-analytics/src/datascience-table-widget.js +0 -333
- package/template/.codex/skills/data-analytics/src/mcp-host.js +0 -153
- package/template/.codex/skills/data-analytics/src/recharts-config.js +0 -315
- package/template/.codex/skills/data-analytics/src/recharts-renderer.jsx +0 -294
- package/template/.codex/skills/data-analytics/src/sql-source-view.css +0 -33
- package/template/.codex/skills/data-analytics/src/sql-source-view.js +0 -157
- package/template/.codex/skills/data-analytics/src/styles/codex-theme.css +0 -121
- package/template/.codex/skills/data-analytics/src/table-renderer.jsx +0 -28
- package/template/.codex/skills/data-analytics/tests/chart-transforms.test.mjs +0 -87
- package/template/.codex/skills/data-analytics/tests/funnel-smoke.html +0 -105
- package/template/.codex/skills/data-analytics/tests/inline-widget-compare.html +0 -233
- package/template/.codex/skills/data-analytics/tests/mcp-server.test.mjs +0 -1500
- package/template/.codex/skills/data-analytics/tests/native-style-contract.test.mjs +0 -219
- package/template/.codex/skills/data-analytics/tests/recharts-config.test.mjs +0 -144
- package/template/.codex/skills/data-analytics/tests/recharts-renderer.test.mjs +0 -11
- package/template/.codex/skills/data-analytics/tests/rich-markdown.test.mjs +0 -54
- package/template/.codex/skills/data-analytics/tests/widget-render-harness.html +0 -321
- package/template/.codex/skills/data-analytics/tsconfig.json +0 -19
- package/template/.codex/skills/data-analytics/vite.config.ts +0 -46
- package/template/.codex/skills/grill-with-docs/SKILL.md +0 -20
- package/template/.codex/skills/grill-with-docs/agents/openai.yaml +0 -5
- package/template/.codex/skills/improve-codebase-architecture/SKILL.md +0 -75
- package/template/.codex/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
- package/template/.codex/skills/prototype/UI.md +0 -112
- package/template/.codex/skills/setup-matt-pocock-skills/domain.md +0 -37
- package/template/.codex/skills/to-questionnaire/SKILL.md +0 -55
- package/template/.codex/skills/to-questionnaire/agents/openai.yaml +0 -5
- package/template/.codex/skills/wait-what/SKILL.md +0 -7
- package/template/.codex/skills/wait-what/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
- package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
- package/template/.codex/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
- package/template/.codex/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
- package/template/.codex/skills/yss-prototype-stage/references/antd-integration.md +0 -61
- package/template/.codex/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
- package/template/.codex/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
- package/template/.cursor/skills/grill-with-docs/SKILL.md +0 -20
- package/template/.cursor/skills/grill-with-docs/agents/openai.yaml +0 -5
- package/template/.cursor/skills/improve-codebase-architecture/SKILL.md +0 -75
- package/template/.cursor/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
- package/template/.cursor/skills/prototype/UI.md +0 -112
- package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +0 -37
- package/template/.cursor/skills/to-questionnaire/SKILL.md +0 -55
- package/template/.cursor/skills/to-questionnaire/agents/openai.yaml +0 -5
- package/template/.cursor/skills/wait-what/SKILL.md +0 -7
- package/template/.cursor/skills/wait-what/agents/openai.yaml +0 -5
- package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
- package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
- package/template/.cursor/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
- package/template/.cursor/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
- package/template/.cursor/skills/yss-prototype-stage/references/antd-integration.md +0 -61
- package/template/.cursor/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
- package/template/.cursor/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
- package/template/.pi/skills/grill-with-docs/SKILL.md +0 -20
- package/template/.pi/skills/grill-with-docs/agents/openai.yaml +0 -5
- package/template/.pi/skills/improve-codebase-architecture/SKILL.md +0 -75
- package/template/.pi/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
- package/template/.pi/skills/prototype/UI.md +0 -112
- package/template/.pi/skills/setup-matt-pocock-skills/domain.md +0 -37
- package/template/.pi/skills/to-questionnaire/SKILL.md +0 -55
- package/template/.pi/skills/to-questionnaire/agents/openai.yaml +0 -5
- package/template/.pi/skills/wait-what/SKILL.md +0 -7
- package/template/.pi/skills/wait-what/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/package.json +0 -16
- package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/pnpm-lock.yaml +0 -1678
- package/template/.pi/skills/yss-prototype-stage/assets/antd-authoring/workbench.jsx +0 -23
- package/template/.pi/skills/yss-prototype-stage/references/antd-component-catalog.json +0 -736
- package/template/.pi/skills/yss-prototype-stage/references/antd-integration.md +0 -61
- package/template/.pi/skills/yss-prototype-stage/scripts/build-antd-prototype.mjs +0 -71
- package/template/.pi/skills/yss-prototype-stage/scripts/collect-antd-reference.mjs +0 -26
- package/template/.template-spec/agents/domain.md +0 -31
- /package/template/.agents/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
- /package/template/.codex/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
- /package/template/.cursor/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
- /package/template/.pi/skills/{improve-codebase-architecture → codebase-design/references}/HTML-REPORT.md +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { spawnSync } from 'node:child_process';
|
|
4
|
+
import { createHash } from 'node:crypto';
|
|
5
|
+
import { parse } from '../vendor/yaml.mjs';
|
|
6
|
+
import { runCommand } from './command-runner.mjs';
|
|
7
|
+
|
|
8
|
+
const ensure = (ok, message) => { if (!ok) throw new TypeError(`read-only-intake: ${message}`); };
|
|
9
|
+
export const digest = value => `sha256:${createHash('sha256').update(value).digest('hex')}`;
|
|
10
|
+
const inside = (root, file) => { const rel = path.relative(root, file); return rel !== '..' && !rel.startsWith(`..${path.sep}`) && !path.isAbsolute(rel); };
|
|
11
|
+
export function intakeEvidencePath(ref, { root, runDir }) {
|
|
12
|
+
const runtime = ref.startsWith('run:');
|
|
13
|
+
const base = runtime ? runDir : root;
|
|
14
|
+
ensure(base && path.isAbsolute(base), '运行证据必须显式提供绝对 run-dir');
|
|
15
|
+
const relative = runtime ? ref.slice(4) : ref;
|
|
16
|
+
ensure(relative && !path.isAbsolute(relative) && !relative.split(/[\\/]/).includes('..'), '证据路径越界');
|
|
17
|
+
const resolvedBase = fs.realpathSync(base), file = path.resolve(base, relative);
|
|
18
|
+
ensure(inside(path.resolve(base), file) && inside(resolvedBase, fs.realpathSync(file)), '证据符号链接越界');
|
|
19
|
+
ensure(fs.statSync(file).isFile(), '证据必须为文件');
|
|
20
|
+
return file;
|
|
21
|
+
}
|
|
22
|
+
// Stream large preserved evidence archives instead of allocating the whole file.
|
|
23
|
+
export function fileDigest(file) {
|
|
24
|
+
const hash = createHash('sha256'), buffer = Buffer.allocUnsafe(1024 * 1024);
|
|
25
|
+
const fd = fs.openSync(file, 'r');
|
|
26
|
+
try {
|
|
27
|
+
let size;
|
|
28
|
+
while ((size = fs.readSync(fd, buffer, 0, buffer.length, null)) !== 0) hash.update(buffer.subarray(0, size));
|
|
29
|
+
return `sha256:${hash.digest('hex')}`;
|
|
30
|
+
} finally { fs.closeSync(fd); }
|
|
31
|
+
}
|
|
32
|
+
/** Final observable repository files, including ignored and untracked files; never follow links. */
|
|
33
|
+
export function intakeSnapshot(root) {
|
|
34
|
+
const result = spawnSync('git', ['ls-files', '-z', '--cached', '--others'], { cwd: root, encoding: 'utf8', maxBuffer: 16 * 1024 * 1024 });
|
|
35
|
+
ensure(result.status === 0, result.stderr || '无法观察仓库');
|
|
36
|
+
const rows = {};
|
|
37
|
+
for (const ref of [...new Set(result.stdout.split('\0').filter(Boolean))].sort()) {
|
|
38
|
+
const file = path.join(root, ref);
|
|
39
|
+
try {
|
|
40
|
+
const stat = fs.lstatSync(file);
|
|
41
|
+
if (stat.isDirectory()) {
|
|
42
|
+
const nested = spawnSync('git', ['rev-parse', '--show-toplevel'], { cwd: file, encoding: 'utf8' });
|
|
43
|
+
ensure(nested.status === 0 && fs.realpathSync(nested.stdout.trim()) === fs.realpathSync(file), `子仓未初始化: ${ref}`);
|
|
44
|
+
const head = spawnSync('git', ['rev-parse', 'HEAD'], { cwd: file, encoding: 'utf8' });
|
|
45
|
+
ensure(nested.status === 0 && head.status === 0, `子仓不可观测: ${ref}`);
|
|
46
|
+
rows[ref] = { kind: 'gitlink', head: head.stdout.trim(), files: intakeSnapshot(file) };
|
|
47
|
+
} else rows[ref] = { kind: stat.isSymbolicLink() ? 'link' : 'file', mode: stat.mode, digest: stat.isSymbolicLink() ? digest(fs.readlinkSync(file)) : fileDigest(file) };
|
|
48
|
+
} catch (error) { if (error.code === 'ENOENT') rows[ref] = null; else throw error; }
|
|
49
|
+
}
|
|
50
|
+
const head=spawnSync('git',['rev-parse','--verify','HEAD'],{cwd:root,encoding:'utf8'});
|
|
51
|
+
const index=spawnSync('git',['ls-files','--stage','-z'],{cwd:root,encoding:'utf8',maxBuffer:16*1024*1024});
|
|
52
|
+
ensure(index.status===0,'无法观察 Git index');
|
|
53
|
+
return {git:{head:head.status===0?head.stdout.trim():null,index_digest:digest(index.stdout)},files:rows};
|
|
54
|
+
}
|
|
55
|
+
export function validateReadOnlyIntake(value, { root, runDir, roles, lifecycle }) {
|
|
56
|
+
const identity = parse(fs.readFileSync(path.join(root, 'yss-project.yaml'), 'utf8'));
|
|
57
|
+
ensure(identity.schema_version === 1 && ['template-source', 'project-instance'].includes(identity.repository_mode), '仓库身份无效');
|
|
58
|
+
ensure(value.contract.kind === 'read-only-intake' && value.schema_version === 2 && value.execution_state === 'Explorer' && value.allowed_write_paths.length === 0, '只读合同不授予写权限');
|
|
59
|
+
ensure(lifecycle.work_units.some(x => x.id === value.work_unit_id) && ['work-unit.entry-triage', 'work-unit.harness-entry'].includes(value.work_unit_id), '只允许已登记分诊入口');
|
|
60
|
+
ensure(roles.runtimes.some(x => x.id === value.runtime_id), '未知运行时');
|
|
61
|
+
ensure(value.contract.status === 'issued' || value.workflow_status === 'paused', '过期合同必须暂停');
|
|
62
|
+
for (const ref of [value.contract.contract_ref, ...value.inputs, ...value.expected_evidence_files]) intakeEvidencePath(ref, { root, runDir });
|
|
63
|
+
if (value.result) {
|
|
64
|
+
ensure(value.result.work_unit===value.work_unit_id && value.result.workflow_reference===value.contract.contract_ref,'结果必须绑定原分诊工作单元和合同来源');
|
|
65
|
+
ensure(!value.result.changed_files?.length && !value.result.changed_artifacts?.length, '只读结果包含变更');
|
|
66
|
+
ensure(value.result.next_route == null && !value.result.checkpoint_ref, '只读结果不得流转或修改 checkpoint');
|
|
67
|
+
for (const ref of value.result.evidence_refs || []) intakeEvidencePath(ref, { root, runDir });
|
|
68
|
+
}
|
|
69
|
+
const commands = new Set(value.verification_commands);
|
|
70
|
+
ensure((value.verification_status === 'not-executed') === (value.verification_results.length === 0), '执行状态与实际结果不一致');
|
|
71
|
+
for (const row of value.verification_results) {
|
|
72
|
+
ensure(commands.has(row.command) && row.evidence_ref.startsWith('run:'), '运行结果必须绑定声明的命令及真实运行日志');
|
|
73
|
+
const evidence = fs.readFileSync(intakeEvidencePath(row.evidence_ref, { root, runDir }));
|
|
74
|
+
ensure(row.evidence_digest === digest(evidence), '运行证据摘要不一致');
|
|
75
|
+
const record = JSON.parse(evidence);
|
|
76
|
+
for (const key of ['command','exit_code','duration_ms','executed_at']) ensure(record[key] === row[key], `运行记录 ${key} 不一致`);
|
|
77
|
+
for (const stream of ['stdout','stderr']) {
|
|
78
|
+
const ref = row[`${stream}_ref`];
|
|
79
|
+
ensure(ref?.startsWith('run:'), '运行日志无效');
|
|
80
|
+
ensure(record[`${stream}_digest`] === digest(fs.readFileSync(intakeEvidencePath(ref, { root, runDir }))), '运行日志摘要不一致');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (value.workflow_status === 'resolved' || value.result?.result === 'completed') {
|
|
84
|
+
ensure(value.workflow_status === 'resolved' && value.result?.result === 'completed', '完成状态不一致');
|
|
85
|
+
ensure(value.result.evidence_refs?.length && value.result.context_reconciliation?.status === 'not-applicable' && value.result.context_reconciliation?.reason, '只读结论缺少来源或不流转说明');
|
|
86
|
+
for (const key of ['drift','violation','new_impacts','stale_candidates','blocking_signals','deferred_seams']) ensure(Array.isArray(value.result[key]) && !value.result[key].length, `完成结果 ${key} 必须为空`);
|
|
87
|
+
ensure(value.verification_results.every(x => x.exit_code === 0) && [...commands].every(c => value.verification_results.some(x => x.command === c)), '实际验证缺失或失败');
|
|
88
|
+
ensure(value.observation_ref?.startsWith('run:'), '完成结果缺少执行器仓库观测');
|
|
89
|
+
const observation = JSON.parse(fs.readFileSync(intakeEvidencePath(value.observation_ref, { root, runDir }), 'utf8'));
|
|
90
|
+
const dispatchedBytes=fs.readFileSync(intakeEvidencePath(observation.task_ref,{root,runDir}));
|
|
91
|
+
ensure(observation.task_digest===digest(dispatchedBytes),'原派发任务摘要不一致');
|
|
92
|
+
const dispatched=JSON.parse(dispatchedBytes);
|
|
93
|
+
for(const key of ['task_id','work_unit_id','actor_id','role_id','runtime_id','contract','inputs','allowed_write_paths','objective','forbidden_actions','expected_outputs','expected_evidence_files','skill_source','downstream_consumers','convergence'])ensure(JSON.stringify(dispatched[key])===JSON.stringify(value[key]),`结果替换原任务 ${key}`);
|
|
94
|
+
ensure(!dispatched.verification_commands.length || JSON.stringify(dispatched.verification_commands)===JSON.stringify(value.verification_commands),'结果替换验证要求');
|
|
95
|
+
ensure(observation.kind === 'read-only-intake-observation' && observation.task_id === value.task_id && observation.root === fs.realpathSync(root), '观测身份不匹配');
|
|
96
|
+
ensure(JSON.stringify(observation.before) === JSON.stringify(observation.after) && JSON.stringify(observation.after) === JSON.stringify(intakeSnapshot(root)), '仓库实际差异与只读声明冲突');
|
|
97
|
+
}
|
|
98
|
+
return value;
|
|
99
|
+
}
|
|
100
|
+
/** Runner-owned evidence is outside the repository; the child receives no new repository permissions. */
|
|
101
|
+
export async function observeReadOnlyIntake(task, { root, runDir, command, args = [], timeoutMs = 0 }) {
|
|
102
|
+
const label = command ? JSON.stringify([command,...args]) : null;
|
|
103
|
+
ensure(!command || !task.verification_commands.length || task.verification_commands.length===1 && task.verification_commands[0]===label,'执行命令与声明不一致,不得替换要求的验证');
|
|
104
|
+
root = fs.realpathSync(root);
|
|
105
|
+
ensure(path.isAbsolute(runDir) && !inside(root, path.resolve(runDir)), '运行目录必须位于仓库外');
|
|
106
|
+
ensure(!inside(root, fs.realpathSync(path.dirname(runDir))), '运行目录父路径符号链接进入仓库');
|
|
107
|
+
fs.mkdirSync(runDir, { recursive: false });
|
|
108
|
+
runDir = fs.realpathSync(runDir);
|
|
109
|
+
fs.writeFileSync(path.join(runDir,'task.json'),JSON.stringify(task,null,2)+'\n',{flag:'wx'});
|
|
110
|
+
const before = intakeSnapshot(root), started = new Date().toISOString();
|
|
111
|
+
const result = command ? await runCommand(command, args, { cwd: root, timeoutMs, stdoutFile: path.join(runDir, 'stdout.log'), stderrFile: path.join(runDir, 'stderr.log') }) : null;
|
|
112
|
+
const after = intakeSnapshot(root);
|
|
113
|
+
const observation = { schema_version: 1, kind: 'read-only-intake-observation', task_id: task.task_id, task_ref:'run:task.json', task_digest:digest(fs.readFileSync(path.join(runDir,'task.json'))), root, started_at: started, before, after };
|
|
114
|
+
fs.writeFileSync(path.join(runDir, 'observation.json'), JSON.stringify(observation, null, 2)+'\n');
|
|
115
|
+
const changed = JSON.stringify(before) !== JSON.stringify(after);
|
|
116
|
+
const completed = !changed && (!result || result.status === 0);
|
|
117
|
+
const output = structuredClone(task);
|
|
118
|
+
output.observation_ref = 'run:observation.json';
|
|
119
|
+
output.verification_status = result ? 'executed' : 'not-executed';
|
|
120
|
+
output.verification_results = [];
|
|
121
|
+
if (result) {
|
|
122
|
+
const label = JSON.stringify([command, ...args]);
|
|
123
|
+
const record = { command: label, exit_code: result.status ?? 1, duration_ms: Math.round(result.duration_ms), executed_at: started, termination: result.termination ?? null, stdout_digest: digest(fs.readFileSync(path.join(runDir,'stdout.log'))), stderr_digest: digest(fs.readFileSync(path.join(runDir,'stderr.log'))) };
|
|
124
|
+
const bytes = JSON.stringify(record, null, 2)+'\n'; fs.writeFileSync(path.join(runDir, 'execution.json'), bytes);
|
|
125
|
+
output.verification_commands = [label];
|
|
126
|
+
output.verification_results = [{command:label,exit_code:record.exit_code,duration_ms:record.duration_ms,executed_at:started,evidence_ref:'run:execution.json',evidence_digest:digest(bytes),stdout_ref:'run:stdout.log',stderr_ref:'run:stderr.log'}];
|
|
127
|
+
}
|
|
128
|
+
output.workflow_status = completed ? 'resolved' : 'failed';
|
|
129
|
+
output.result = { result_schema: 'workflow-execution-result-v1', work_unit: task.work_unit_id, workflow_reference: task.contract.contract_ref, result: completed ? 'completed' : 'failed', skill: 'yss-research', changed_files: [], changed_artifacts: [], evidence_refs: [...task.inputs, 'run:observation.json'], context_reconciliation: {status:'not-applicable',ref:'CONTEXT.md',reason:'只读分诊,不批准资产或流转阶段'}, deferred_seams: [], drift: [], violation: changed ? ['repository-changed'] : [], new_impacts: [], stale_candidates: [], next_route: null, blocking_signals: completed ? [] : ['read-only-intake-failed'] };
|
|
130
|
+
fs.writeFileSync(path.join(runDir, 'task-result.json'), JSON.stringify(output, null, 2)+'\n');
|
|
131
|
+
return output;
|
|
132
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import {readingIdFields} from './reading-view-model.mjs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import {readFileSync,existsSync} from './validation-phase.mjs';
|
|
4
|
+
import {safe,hash} from './strategic-handoff-io.mjs';
|
|
5
|
+
|
|
6
|
+
const orders={
|
|
7
|
+
'domain-strategy':['contexts','subdomains','relationships','rule_catalog','scenarios','concept_candidates','invariants','downstream_mapping','status'],
|
|
8
|
+
'stage-decision-package':['problem_statement','target_users','mvp','non_goals','confirmed_decisions','success_criteria','test_seams','assumptions','constraints','unresolved_items','downstream_mapping'],
|
|
9
|
+
checkpoint:['stage','status','next_work_unit','blockers','stage_tracking','artifacts','gates','verification','human_review']
|
|
10
|
+
};
|
|
11
|
+
export function adaptReading(kind,raw,{root,ref,blockers}){
|
|
12
|
+
if(kind==='tracking-migration')return migration(raw,{root,ref,blockers});
|
|
13
|
+
const order=orders[kind];if(!order)return raw;
|
|
14
|
+
const inspect=(value,collection)=>{
|
|
15
|
+
if(!value||typeof value!=='object')return;
|
|
16
|
+
if(Array.isArray(value)&&readingIdFields[collection]){const key=readingIdFields[collection],ids=value.map(x=>x?.[key]).filter(x=>typeof x==='string');if(new Set(ids).size!==ids.length)blockers.push(`duplicate-stable-id: ${collection}.${key}`);}
|
|
17
|
+
for(const [key,child]of Object.entries(value))inspect(child,key);
|
|
18
|
+
};inspect(raw);
|
|
19
|
+
const content=Object.fromEntries([...order,...Object.keys(raw)].filter((key,index,all)=>Object.hasOwn(raw,key)&&all.indexOf(key)===index).map(key=>[key,raw[key]]));
|
|
20
|
+
if(kind==='checkpoint')content.状态阅读说明={源声明:'上面的阶段、状态和工作项进度均为源声明,分别保留。',阻塞登记:Array.isArray(raw.blockers)&&!raw.blockers.length?'未登记阻塞;不等于可执行。':'按源记录检查;缺失不等于无阻塞。',未核验:'批准、完整门禁、Ticket 就绪及外部事实未核验;历史验证记录不能替代本次验证。'};
|
|
21
|
+
return content;
|
|
22
|
+
}
|
|
23
|
+
const LIMIT=2*1024*1024;
|
|
24
|
+
function migration(plan,{root,ref,blockers}){
|
|
25
|
+
const content={...Object.fromEntries(Object.entries(plan).filter(([k])=>!['root','changes','observed','input','plan_id','schema_version'].includes(k))),plan_id:plan.plan_id,执行结果:'proposed(仅为计划;没有验证执行回执)',changes:[]};
|
|
26
|
+
try{
|
|
27
|
+
const {plan_id,...payload}=plan;
|
|
28
|
+
if(plan.schema_version!==1||!Array.isArray(plan.changes)||hash(JSON.stringify(payload)).slice(7)!==plan_id)throw Error('migration-plan-digest-mismatch');
|
|
29
|
+
const base=path.posix.dirname(ref),isPersisted=path.posix.basename(ref)==='plan.json';
|
|
30
|
+
let backups=[];
|
|
31
|
+
if(isPersisted){
|
|
32
|
+
for(const name of ['backup.json','receipt.json','failure.json']){
|
|
33
|
+
const target=`${base}/${name}`,file=safe(root,target,{missing:true});
|
|
34
|
+
if(!existsSync(file))continue;
|
|
35
|
+
const bytes=readFileSync(file);if(bytes.length>LIMIT*4)throw Error(`migration-preview-too-large: ${target}`);
|
|
36
|
+
const value=JSON.parse(bytes);
|
|
37
|
+
content[name.replace('.json','')+'_ref']=target;
|
|
38
|
+
if(name==='backup.json'){if(!Array.isArray(value))throw Error('migration-backup-invalid');backups=value;}
|
|
39
|
+
else if(name==='receipt.json'){if(value.plan_id!==plan_id||value.status!=='applied')throw Error('migration-receipt-conflict');content.执行结果='applied(原事务回执;不表示当前资产仍与历史一致)';content.回执=value;}
|
|
40
|
+
else {content.执行结果='failed(保留恢复冲突;回执不能覆盖失败记录)';content.失败记录=value;}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
for(const change of plan.changes){
|
|
44
|
+
safe(root,change.ref,{missing:true});
|
|
45
|
+
if(typeof change.after!=='string'||Buffer.byteLength(change.after)>LIMIT)throw Error(`migration-preview-too-large-or-invalid: ${change.ref}`);
|
|
46
|
+
if(hash(change.after)!==change.after_digest)throw Error(`migration-after-digest-mismatch: ${change.ref}`);
|
|
47
|
+
let before=change.before?'无法比较旧内容:未提供匹配的历史备份;不读取当前文件冒充旧版本。':'原文件不存在(新增)';
|
|
48
|
+
const matches=backups.filter(row=>row.ref===change.ref);if(matches.length>1)throw Error('migration-backup-duplicate');
|
|
49
|
+
const backup=matches[0];
|
|
50
|
+
if(change.before&&backup){
|
|
51
|
+
if(typeof backup.bytes!=='string'||backup.bytes.length>LIMIT*1.4||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(backup.bytes))throw Error('migration-backup-base64-invalid');
|
|
52
|
+
const bytes=Buffer.from(backup.bytes,'base64');
|
|
53
|
+
if(hash(bytes)!==change.before.digest||backup.before?.digest!==change.before.digest||backup.before?.mode!==change.before.mode)throw Error('migration-backup-digest-mismatch');
|
|
54
|
+
before=new TextDecoder('utf-8',{fatal:true}).decode(bytes);
|
|
55
|
+
}
|
|
56
|
+
content.changes.push({ref:change.ref,before,after:change.after,before_binding:change.before,after_digest:change.after_digest});
|
|
57
|
+
}
|
|
58
|
+
content.未展开字段={root:'本机位置不参与业务阅读',observed:'原计划中的事务读集;完整值见权威计划',input:'登记输入保留在原计划;不作为当前进度',恢复数据:'Base64 原备份不写回、不执行;上面仅展示经过摘要核对的 UTF-8 内容'};
|
|
59
|
+
content.gaps=plan.gaps;
|
|
60
|
+
}catch(error){blockers.push(error.message);content.诊断=error.message;}
|
|
61
|
+
return content;
|
|
62
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import {randomUUID} from 'node:crypto';
|
|
4
|
+
import {viewContract} from './contract-views.mjs';
|
|
5
|
+
import {readFileSync,existsSync,withValidationPhase,validationDependencies} from './validation-phase.mjs';
|
|
6
|
+
import {safe,hash,ROOT,schema} from './strategic-handoff-io.mjs';
|
|
7
|
+
import {parseSliceYaml} from './slice-contract.mjs';
|
|
8
|
+
import {READING_POLICY,readingPolicy,managedReading,readingLocation} from './reading-view-policy.mjs';
|
|
9
|
+
const json=value=>JSON.stringify(value,null,2)+'\n';
|
|
10
|
+
const BEGIN='<!-- YSS-READING:BEGIN -->',END='<!-- YSS-READING:END -->';
|
|
11
|
+
const kinds={'artifact.domain-strategy':'domain-strategy',domain_strategy:'domain-strategy','domain-strategy':'domain-strategy','artifact.stage-decision-package':'stage-decision-package',stage_decision:'stage-decision-package','stage-decision-package':'stage-decision-package'};
|
|
12
|
+
const bytes=(root,ref)=>{const file=safe(root,ref,{missing:true});return existsSync(file)?readFileSync(file):null;};
|
|
13
|
+
const descriptor=(root,ref)=>{const b=bytes(root,ref);return b===null?null:hash(b);};
|
|
14
|
+
function identity(root){const id=parseSliceYaml(bytes(root,'yss-project.yaml'));if(id?.schema_version!==1||id.repository_mode!=='project-instance')throw Error('reading-project-instance-required');}
|
|
15
|
+
function toolClosure(){
|
|
16
|
+
const found=new Map();
|
|
17
|
+
const visit=ref=>{if(found.has(ref))return;const file=safe(ROOT,ref),content=readFileSync(file);found.set(ref,hash(content));
|
|
18
|
+
if(/\.(mjs|js)$/.test(ref))for(const match of content.toString().matchAll(/(?:from\s*|import\s*)['"](\.[^'"]+)['"]/g))visit(path.posix.normalize(path.posix.join(path.posix.dirname(ref),match[1])));
|
|
19
|
+
};
|
|
20
|
+
for(const ref of ['scripts/lib/reading-view-bundle.mjs','scripts/contract'])visit(ref);
|
|
21
|
+
return Object.fromEntries([...found].sort(([a],[b])=>a.localeCompare(b)));
|
|
22
|
+
}
|
|
23
|
+
function navigation(text){
|
|
24
|
+
const starts=text.split(BEGIN).length-1,ends=text.split(END).length-1;
|
|
25
|
+
if(!starts&&!ends)return {manual:text,block:null};
|
|
26
|
+
if(starts!==1||ends!==1||text.indexOf(END)<text.indexOf(BEGIN))throw Error('reading-navigation-marker-conflict');
|
|
27
|
+
const a=text.indexOf(BEGIN),b=text.indexOf(END)+END.length;
|
|
28
|
+
return {manual:text.slice(0,a)+text.slice(b),block:text.slice(a,b),a,b};
|
|
29
|
+
}
|
|
30
|
+
function build(root,checkpoint){
|
|
31
|
+
return withValidationPhase({root,purpose:'reading-bundle',readOnly:true},()=>{
|
|
32
|
+
identity(root);readingPolicy(root);
|
|
33
|
+
if(!bytes(root,'CONTEXT.md'))throw Error('reading-context-required');
|
|
34
|
+
const loc=readingLocation(checkpoint),raw=parseSliceYaml(bytes(root,checkpoint)),assets=[{ref:checkpoint,kind:'checkpoint'}],seen=new Set();
|
|
35
|
+
for(const [key,value]of Object.entries(raw.artifacts||{})){
|
|
36
|
+
const kind=kinds[key];if(!kind)continue;
|
|
37
|
+
const ref=typeof value==='string'?value:value?.ref;
|
|
38
|
+
if(!ref){if(['missing','not-applicable'].includes(value?.status))continue;throw Error(`reading-artifact-ref-required: ${key}`);}
|
|
39
|
+
if(seen.has(kind))throw Error(`reading-artifact-duplicate: ${kind}`);seen.add(kind);assets.push({ref,kind});
|
|
40
|
+
}
|
|
41
|
+
const outputs={},diagnostics=[],referenceBindings=[];
|
|
42
|
+
const bindReferences=(value,key='')=>{
|
|
43
|
+
if(typeof value==='string'&&(/^(ref|.*_ref|evidence_refs)$/.test(key))&&(/^(docs\/|\.template-spec\/|CONTEXT\.md)/.test(value))){
|
|
44
|
+
const ref=value.split('#')[0];
|
|
45
|
+
if(ref.startsWith(loc.directory+'/')||ref===loc.base+'/map.md')throw Error('reading-self-dependency');
|
|
46
|
+
referenceBindings.push({scope:'project',ref,digest:descriptor(root,ref)});
|
|
47
|
+
}else if(value&&typeof value==='object')for(const [child,v]of Object.entries(value))bindReferences(v,Array.isArray(value)?key:child);
|
|
48
|
+
};
|
|
49
|
+
bindReferences(raw);
|
|
50
|
+
for(const asset of assets){
|
|
51
|
+
bindReferences(parseSliceYaml(bytes(root,asset.ref)));
|
|
52
|
+
const view=viewContract(asset.ref,{root,kind:asset.kind});
|
|
53
|
+
diagnostics.push(...view.blockers.map(reason=>({ref:asset.ref,reason})));
|
|
54
|
+
const name=asset.kind==='checkpoint'?'status':asset.kind;
|
|
55
|
+
outputs[`${loc.directory}/${name}.review.md`]=view.markdown;
|
|
56
|
+
}
|
|
57
|
+
const block=[BEGIN,'## 阅读导航','',...Object.keys(outputs).map(ref=>`- [${path.posix.basename(ref)}](./${path.posix.relative(loc.base,ref)})`),'','以上为来源快照;提交审阅或交接前运行 `scripts/contract check-views --checkpoint '+checkpoint+'`。',END].join('\n');
|
|
58
|
+
const renderer=toolClosure();
|
|
59
|
+
readFileSync(safe(ROOT,'.template-spec/process/schemas/reading-manifest.schema.json'));
|
|
60
|
+
const dependencies=validationDependencies().files.map(row=>{
|
|
61
|
+
const local=path.relative(root,row.file);return !local.startsWith('..')&&!path.isAbsolute(local)?{scope:'project',ref:local,digest:'sha256:'+row.digest}:{scope:'tool',ref:path.relative(ROOT,row.file),digest:'sha256:'+row.digest};
|
|
62
|
+
}).sort((a,b)=>(a.scope+a.ref).localeCompare(b.scope+b.ref));
|
|
63
|
+
for(const row of referenceBindings)if(!dependencies.some(item=>item.scope===row.scope&&item.ref===row.ref))dependencies.push(row);
|
|
64
|
+
// A missing policy is also an input; adding one invalidates the previous package.
|
|
65
|
+
if(!dependencies.some(row=>row.scope==='project'&&row.ref===READING_POLICY))dependencies.push({scope:'project',ref:READING_POLICY,digest:null});
|
|
66
|
+
const manifest={schema_version:1,checkpoint_ref:checkpoint,renderer,dependencies,outputs:Object.fromEntries(Object.entries(outputs).map(([ref,text])=>[ref,hash(text)])),navigation:{ref:`${loc.base}/map.md`,block_digest:hash(block)},diagnostics};
|
|
67
|
+
schema(manifest,'.template-spec/process/schemas/reading-manifest.schema.json');
|
|
68
|
+
return {loc,outputs,block,manifest};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function oldManifest(root,loc){
|
|
72
|
+
const value=bytes(root,`${loc.directory}/.manifest.json`);if(!value)return null;
|
|
73
|
+
try{const m=JSON.parse(value);if(m.schema_version!==1||!m.outputs||!m.navigation||typeof m.outputs!=='object')throw Error();
|
|
74
|
+
for(const ref of Object.keys(m.outputs))if(!new RegExp(`^${loc.directory.replaceAll('.','\\.')}/(?:domain-strategy|stage-decision-package|status)\\.review\\.md$`).test(ref))throw Error();
|
|
75
|
+
if(m.navigation.ref!==`${loc.base}/map.md`)throw Error();return m;
|
|
76
|
+
}catch{throw Error('reading-manifest-invalid: preserve files; restore last valid manifest before rebuilding');}
|
|
77
|
+
}
|
|
78
|
+
function changesFor(root,built){
|
|
79
|
+
const old=oldManifest(root,built.loc),changes=[],mapRef=built.manifest.navigation.ref,mapBytes=bytes(root,mapRef),currentMap=mapBytes?.toString('utf8')||'',nav=navigation(currentMap);
|
|
80
|
+
for(const [ref,text]of Object.entries(built.outputs)){
|
|
81
|
+
const before=bytes(root,ref);if(before&&(!old?.outputs[ref]||hash(before)!==old.outputs[ref]))throw Error(`reading-output-conflict: ${ref}`);
|
|
82
|
+
if(!before||before.toString('utf8')!==text)changes.push({ref,before:before?.toString('base64')??null,after:Buffer.from(text).toString('base64')});
|
|
83
|
+
}
|
|
84
|
+
for(const ref of Object.keys(old?.outputs||{}))if(!Object.hasOwn(built.outputs,ref))throw Error(`reading-retired-output-needs-review: ${ref}`);
|
|
85
|
+
if(nav.block&&(!old||hash(nav.block)!==old.navigation.block_digest))throw Error(`reading-output-conflict: ${mapRef}`);
|
|
86
|
+
const nextMap=nav.block?currentMap.slice(0,nav.a)+built.block+currentMap.slice(nav.b):currentMap+(currentMap.endsWith('\n')?'':'\n')+'\n'+built.block+'\n';
|
|
87
|
+
if(nextMap!==currentMap)changes.push({ref:mapRef,before:mapBytes?.toString('base64')??null,after:Buffer.from(nextMap).toString('base64')});
|
|
88
|
+
const manifestRef=`${built.loc.directory}/.manifest.json`,before=bytes(root,manifestRef),after=json(built.manifest);
|
|
89
|
+
if(before?.toString('utf8')!==after)changes.push({ref:manifestRef,before:before?.toString('base64')??null,after:Buffer.from(after).toString('base64')});
|
|
90
|
+
return changes;
|
|
91
|
+
}
|
|
92
|
+
function verifyInputs(root,built){
|
|
93
|
+
for(const row of built.manifest.dependencies)if(descriptor(row.scope==='project'?root:ROOT,row.ref)!==row.digest)throw Error(`reading-input-drift: ${row.ref}`);
|
|
94
|
+
if(json(toolClosure())!==json(built.manifest.renderer))throw Error('reading-renderer-drift');
|
|
95
|
+
}
|
|
96
|
+
function atomic(root,ref,value){const file=safe(root,ref,{missing:true});fs.mkdirSync(path.dirname(file),{recursive:true});const tmp=`${file}.tmp-${randomUUID()}`;try{fs.writeFileSync(tmp,value,{flag:'wx',mode:fs.existsSync(file)?fs.statSync(file).mode&0o777:0o644});safe(root,ref,{missing:true});fs.renameSync(tmp,file);}finally{if(fs.existsSync(tmp))fs.unlinkSync(tmp);}}
|
|
97
|
+
function same(root,ref,encoded){const current=bytes(root,ref);return encoded===null?current===null:current!==null&&hash(current)===hash(Buffer.from(encoded,'base64'));}
|
|
98
|
+
function recover(root,loc){
|
|
99
|
+
const ref=`${loc.directory}/.transaction.json`,content=bytes(root,ref);if(!content)return;
|
|
100
|
+
const journal=JSON.parse(content);
|
|
101
|
+
if(journal.schema_version!==1||!Array.isArray(journal.changes))throw Error('reading-recovery-journal-invalid');
|
|
102
|
+
for(const c of journal.changes){if(![`${loc.base}/map.md`,`${loc.directory}/.manifest.json`,...['domain-strategy','stage-decision-package','status'].map(k=>`${loc.directory}/${k}.review.md`)].includes(c.ref)||!(c.before===null||typeof c.before==='string')||typeof c.after!=='string')throw Error('reading-recovery-journal-invalid');}
|
|
103
|
+
const conflicts=[];
|
|
104
|
+
for(const c of [...journal.changes].reverse()){
|
|
105
|
+
if(same(root,c.ref,c.before))continue;
|
|
106
|
+
if(!same(root,c.ref,c.after)){conflicts.push(c.ref);continue;}
|
|
107
|
+
if(c.before===null)fs.unlinkSync(safe(root,c.ref));else atomic(root,c.ref,Buffer.from(c.before,'base64'));
|
|
108
|
+
}
|
|
109
|
+
if(conflicts.length)throw Error(`reading-recovery-conflict: ${conflicts.join(', ')}`);
|
|
110
|
+
fs.unlinkSync(safe(root,ref));
|
|
111
|
+
}
|
|
112
|
+
function locked(root,loc,action){
|
|
113
|
+
const lockRef=`${loc.directory}/${loc.lock_name||'.lock'}`,file=safe(root,lockRef,{missing:true});fs.mkdirSync(path.dirname(file),{recursive:true});
|
|
114
|
+
if(fs.existsSync(file)){
|
|
115
|
+
const old=fs.readFileSync(file);let pid;try{pid=JSON.parse(old).pid;if(!Number.isInteger(pid)||pid<=0)throw Error();}catch{throw Error('reading-lock-invalid');}
|
|
116
|
+
try{process.kill(pid,0);throw Error('reading-busy');}catch(error){if(error.code!=='ESRCH')throw error;}
|
|
117
|
+
const recoveryLock=safe(root,`${lockRef}.recovery`,{missing:true});
|
|
118
|
+
fs.writeFileSync(recoveryLock,String(process.pid),{flag:'wx'});
|
|
119
|
+
try{if(!fs.existsSync(file)||hash(fs.readFileSync(file))!==hash(old))throw Error('reading-busy');fs.unlinkSync(file);}
|
|
120
|
+
finally{fs.unlinkSync(recoveryLock);}
|
|
121
|
+
}
|
|
122
|
+
const token=json({pid:process.pid,token:randomUUID()});fs.writeFileSync(file,token,{flag:'wx'});
|
|
123
|
+
try{if(loc.recover!==false)recover(root,loc);return action();}finally{if(fs.existsSync(file)&&fs.readFileSync(file,'utf8')===token)fs.unlinkSync(file);}
|
|
124
|
+
}
|
|
125
|
+
export function renderReadingBundle(root,checkpoint,{afterWrite}={}){
|
|
126
|
+
root=path.resolve(root);identity(root);const loc=readingLocation(checkpoint);
|
|
127
|
+
return locked(root,loc,()=>{
|
|
128
|
+
const built=build(root,checkpoint),changes=changesFor(root,built);verifyInputs(root,built);
|
|
129
|
+
if(!changes.length)return {status:'unchanged',checkpoint_ref:checkpoint,diagnostics:built.manifest.diagnostics};
|
|
130
|
+
const journalRef=`${loc.directory}/.transaction.json`;
|
|
131
|
+
atomic(root,journalRef,json({schema_version:1,changes}));
|
|
132
|
+
try{
|
|
133
|
+
for(const [index,c]of changes.entries()){
|
|
134
|
+
verifyInputs(root,built);if(!same(root,c.ref,c.before))throw Error(`reading-output-conflict: ${c.ref}`);
|
|
135
|
+
atomic(root,c.ref,Buffer.from(c.after,'base64'));afterWrite?.(c,index+1);
|
|
136
|
+
}
|
|
137
|
+
verifyInputs(root,built);
|
|
138
|
+
for(const c of changes)if(!same(root,c.ref,c.after))throw Error(`reading-output-conflict: ${c.ref}`);
|
|
139
|
+
fs.unlinkSync(safe(root,journalRef));
|
|
140
|
+
return {status:'rendered',checkpoint_ref:checkpoint,changed_refs:changes.map(c=>c.ref),diagnostics:built.manifest.diagnostics};
|
|
141
|
+
}catch(error){try{recover(root,loc);}catch(recovery){throw Error(`${error.message}; ${recovery.message}`);}throw error;}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
export function checkReadingViews(root,checkpoint,{required=false}={}){
|
|
145
|
+
identity(root);const enabled=managedReading(root,checkpoint);
|
|
146
|
+
if(!required&&!enabled)return {status:'manual',read_only:true,execution_allowed:false,blockers:[]};
|
|
147
|
+
try{
|
|
148
|
+
const loc=readingLocation(checkpoint);
|
|
149
|
+
if(bytes(root,`${loc.directory}/.transaction.json`)||bytes(root,`${loc.directory}/.lock`))throw Error('reading-update-incomplete');
|
|
150
|
+
const expected=build(root,checkpoint),actual=oldManifest(root,loc),reasons=[];
|
|
151
|
+
if(!actual||json(actual)!==json(expected.manifest))reasons.push('reading-manifest-stale');
|
|
152
|
+
for(const [ref,digest]of Object.entries(expected.manifest.outputs))if(descriptor(root,ref)!==digest)reasons.push(`reading-output-stale: ${ref}`);
|
|
153
|
+
if(hash(navigation(bytes(root,expected.manifest.navigation.ref)?.toString('utf8')||'').block||'')!==expected.manifest.navigation.block_digest)reasons.push('reading-navigation-stale');
|
|
154
|
+
verifyInputs(root,expected);
|
|
155
|
+
return {status:reasons.length?'stale':'current',read_only:true,execution_allowed:false,approval_validity:'not-checked',blockers:reasons,diagnostics:expected.manifest.diagnostics,recovery:`scripts/contract render --checkpoint ${checkpoint}`};
|
|
156
|
+
}catch(error){return {status:'stale',read_only:true,execution_allowed:false,blockers:[error.message],recovery:`scripts/contract render --checkpoint ${checkpoint}`};}
|
|
157
|
+
}
|
|
158
|
+
export function planEnableReading(root,checkpoint){
|
|
159
|
+
identity(root);root=path.resolve(root);const built=build(root,checkpoint),changes=changesFor(root,built),policy=readingPolicy(root);
|
|
160
|
+
const nextPolicy={...policy,mode:'managed',checkpoints:[...new Set([...policy.checkpoints,checkpoint])].sort()};
|
|
161
|
+
const payload={schema_version:1,kind:'reading-enable-plan',root,checkpoint_ref:checkpoint,policy_before:descriptor(root,READING_POLICY),policy_after:nextPolicy,dependencies:built.manifest.dependencies,renderer:built.manifest.renderer,outputs_before:Object.fromEntries([...Object.keys(built.outputs),built.manifest.navigation.ref,`${built.loc.directory}/.manifest.json`].map(ref=>[ref,descriptor(root,ref)])),preview:changes.map(c=>({ref:c.ref,before_digest:c.before===null?null:hash(Buffer.from(c.before,'base64')),after:Buffer.from(c.after,'base64').toString('utf8')}))};
|
|
162
|
+
return {...payload,plan_id:hash(json(payload))};
|
|
163
|
+
}
|
|
164
|
+
function applyEnableReadingLocked(root,plan){
|
|
165
|
+
const {plan_id,...payload}=plan;if(plan.kind!=='reading-enable-plan'||plan.root!==path.resolve(root)||hash(json(payload))!==plan_id)throw Error('reading-enable-plan-invalid');
|
|
166
|
+
const policy=readingPolicy(root);
|
|
167
|
+
if(json(policy)===json(plan.policy_after)&&checkReadingViews(root,plan.checkpoint_ref).status==='current')return {status:'unchanged'};
|
|
168
|
+
const current=planEnableReading(root,plan.checkpoint_ref);if(json(current)!==json(plan))throw Error('reading-enable-plan-stale');
|
|
169
|
+
const before=bytes(root,READING_POLICY);atomic(root,READING_POLICY,json(plan.policy_after));
|
|
170
|
+
try{return {status:'enabled',reading_update:renderReadingBundle(root,plan.checkpoint_ref)};}
|
|
171
|
+
catch(error){if(descriptor(root,READING_POLICY)===hash(json(plan.policy_after))){if(before===null)fs.unlinkSync(safe(root,READING_POLICY));else atomic(root,READING_POLICY,before);}throw error;}
|
|
172
|
+
}
|
|
173
|
+
export function finalizeReading(root,checkpoint,sourceOperation){
|
|
174
|
+
try{if(!managedReading(root,checkpoint))return {...sourceOperation,source_operation:sourceOperation.status,reading_update:{status:'manual'}};
|
|
175
|
+
return {...sourceOperation,source_operation:sourceOperation.status,reading_update:renderReadingBundle(root,checkpoint)};
|
|
176
|
+
}catch(error){return {...sourceOperation,source_operation:sourceOperation.status,reading_update:{status:'failed',error:error.message,recovery:`scripts/contract render --checkpoint ${checkpoint}`}};}
|
|
177
|
+
}
|
|
178
|
+
export function readingCheckpointsForAsset(root,ref,kind){
|
|
179
|
+
if(!['domain-strategy','stage-decision-package','checkpoint','tracking-migration'].includes(kind))return [];
|
|
180
|
+
const policy=readingPolicy(root);if(policy.mode!=='managed')return [];
|
|
181
|
+
return policy.checkpoints.filter(checkpoint=>ref.startsWith(readingLocation(checkpoint).base+'/'));
|
|
182
|
+
}
|
|
183
|
+
export function assertReadingTransition(root,decisionState,currentWorkUnit){
|
|
184
|
+
const ref=decisionState?.checkpoint_ref||decisionState?.checkpoint?.ref;
|
|
185
|
+
if(!ref){const policy=readingPolicy(root);if(policy.mode==='managed'&&policy.checkpoints.length&&['work-unit.plan-requirements','work-unit.domain-strategy-design','work-unit.stage-decision-package','work-unit.spec-synthesis'].includes(currentWorkUnit))throw Error('reading-checkpoint-ref-required');return {status:'not-applicable'};}
|
|
186
|
+
if(!managedReading(root,ref))return {status:'manual'};
|
|
187
|
+
const result=checkReadingViews(root,ref);if(result.blockers.length)throw Error(`reading-views-stale: ${result.blockers.join('; ')}`);return result;
|
|
188
|
+
}
|
|
189
|
+
export function saveReadingComparison(root,checkpoint,result){
|
|
190
|
+
const loc=readingLocation(checkpoint);
|
|
191
|
+
if(result.blockers?.length||!result.diff||!result.diff.markdown)throw Error('reading-comparison-source-invalid');
|
|
192
|
+
const report=result.diff.markdown+'\n批准有效性:not-checked;原决定及语义审阅仍按准备结果处理。\n';
|
|
193
|
+
const id=hash(json({before:result.before,after:result.after,report,renderer:toolClosure()})).slice(7),ref=`${loc.directory}/changes/${id}.md`,file=safe(root,ref,{missing:true});
|
|
194
|
+
if(fs.existsSync(file)){if(fs.readFileSync(file,'utf8')!==report)throw Error('reading-comparison-conflict');return {ref,digest:hash(report),status:'unchanged'};}
|
|
195
|
+
fs.mkdirSync(path.dirname(file),{recursive:true});fs.writeFileSync(file,report,{flag:'wx'});return {ref,digest:hash(report),status:'saved'};
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export function applyEnableReading(root,plan){
|
|
199
|
+
identity(root);
|
|
200
|
+
return locked(root,{base:'.template-spec/process',directory:'.template-spec/process',lock_name:'.reading-enable.lock',recover:false},()=>applyEnableReadingLocked(root,plan));
|
|
201
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {readingIdFields} from './reading-view-model.mjs';
|
|
2
|
+
import {renderReadingValue} from './reading-view-markdown.mjs';
|
|
3
|
+
const object=v=>v!==null&&typeof v==='object'&&!Array.isArray(v);
|
|
4
|
+
const identity=(value,pointer)=>{const key=readingIdFields[pointer.split('/').at(-1)]||'id';return object(value)&&typeof value[key]==='string'?key:undefined;};
|
|
5
|
+
const part=value=>String(value).replace(/~/g,'~0').replace(/\//g,'~1');
|
|
6
|
+
const bindings=new Set(['schema_version','digest','subject_digest','document_digest','referenced_terms_digest','ref','context_ref','persisted_ref']);
|
|
7
|
+
const business=new Set(['responsibilities','non_responsibilities','rules','failure_results','success_results','statement','constraints','status','acceptance','progress','scope','preconditions','blockers','owner','deferred']);
|
|
8
|
+
export function readingDiff(before,after){
|
|
9
|
+
const changes=[];
|
|
10
|
+
const walk=(a,b,p,category='unclassified')=>{
|
|
11
|
+
if(JSON.stringify(a)===JSON.stringify(b))return;
|
|
12
|
+
if(object(a)&&object(b)){for(const key of new Set([...Object.keys(a),...Object.keys(b)]))walk(a[key],b[key],`${p}/${part(key)}`,bindings.has(key)?'binding-change':business.has(key)?'business-change':category);return;}
|
|
13
|
+
if(Array.isArray(a)&&Array.isArray(b)&&a.length&&b.length){
|
|
14
|
+
const key=identity(a[0],p);if(key&&[...a,...b].every(x=>object(x)&&typeof x[key]==='string')){
|
|
15
|
+
const left=a.map(x=>x[key]),right=b.map(x=>x[key]);
|
|
16
|
+
if(new Set(left).size!==left.length||new Set(right).size!==right.length){changes.push({path:p,category:'unclassified',diagnostic:'duplicate-stable-id',before:a,after:b});return;}
|
|
17
|
+
if(JSON.stringify(left)!==JSON.stringify(right))changes.push({path:p,category:'business-change',change:'order-or-membership',before:left,after:right});
|
|
18
|
+
for(const id of new Set([...left,...right]))walk(a.find(x=>x[key]===id),b.find(x=>x[key]===id),`${p}/@${part(id)}`,category);return;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
changes.push({path:p,category,before:a===undefined?{absent:true}:a,after:b===undefined?{absent:true}:b});
|
|
22
|
+
};
|
|
23
|
+
walk(before,after,'');return changes;
|
|
24
|
+
}
|
|
25
|
+
export function renderReadingDiff(result){
|
|
26
|
+
const changes=result.semantic_changes||result.changes;
|
|
27
|
+
return ['# 合同差异审阅','本报告不认定语义等价,不授予批准沿用或执行权限。',`旧来源:${result.before.ref};${result.before.digest}`,`新来源:${result.after.ref};${result.after.digest}`,
|
|
28
|
+
...changes.flatMap(row=>[`## ${row.path||'/'}`,`分类:${row.category}(仍需按实际影响审阅)`,renderReadingValue({before:row.before,after:row.after,...(row.change?{change:row.change}:{})})]),...(!changes.length?[result.bytes_changed?'presentation-change:解析内容相同,原字节不同;原绑定仍需核验。':'没有检测到差异;批准有效性未核验。']:[])].join('\n\n')+'\n';
|
|
29
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Presentation only: labels never change identifiers or decision values.
|
|
2
|
+
export const readingLabels=Object.freeze({
|
|
3
|
+
'domain-strategy':'领域战略审阅','stage-decision-package':'阶段决策审阅',checkpoint:'阶段状态快照','tracking-migration':'跟踪迁移审阅',
|
|
4
|
+
contexts:'业务责任区',subdomains:'业务板块',relationships:'协作与交接关系',rule_catalog:'业务规则',scenarios:'业务场景',concept_candidates:'关键业务对象候选',invariants:'不可违反的规则',downstream_mapping:'下游传播',context_snapshot:'术语来源',evidence_refs:'证据来源',approval:'批准记录',
|
|
5
|
+
responsibilities:'负责事项',non_responsibilities:'不负责事项',owner:'负责人',status:'声明状态',statement:'规则内容',responsible_context:'责任区',preconditions:'前提条件',commands:'操作',rules:'适用规则',events:'业务事件',success_results:'成功结果',failure_results:'失败结果',consumers:'消费方',rule_refs:'规则引用',critical:'关键场景',
|
|
6
|
+
problem_statement:'问题与目标',target_users:'目标用户',mvp:'本期范围',non_goals:'非目标',success_criteria:'成功标准',test_seams:'测试边界',confirmed_decisions:'已确认决定',assumptions:'假设',constraints:'约束',unresolved_items:'未决事项',domain_strategy_ref:'领域战略来源',impact_assessment:'影响面',
|
|
7
|
+
stage:'当前阶段',next_work_unit:'下一工作单元',blockers:'已登记阻塞',stage_tracking:'阶段工作',items:'工作项',progress:'工作项进度',acceptance:'验收条件',dependencies:'依赖',completion:'完成证据',recheck_required:'需要重新检查',deferred:'延期安排',cancellation_reason:'取消原因',
|
|
8
|
+
artifacts:'阶段资产',gates:'门禁登记',checks:'检查范围',verification:'验证记录',human_review:'人工审阅',context_reconciliation:'术语对账',ticket_sync:'Ticket 同步',git_checkpoint:'Git 授权记录',rollback:'回滚',
|
|
9
|
+
changes:'文件变化',before:'修改前',after:'修改后',changed_refs:'变更文件',source_operation:'源操作结果',reading_update:'阅读材料更新',
|
|
10
|
+
name:'名称',title:'标题',description:'说明',rationale:'依据',scope:'范围',type:'类型',next_action:'下一动作',target_version:'目标版本',semantic_upstream:'规则提供方',semantic_downstream:'规则使用方',business_authority:'业务决策权',transport_direction:'信息方向',translation_responsibility:'口径转换负责人',model_change_impact:'模型变更影响',direction_explanation:'方向说明',
|
|
11
|
+
});
|
|
12
|
+
export const escapeMarkdown=value=>String(value).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/([\\`*_\[\]|])/g,'\\$1');
|
|
13
|
+
const scalar=value=>value===null?'null':String(value);
|
|
14
|
+
function textLines(value,indent=''){
|
|
15
|
+
return scalar(value).split(/\r?\n/).map((line,index)=>`${index?'\n'+indent+'> ':''}${escapeMarkdown(line)}`).join('');
|
|
16
|
+
}
|
|
17
|
+
export function renderReadingValue(value,depth=0){
|
|
18
|
+
if(value===null||typeof value!=='object')return textLines(value);
|
|
19
|
+
const entries=Object.entries(value);
|
|
20
|
+
if(!entries.length)return Array.isArray(value)?'[](来源明确为空)':'{}(来源明确为空)';
|
|
21
|
+
return entries.map(([key,child])=>{
|
|
22
|
+
if(Array.isArray(value)&&(child===null||typeof child!=='object'))return '- '+textLines(child).replace(/\n/g,'\n ');
|
|
23
|
+
const label=Array.isArray(value)?`第 ${Number(key)+1} 项`:escapeMarkdown(readingLabels[key]||key);
|
|
24
|
+
const rendered=renderReadingValue(child,depth+1).split('\n');
|
|
25
|
+
return child!==null&&typeof child==='object'&&Object.keys(child).length?`- **${label}**:\n${rendered.map(line=>' '+line).join('\n')}`:`- **${label}**:${rendered[0]}${rendered.slice(1).map(line=>'\n '+line).join('')}`;
|
|
26
|
+
}).join('\n');
|
|
27
|
+
}
|
|
28
|
+
export function renderReadingMarkdown(view){
|
|
29
|
+
const lines=[`# ${readingLabels[view.kind]||view.kind} · ${escapeMarkdown(view.binding.id||view.binding.ref)}`,
|
|
30
|
+
`版本:${escapeMarkdown(view.binding.version||'源资产未声明')};权威文件:${escapeMarkdown(view.binding.ref)}`,
|
|
31
|
+
`来源 SHA-256:${view.binding.digest}`,
|
|
32
|
+
'本页为来源快照;当前有效性需重新检查。批准有效性未核验;本视图不授予执行权限。',
|
|
33
|
+
`检查范围:${view.checks.map(escapeMarkdown).join(';')}`];
|
|
34
|
+
for(const [key,value]of Object.entries(view.content))if(value!==undefined){
|
|
35
|
+
lines.push(`## ${readingLabels[key]||escapeMarkdown(key)}`,key==='正文'&&typeof value==='string'?value:renderReadingValue(value));
|
|
36
|
+
}
|
|
37
|
+
if(view.blockers.length)lines.push('## 阻断与未决检查',...view.blockers.map(item=>`- ${escapeMarkdown(item)}`));
|
|
38
|
+
return lines.join('\n\n')+'\n';
|
|
39
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const readingIdFields=Object.freeze({contexts:'context_id',subdomains:'subdomain_id',relationships:'relationship_id',rule_catalog:'rule_id',scenarios:'scenario_id',concept_candidates:'concept_id',invariants:'invariant_id',downstream_mapping:'mapping_id',items:'id'});
|
|
2
|
+
// A lossless presentation index, never another editable contract.
|
|
3
|
+
const pointerPart=key=>String(key).replace(/~/g,'~0').replace(/\//g,'~1');
|
|
4
|
+
export function readingViewModel(view,raw){
|
|
5
|
+
const locations=[];
|
|
6
|
+
const walk=(value,pointer)=>{
|
|
7
|
+
if(value===null||typeof value!=='object'||Object.keys(value).length===0){locations.push({content_pointer:pointer,pointer_kind:'view-content',...(view.kind!=='tracking-migration'&&Object.hasOwn(raw||{},pointer.split('/')[1])?{source_pointer:pointer}:{}),source_ref:view.binding.ref,source_digest:view.binding.digest});return;}
|
|
8
|
+
for(const [key,child]of Object.entries(value))walk(child,`${pointer}/${pointerPart(key)}`);
|
|
9
|
+
};
|
|
10
|
+
walk(view.content,'');
|
|
11
|
+
return {view_schema_version:1,kind:view.kind,profile:view.profile,binding:view.binding,read_only:true,execution_allowed:false,approval_validity:'not-checked',
|
|
12
|
+
declared_state:{status:raw?.status??null,stage:raw?.stage??null},checks:view.checks,sections:Object.keys(view.content),diagnostics:view.blockers,source_locations:locations,coverage:{rendered_leaf_count:locations.length,scope:'presented-content; owner verification remains required'}};
|
|
13
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {existsSync,readFileSync} from './validation-phase.mjs';
|
|
2
|
+
import {safe,schema} from './strategic-handoff-io.mjs';
|
|
3
|
+
import {parseSliceYaml} from './slice-contract.mjs';
|
|
4
|
+
export const READING_POLICY='.template-spec/process/reading-policy.yaml';
|
|
5
|
+
export function readingPolicy(root){
|
|
6
|
+
const file=safe(root,READING_POLICY,{missing:true});
|
|
7
|
+
if(!existsSync(file))return {schema_version:1,mode:'manual',checkpoints:[]};
|
|
8
|
+
const value=parseSliceYaml(readFileSync(file));schema(value,'.template-spec/process/schemas/reading-policy.schema.json');
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
export function managedReading(root,checkpoint){const policy=readingPolicy(root);return policy.mode==='managed'&&policy.checkpoints.includes(checkpoint);}
|
|
12
|
+
export function readingLocation(checkpoint){
|
|
13
|
+
const match=/^docs\/\.scratch\/([a-z0-9][a-z0-9-]*)\/[^/]+\.(yaml|json)$/.exec(checkpoint);
|
|
14
|
+
if(!match)throw Error('reading-checkpoint-path-invalid');
|
|
15
|
+
return {feature:match[1],base:`docs/.scratch/${match[1]}`,directory:`docs/.scratch/${match[1]}/reading`};
|
|
16
|
+
}
|