create-yss-spec 3.5.6 → 3.5.9
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/bin/create-yss-spec.js +3 -1
- package/cli-core.lock.json +10 -6
- package/package.json +4 -1
- package/src/api/_sync-service.js +3 -1
- package/src/command-runner.mjs +44 -9
- package/src/commands/doctor.js +40 -0
- package/src/commands/skills.js +7 -2
- package/src/content-identity.js +111 -0
- package/src/runtime-store.mjs +650 -0
- package/src/template/asset-runtime.js +124 -22
- package/src/template/instance-runtime.js +23 -7
- package/src/validation/metadata.js +8 -0
- package/template/.agents/skills/.strategic-design-skills-manifest.json +3 -3
- package/template/.agents/skills/alibaba-java-code-style/SKILL.md +30 -36
- package/template/.agents/skills/archify/SKILL.md +2 -2
- package/template/.agents/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
- package/template/.agents/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
- package/template/.agents/skills/code-review/SKILL.md +19 -11
- package/template/.agents/skills/code-review/references/candidate-capture.md +1 -1
- package/template/.agents/skills/code-review/references/legacy-convergence.md +3 -1
- package/template/.agents/skills/code-review/references/review-axis-checklists.md +2 -0
- package/template/.agents/skills/code-review/references/yss-review-standards.md +4 -2
- package/template/.agents/skills/competitive-intelligence/SKILL.md +32 -74
- package/template/.agents/skills/file-export-download/SKILL.md +4 -73
- package/template/.agents/skills/file-export-download/references/binary-contract-example.md +26 -0
- package/template/.agents/skills/file-export-download/references/download-call-example.md +45 -0
- package/template/.agents/skills/formily-foundation/SKILL.md +6 -105
- package/template/.agents/skills/formily-foundation/references/async-save-example.md +57 -0
- package/template/.agents/skills/formily-foundation/references/query-layout.md +50 -0
- package/template/.agents/skills/formily-linkage-effects/SKILL.md +3 -116
- package/template/.agents/skills/formily-linkage-effects/references/linkage-example.md +116 -0
- package/template/.agents/skills/formily-mode-slot-detail/SKILL.md +3 -81
- package/template/.agents/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
- package/template/.agents/skills/formily-step-flow/SKILL.md +3 -143
- package/template/.agents/skills/formily-step-flow/references/step-flow-example.md +143 -0
- package/template/.agents/skills/handoff/SKILL.md +3 -1
- package/template/.agents/skills/i-have-adhd/SKILL.md +2 -2
- package/template/.agents/skills/i-have-adhd/references/yss-adaptation.md +2 -2
- package/template/.agents/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
- package/template/.agents/skills/implement/SKILL.md +2 -2
- package/template/.agents/skills/llm-wiki/references/transactions.md +2 -2
- package/template/.agents/skills/llm-wiki/scripts/core.mjs +40 -2
- package/template/.agents/skills/llm-wiki/scripts/transaction.mjs +30 -27
- package/template/.agents/skills/llm-wiki/scripts/v2.test.mjs +38 -2
- package/template/.agents/skills/lombok/SKILL.md +2 -0
- package/template/.agents/skills/mapstruct/SKILL.md +2 -0
- package/template/.agents/skills/tdd/SKILL.md +2 -2
- package/template/.agents/skills/theme-token-usage/SKILL.md +6 -5
- package/template/.agents/skills/wayfinder/references/chart-map.md +2 -2
- package/template/.agents/skills/wayfinder/references/ticket-types.md +1 -1
- package/template/.agents/skills/yss-api-integration/SKILL.md +13 -50
- package/template/.agents/skills/yss-api-integration/references/orval-list-example.md +38 -0
- package/template/.agents/skills/yss-application/SKILL.md +11 -5
- package/template/.agents/skills/yss-audit-log/SKILL.md +8 -6
- package/template/.agents/skills/yss-audit-log/references/README.md +5 -5
- package/template/.agents/skills/yss-cache/SKILL.md +4 -4
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
- package/template/.agents/skills/yss-design-system/SKILL.md +2 -2
- package/template/.agents/skills/yss-distributed-id/SKILL.md +4 -4
- package/template/.agents/skills/yss-dto/SKILL.md +9 -9
- package/template/.agents/skills/yss-dto/references/README.md +4 -4
- package/template/.agents/skills/yss-dto/references/wire-validation-checklist.md +4 -4
- package/template/.agents/skills/yss-excel-mvc/SKILL.md +4 -4
- package/template/.agents/skills/yss-exception/SKILL.md +42 -48
- package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +26 -170
- package/template/.agents/skills/yss-formily-schema-generator/references/workflow.md +49 -193
- package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
- package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
- package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
- package/template/.agents/skills/yss-mybatis/SKILL.md +4 -4
- package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +6 -4
- package/template/.agents/skills/yss-openapi-draft-review/references/review-output.md +2 -0
- package/template/.agents/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
- package/template/.agents/skills/yss-openapi-governance/SKILL.md +5 -7
- package/template/.agents/skills/yss-openapi-governance/references/governance-output.md +2 -0
- package/template/.agents/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +32 -26
- package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
- package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +38 -13
- package/template/.agents/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
- package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +3 -1
- package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.agents/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
- package/template/.agents/skills/yss-repository/SKILL.md +2 -2
- package/template/.agents/skills/yss-research/SKILL.md +39 -48
- package/template/.agents/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
- package/template/.agents/skills/yss-research/references/competitive-analysis.md +76 -0
- package/template/.agents/skills/yss-research/references/competitive-analysis.schema.json +324 -0
- package/template/.agents/skills/yss-research/references/evidence-contract.md +8 -0
- package/template/.agents/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
- package/template/.agents/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
- package/template/.agents/skills/yss-research/scripts/validate-research-package.mjs +6 -2
- package/template/.agents/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
- package/template/.agents/skills/yss-resilience4j/SKILL.md +25 -31
- package/template/.agents/skills/yss-security-algorithm/SKILL.md +37 -43
- package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
- package/template/.agents/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
- package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -5
- package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
- package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
- package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
- package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.agents/skills/yss-tactical-design/references/output-template.md +3 -3
- package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
- package/template/.agents/skills/yss-technical-design/SKILL.md +6 -5
- package/template/.agents/skills/yss-ui/SKILL.md +7 -1
- package/template/.agents/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
- package/template/.agents/skills/yss-ui/references/checklist.md +38 -96
- package/template/.agents/skills/yss-ui/references/component-routing.md +3 -1
- package/template/.agents/skills/yss-ui/references/quick-recipes.md +17 -272
- package/template/.agents/skills/yss-ui/references/specialized-components.md +3 -3
- package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +1 -1
- package/template/.agents/skills/yss-up-springboot3/SKILL.md +19 -21
- package/template/.agents/skills/yss-userinfo/SKILL.md +27 -33
- package/template/.agents/skills/yss-validation/SKILL.md +26 -32
- package/template/.agents/skills/yss-web-controller/SKILL.md +11 -44
- package/template/.agents/skills/yss-web-controller/references/crud-generation.md +38 -0
- package/template/.agents/skills/ytable-usage/SKILL.md +2 -2
- package/template/.agents/skills/ytree-usage/SKILL.md +2 -80
- package/template/.agents/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
- package/template/.codex/skills/alibaba-java-code-style/SKILL.md +30 -36
- package/template/.codex/skills/archify/SKILL.md +2 -2
- package/template/.codex/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
- package/template/.codex/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
- package/template/.codex/skills/code-review/SKILL.md +19 -11
- package/template/.codex/skills/code-review/references/candidate-capture.md +1 -1
- package/template/.codex/skills/code-review/references/legacy-convergence.md +3 -1
- package/template/.codex/skills/code-review/references/review-axis-checklists.md +2 -0
- package/template/.codex/skills/code-review/references/yss-review-standards.md +4 -2
- package/template/.codex/skills/competitive-intelligence/SKILL.md +32 -74
- package/template/.codex/skills/file-export-download/SKILL.md +4 -73
- package/template/.codex/skills/file-export-download/references/binary-contract-example.md +26 -0
- package/template/.codex/skills/file-export-download/references/download-call-example.md +45 -0
- package/template/.codex/skills/formily-foundation/SKILL.md +6 -105
- package/template/.codex/skills/formily-foundation/references/async-save-example.md +57 -0
- package/template/.codex/skills/formily-foundation/references/query-layout.md +50 -0
- package/template/.codex/skills/formily-linkage-effects/SKILL.md +3 -116
- package/template/.codex/skills/formily-linkage-effects/references/linkage-example.md +116 -0
- package/template/.codex/skills/formily-mode-slot-detail/SKILL.md +3 -81
- package/template/.codex/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
- package/template/.codex/skills/formily-step-flow/SKILL.md +3 -143
- package/template/.codex/skills/formily-step-flow/references/step-flow-example.md +143 -0
- package/template/.codex/skills/handoff/SKILL.md +3 -1
- package/template/.codex/skills/i-have-adhd/SKILL.md +2 -2
- package/template/.codex/skills/i-have-adhd/references/yss-adaptation.md +2 -2
- package/template/.codex/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
- package/template/.codex/skills/implement/SKILL.md +2 -2
- package/template/.codex/skills/llm-wiki/references/transactions.md +2 -2
- package/template/.codex/skills/llm-wiki/scripts/core.mjs +40 -2
- package/template/.codex/skills/llm-wiki/scripts/transaction.mjs +30 -27
- package/template/.codex/skills/llm-wiki/scripts/v2.test.mjs +38 -2
- package/template/.codex/skills/lombok/SKILL.md +2 -0
- package/template/.codex/skills/mapstruct/SKILL.md +2 -0
- package/template/.codex/skills/product-design/references/communication-protocol.md +3 -3
- package/template/.codex/skills/product-design/references/critical-overrides.md +4 -5
- package/template/.codex/skills/product-design/skills/audit/SKILL.md +2 -4
- package/template/.codex/skills/product-design/skills/get-context/SKILL.md +6 -8
- package/template/.codex/skills/product-design/skills/ideate/SKILL.md +3 -3
- package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +3 -5
- package/template/.codex/skills/product-design/skills/index/SKILL.md +1 -1
- package/template/.codex/skills/product-design/skills/prototype/SKILL.md +2 -4
- package/template/.codex/skills/product-design/skills/research/SKILL.md +4 -6
- package/template/.codex/skills/product-design/skills/research/assets/research-brief-template.md +3 -3
- package/template/.codex/skills/product-design/skills/share/SKILL.md +2 -4
- package/template/.codex/skills/product-design/skills/url-to-code/SKILL.md +2 -4
- package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
- package/template/.codex/skills/tdd/SKILL.md +2 -2
- package/template/.codex/skills/theme-token-usage/SKILL.md +6 -5
- package/template/.codex/skills/wayfinder/references/chart-map.md +2 -2
- package/template/.codex/skills/wayfinder/references/ticket-types.md +1 -1
- package/template/.codex/skills/yss-api-integration/SKILL.md +13 -50
- package/template/.codex/skills/yss-api-integration/references/orval-list-example.md +38 -0
- package/template/.codex/skills/yss-application/SKILL.md +11 -5
- package/template/.codex/skills/yss-audit-log/SKILL.md +8 -6
- package/template/.codex/skills/yss-audit-log/references/README.md +5 -5
- package/template/.codex/skills/yss-cache/SKILL.md +4 -4
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
- package/template/.codex/skills/yss-design-system/SKILL.md +2 -2
- package/template/.codex/skills/yss-distributed-id/SKILL.md +4 -4
- package/template/.codex/skills/yss-dto/SKILL.md +9 -9
- package/template/.codex/skills/yss-dto/references/README.md +4 -4
- package/template/.codex/skills/yss-dto/references/wire-validation-checklist.md +4 -4
- package/template/.codex/skills/yss-excel-mvc/SKILL.md +4 -4
- package/template/.codex/skills/yss-exception/SKILL.md +42 -48
- package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +26 -170
- package/template/.codex/skills/yss-formily-schema-generator/references/workflow.md +49 -193
- package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
- package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
- package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
- package/template/.codex/skills/yss-mybatis/SKILL.md +4 -4
- package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +6 -4
- package/template/.codex/skills/yss-openapi-draft-review/references/review-output.md +2 -0
- package/template/.codex/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
- package/template/.codex/skills/yss-openapi-governance/SKILL.md +5 -7
- package/template/.codex/skills/yss-openapi-governance/references/governance-output.md +2 -0
- package/template/.codex/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +32 -26
- package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
- package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +38 -13
- package/template/.codex/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
- package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +3 -1
- package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.codex/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
- package/template/.codex/skills/yss-repository/SKILL.md +2 -2
- package/template/.codex/skills/yss-research/SKILL.md +39 -48
- package/template/.codex/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
- package/template/.codex/skills/yss-research/references/competitive-analysis.md +76 -0
- package/template/.codex/skills/yss-research/references/competitive-analysis.schema.json +324 -0
- package/template/.codex/skills/yss-research/references/evidence-contract.md +8 -0
- package/template/.codex/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
- package/template/.codex/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
- package/template/.codex/skills/yss-research/scripts/validate-research-package.mjs +6 -2
- package/template/.codex/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
- package/template/.codex/skills/yss-resilience4j/SKILL.md +25 -31
- package/template/.codex/skills/yss-security-algorithm/SKILL.md +37 -43
- package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
- package/template/.codex/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
- package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -5
- package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
- package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
- package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
- package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.codex/skills/yss-tactical-design/references/output-template.md +3 -3
- package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
- package/template/.codex/skills/yss-technical-design/SKILL.md +6 -5
- package/template/.codex/skills/yss-ui/SKILL.md +7 -1
- package/template/.codex/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
- package/template/.codex/skills/yss-ui/references/checklist.md +38 -96
- package/template/.codex/skills/yss-ui/references/component-routing.md +3 -1
- package/template/.codex/skills/yss-ui/references/quick-recipes.md +17 -272
- package/template/.codex/skills/yss-ui/references/specialized-components.md +3 -3
- package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +1 -1
- package/template/.codex/skills/yss-up-springboot3/SKILL.md +19 -21
- package/template/.codex/skills/yss-userinfo/SKILL.md +27 -33
- package/template/.codex/skills/yss-validation/SKILL.md +26 -32
- package/template/.codex/skills/yss-web-controller/SKILL.md +11 -44
- package/template/.codex/skills/yss-web-controller/references/crud-generation.md +38 -0
- package/template/.codex/skills/ytable-usage/SKILL.md +2 -2
- package/template/.codex/skills/ytree-usage/SKILL.md +2 -80
- package/template/.codex/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
- package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +30 -36
- package/template/.cursor/skills/archify/SKILL.md +2 -2
- package/template/.cursor/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
- package/template/.cursor/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
- package/template/.cursor/skills/code-review/SKILL.md +19 -11
- package/template/.cursor/skills/code-review/references/candidate-capture.md +1 -1
- package/template/.cursor/skills/code-review/references/legacy-convergence.md +3 -1
- package/template/.cursor/skills/code-review/references/review-axis-checklists.md +2 -0
- package/template/.cursor/skills/code-review/references/yss-review-standards.md +4 -2
- package/template/.cursor/skills/competitive-intelligence/SKILL.md +32 -74
- package/template/.cursor/skills/file-export-download/SKILL.md +4 -73
- package/template/.cursor/skills/file-export-download/references/binary-contract-example.md +26 -0
- package/template/.cursor/skills/file-export-download/references/download-call-example.md +45 -0
- package/template/.cursor/skills/formily-foundation/SKILL.md +6 -105
- package/template/.cursor/skills/formily-foundation/references/async-save-example.md +57 -0
- package/template/.cursor/skills/formily-foundation/references/query-layout.md +50 -0
- package/template/.cursor/skills/formily-linkage-effects/SKILL.md +3 -116
- package/template/.cursor/skills/formily-linkage-effects/references/linkage-example.md +116 -0
- package/template/.cursor/skills/formily-mode-slot-detail/SKILL.md +3 -81
- package/template/.cursor/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
- package/template/.cursor/skills/formily-step-flow/SKILL.md +3 -143
- package/template/.cursor/skills/formily-step-flow/references/step-flow-example.md +143 -0
- package/template/.cursor/skills/handoff/SKILL.md +3 -1
- package/template/.cursor/skills/i-have-adhd/SKILL.md +2 -2
- package/template/.cursor/skills/i-have-adhd/references/yss-adaptation.md +2 -2
- package/template/.cursor/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
- package/template/.cursor/skills/implement/SKILL.md +2 -2
- package/template/.cursor/skills/llm-wiki/references/transactions.md +2 -2
- package/template/.cursor/skills/llm-wiki/scripts/core.mjs +40 -2
- package/template/.cursor/skills/llm-wiki/scripts/transaction.mjs +30 -27
- package/template/.cursor/skills/llm-wiki/scripts/v2.test.mjs +38 -2
- package/template/.cursor/skills/lombok/SKILL.md +2 -0
- package/template/.cursor/skills/mapstruct/SKILL.md +2 -0
- package/template/.cursor/skills/tdd/SKILL.md +2 -2
- package/template/.cursor/skills/theme-token-usage/SKILL.md +6 -5
- package/template/.cursor/skills/wayfinder/references/chart-map.md +2 -2
- package/template/.cursor/skills/wayfinder/references/ticket-types.md +1 -1
- package/template/.cursor/skills/yss-api-integration/SKILL.md +13 -50
- package/template/.cursor/skills/yss-api-integration/references/orval-list-example.md +38 -0
- package/template/.cursor/skills/yss-application/SKILL.md +11 -5
- package/template/.cursor/skills/yss-audit-log/SKILL.md +8 -6
- package/template/.cursor/skills/yss-audit-log/references/README.md +5 -5
- package/template/.cursor/skills/yss-cache/SKILL.md +4 -4
- package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
- package/template/.cursor/skills/yss-design-system/SKILL.md +2 -2
- package/template/.cursor/skills/yss-distributed-id/SKILL.md +4 -4
- package/template/.cursor/skills/yss-dto/SKILL.md +9 -9
- package/template/.cursor/skills/yss-dto/references/README.md +4 -4
- package/template/.cursor/skills/yss-dto/references/wire-validation-checklist.md +4 -4
- package/template/.cursor/skills/yss-excel-mvc/SKILL.md +4 -4
- package/template/.cursor/skills/yss-exception/SKILL.md +42 -48
- package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +26 -170
- package/template/.cursor/skills/yss-formily-schema-generator/references/workflow.md +49 -193
- package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
- package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
- package/template/.cursor/skills/yss-mybatis/SKILL.md +4 -4
- package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +6 -4
- package/template/.cursor/skills/yss-openapi-draft-review/references/review-output.md +2 -0
- package/template/.cursor/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
- package/template/.cursor/skills/yss-openapi-governance/SKILL.md +5 -7
- package/template/.cursor/skills/yss-openapi-governance/references/governance-output.md +2 -0
- package/template/.cursor/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +32 -26
- package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
- package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +38 -13
- package/template/.cursor/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
- package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +3 -1
- package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.cursor/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
- package/template/.cursor/skills/yss-repository/SKILL.md +2 -2
- package/template/.cursor/skills/yss-research/SKILL.md +39 -48
- package/template/.cursor/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
- package/template/.cursor/skills/yss-research/references/competitive-analysis.md +76 -0
- package/template/.cursor/skills/yss-research/references/competitive-analysis.schema.json +324 -0
- package/template/.cursor/skills/yss-research/references/evidence-contract.md +8 -0
- package/template/.cursor/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
- package/template/.cursor/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
- package/template/.cursor/skills/yss-research/scripts/validate-research-package.mjs +6 -2
- package/template/.cursor/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
- package/template/.cursor/skills/yss-resilience4j/SKILL.md +25 -31
- package/template/.cursor/skills/yss-security-algorithm/SKILL.md +37 -43
- package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
- package/template/.cursor/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
- package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -5
- package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
- package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
- package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
- package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.cursor/skills/yss-tactical-design/references/output-template.md +3 -3
- package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
- package/template/.cursor/skills/yss-technical-design/SKILL.md +6 -5
- package/template/.cursor/skills/yss-ui/SKILL.md +7 -1
- package/template/.cursor/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
- package/template/.cursor/skills/yss-ui/references/checklist.md +38 -96
- package/template/.cursor/skills/yss-ui/references/component-routing.md +3 -1
- package/template/.cursor/skills/yss-ui/references/quick-recipes.md +17 -272
- package/template/.cursor/skills/yss-ui/references/specialized-components.md +3 -3
- package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +1 -1
- package/template/.cursor/skills/yss-up-springboot3/SKILL.md +19 -21
- package/template/.cursor/skills/yss-userinfo/SKILL.md +27 -33
- package/template/.cursor/skills/yss-validation/SKILL.md +26 -32
- package/template/.cursor/skills/yss-web-controller/SKILL.md +11 -44
- package/template/.cursor/skills/yss-web-controller/references/crud-generation.md +38 -0
- package/template/.cursor/skills/ytable-usage/SKILL.md +2 -2
- package/template/.cursor/skills/ytree-usage/SKILL.md +2 -80
- package/template/.cursor/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
- package/template/.pi/skills/alibaba-java-code-style/SKILL.md +30 -36
- package/template/.pi/skills/archify/SKILL.md +2 -2
- package/template/.pi/skills/archify/scripts/yss-safe-deliver.mjs +10 -6
- package/template/.pi/skills/archify/test/yss-safe-deliver.test.mjs +9 -2
- package/template/.pi/skills/code-review/SKILL.md +19 -11
- package/template/.pi/skills/code-review/references/candidate-capture.md +1 -1
- package/template/.pi/skills/code-review/references/legacy-convergence.md +3 -1
- package/template/.pi/skills/code-review/references/review-axis-checklists.md +2 -0
- package/template/.pi/skills/code-review/references/yss-review-standards.md +4 -2
- package/template/.pi/skills/competitive-intelligence/SKILL.md +32 -74
- package/template/.pi/skills/file-export-download/SKILL.md +4 -73
- package/template/.pi/skills/file-export-download/references/binary-contract-example.md +26 -0
- package/template/.pi/skills/file-export-download/references/download-call-example.md +45 -0
- package/template/.pi/skills/formily-foundation/SKILL.md +6 -105
- package/template/.pi/skills/formily-foundation/references/async-save-example.md +57 -0
- package/template/.pi/skills/formily-foundation/references/query-layout.md +50 -0
- package/template/.pi/skills/formily-linkage-effects/SKILL.md +3 -116
- package/template/.pi/skills/formily-linkage-effects/references/linkage-example.md +116 -0
- package/template/.pi/skills/formily-mode-slot-detail/SKILL.md +3 -81
- package/template/.pi/skills/formily-mode-slot-detail/references/mode-slot-example.md +81 -0
- package/template/.pi/skills/formily-step-flow/SKILL.md +3 -143
- package/template/.pi/skills/formily-step-flow/references/step-flow-example.md +143 -0
- package/template/.pi/skills/handoff/SKILL.md +3 -1
- package/template/.pi/skills/i-have-adhd/SKILL.md +2 -2
- package/template/.pi/skills/i-have-adhd/references/yss-adaptation.md +2 -2
- package/template/.pi/skills/i-have-adhd/tests/verify-integration.mjs +7 -2
- package/template/.pi/skills/implement/SKILL.md +2 -2
- package/template/.pi/skills/llm-wiki/references/transactions.md +2 -2
- package/template/.pi/skills/llm-wiki/scripts/core.mjs +40 -2
- package/template/.pi/skills/llm-wiki/scripts/transaction.mjs +30 -27
- package/template/.pi/skills/llm-wiki/scripts/v2.test.mjs +38 -2
- package/template/.pi/skills/lombok/SKILL.md +2 -0
- package/template/.pi/skills/mapstruct/SKILL.md +2 -0
- package/template/.pi/skills/tdd/SKILL.md +2 -2
- package/template/.pi/skills/theme-token-usage/SKILL.md +6 -5
- package/template/.pi/skills/wayfinder/references/chart-map.md +2 -2
- package/template/.pi/skills/wayfinder/references/ticket-types.md +1 -1
- package/template/.pi/skills/yss-api-integration/SKILL.md +13 -50
- package/template/.pi/skills/yss-api-integration/references/orval-list-example.md +38 -0
- package/template/.pi/skills/yss-application/SKILL.md +11 -5
- package/template/.pi/skills/yss-audit-log/SKILL.md +8 -6
- package/template/.pi/skills/yss-audit-log/references/README.md +5 -5
- package/template/.pi/skills/yss-cache/SKILL.md +4 -4
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +7 -8
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -6
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/command-examples.md +2 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +28 -1
- package/template/.pi/skills/yss-design-system/SKILL.md +2 -2
- package/template/.pi/skills/yss-distributed-id/SKILL.md +4 -4
- package/template/.pi/skills/yss-dto/SKILL.md +9 -9
- package/template/.pi/skills/yss-dto/references/README.md +4 -4
- package/template/.pi/skills/yss-dto/references/wire-validation-checklist.md +4 -4
- package/template/.pi/skills/yss-excel-mvc/SKILL.md +4 -4
- package/template/.pi/skills/yss-exception/SKILL.md +42 -48
- package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +26 -170
- package/template/.pi/skills/yss-formily-schema-generator/references/workflow.md +49 -193
- package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +14 -10
- package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +4 -6
- package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +15 -1
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +1 -1
- package/template/.pi/skills/yss-mybatis/SKILL.md +4 -4
- package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +6 -4
- package/template/.pi/skills/yss-openapi-draft-review/references/review-output.md +2 -0
- package/template/.pi/skills/yss-openapi-draft-review/references/semantic-review.md +3 -3
- package/template/.pi/skills/yss-openapi-governance/SKILL.md +5 -7
- package/template/.pi/skills/yss-openapi-governance/references/governance-output.md +2 -0
- package/template/.pi/skills/yss-openapi-governance/references/governance-workflow.md +3 -3
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +32 -26
- package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +1 -1
- package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +28 -6
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +143 -4
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +38 -13
- package/template/.pi/skills/yss-product-lifecycle/references/plan-requirements.md +7 -6
- package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +3 -1
- package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +3 -3
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.pi/skills/yss-prototype-stage/scripts/verify-prototype-design.mjs +1 -0
- package/template/.pi/skills/yss-repository/SKILL.md +2 -2
- package/template/.pi/skills/yss-research/SKILL.md +39 -48
- package/template/.pi/skills/yss-research/assets/competitive-evidence-template.yaml +146 -0
- package/template/.pi/skills/yss-research/references/competitive-analysis.md +76 -0
- package/template/.pi/skills/yss-research/references/competitive-analysis.schema.json +324 -0
- package/template/.pi/skills/yss-research/references/evidence-contract.md +8 -0
- package/template/.pi/skills/yss-research/scripts/lib/competitive-analysis.mjs +185 -0
- package/template/.pi/skills/yss-research/scripts/render-competitive-outputs.mjs +16 -0
- package/template/.pi/skills/yss-research/scripts/validate-research-package.mjs +6 -2
- package/template/.pi/skills/yss-research/tests/competitive-scenarios.test.mjs +270 -0
- package/template/.pi/skills/yss-resilience4j/SKILL.md +25 -31
- package/template/.pi/skills/yss-security-algorithm/SKILL.md +37 -43
- package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +29 -36
- package/template/.pi/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +1 -1
- package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -5
- package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +8 -5
- package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +8 -5
- package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +83 -13
- package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.pi/skills/yss-tactical-design/references/output-template.md +3 -3
- package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +1 -1
- package/template/.pi/skills/yss-technical-design/SKILL.md +6 -5
- package/template/.pi/skills/yss-ui/SKILL.md +7 -1
- package/template/.pi/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +2 -2
- package/template/.pi/skills/yss-ui/references/checklist.md +38 -96
- package/template/.pi/skills/yss-ui/references/component-routing.md +3 -1
- package/template/.pi/skills/yss-ui/references/quick-recipes.md +17 -272
- package/template/.pi/skills/yss-ui/references/specialized-components.md +3 -3
- package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +1 -1
- package/template/.pi/skills/yss-up-springboot3/SKILL.md +19 -21
- package/template/.pi/skills/yss-userinfo/SKILL.md +27 -33
- package/template/.pi/skills/yss-validation/SKILL.md +26 -32
- package/template/.pi/skills/yss-web-controller/SKILL.md +11 -44
- package/template/.pi/skills/yss-web-controller/references/crud-generation.md +38 -0
- package/template/.pi/skills/ytable-usage/SKILL.md +2 -2
- package/template/.pi/skills/ytree-usage/SKILL.md +2 -80
- package/template/.pi/skills/ytree-usage/references/tree-and-confirmation-example.md +81 -0
- package/template/.template-spec/agents/backend-architecture-profiles.md +1 -1
- package/template/.template-spec/agents/digital-human-roles.md +5 -1
- package/template/.template-spec/agents/digital-human-roles.yaml +49 -1
- package/template/.template-spec/engineering/backend-platforms.json +1 -1
- package/template/.template-spec/plan/entry-review.md +2 -1
- package/template/.template-spec/plan/templates/competitive-analysis-template.md +38 -36
- package/template/.template-spec/plan/templates/competitive-matrix-template.md +37 -17
- package/template/.template-spec/plan/templates/plan-template.md +11 -5
- package/template/.template-spec/process/document-writing.md +22 -3
- package/template/.template-spec/process/harness-process-tailoring.md +5 -1
- package/template/.template-spec/process/implementation-repo-integration.md +26 -8
- package/template/.template-spec/process/research-completion.md +2 -0
- package/template/.template-spec/process/runtime-storage.md +78 -0
- package/template/.template-spec/process/schemas/approval-context.schema.json +67 -0
- package/template/.template-spec/process/schemas/approval-record.schema.json +179 -16
- package/template/.template-spec/process/schemas/backend-delivery.schema.json +16 -0
- package/template/.template-spec/process/schemas/delivery-preflight-input.schema.json +4 -0
- package/template/.template-spec/process/schemas/digital-human-task-package.schema.json +236 -1
- package/template/.template-spec/process/schemas/implementation-repository-preparation-result.schema.json +335 -52
- package/template/.template-spec/process/schemas/lifecycle-checkpoint.schema.json +11 -0
- package/template/.template-spec/process/schemas/project-scaffold-contract.schema.json +3 -0
- package/template/.template-spec/process/schemas/review-bundle.schema.json +347 -35
- package/template/.template-spec/process/schemas/strategic-design-handoff-v3.schema.json +504 -0
- package/template/.template-spec/process/schemas/strategic-design-handoff-v4.schema.json +544 -8
- package/template/.template-spec/process/schemas/strategic-design-handoff-v5.schema.json +616 -0
- package/template/.template-spec/process/schemas/strategic-design-handoff.schema.json +616 -0
- package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy-v3.schema.json +712 -109
- package/template/.template-spec/process/schemas/strategic-handoff-domain-strategy.schema.json +595 -90
- package/template/.template-spec/process/schemas/strategic-handoff-export-v2.schema.json +448 -0
- package/template/.template-spec/process/schemas/strategic-handoff-export.schema.json +392 -0
- package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package-v3.schema.json +556 -83
- package/template/.template-spec/process/schemas/strategic-handoff-stage-decision-package.schema.json +418 -57
- package/template/.template-spec/process/script-execution.md +37 -0
- package/template/.template-spec/process/subagent-collaboration.md +7 -1
- package/template/.template-spec/templates/approval-record-template.json +7 -3
- package/template/.template-spec/templates/approval-record-template.yaml +8 -2
- package/template/.template-spec/templates/examples/lifecycle-writing-examples.md +92 -2
- package/template/.template-spec/templates/retro-report-template.md +10 -3
- package/template/.template-spec/templates/review-bundle-template.yaml +19 -10
- package/template/.template-spec/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +2 -0
- package/template/AGENTS.md +4 -3
- package/template/CONTEXT.md +2 -2
- package/template/README.md +2 -2
- package/template/scripts/advance-maintenance-iteration +51 -0
- package/template/scripts/lib/approval-checkpoint-discovery.mjs +26 -0
- package/template/scripts/lib/approval-consumption.mjs +35 -0
- package/template/scripts/lib/approval-current.mjs +111 -0
- package/template/scripts/lib/approval-record-io.mjs +56 -0
- package/template/scripts/lib/approval-record.mjs +79 -184
- package/template/scripts/lib/approved-execution-context.mjs +8 -6
- package/template/scripts/lib/asset-transactions.mjs +5 -1
- package/template/scripts/lib/backend-delivery.mjs +1 -1
- package/template/scripts/lib/backend-review.mjs +2 -1
- package/template/scripts/lib/backend-scaffold-prerequisites.mjs +3 -2
- package/template/scripts/lib/business-ticket-lifecycle.mjs +2 -1
- package/template/scripts/lib/checkpoint-commit.mjs +50 -0
- package/template/scripts/lib/command-runner.mjs +44 -9
- package/template/scripts/lib/content-identity.mjs +273 -0
- package/template/scripts/lib/delivery-preflight.mjs +2 -1
- package/template/scripts/lib/digital-human-roles.mjs +12 -5
- package/template/scripts/lib/drift-report.mjs +110 -0
- package/template/scripts/lib/existing-backend-architecture.mjs +4 -1
- package/template/scripts/lib/lifecycle-context-query.mjs +172 -11
- package/template/scripts/lib/lifecycle-controls.mjs +9 -19
- package/template/scripts/lib/lifecycle-presentation.mjs +5 -0
- package/template/scripts/lib/lifecycle-status.mjs +63 -12
- package/template/scripts/lib/lifecycle-transition.mjs +2 -1
- package/template/scripts/lib/maintenance-candidate.mjs +24 -30
- package/template/scripts/lib/maintenance-research.mjs +52 -8
- package/template/scripts/lib/maintenance-storage.mjs +81 -0
- package/template/scripts/lib/plan-spec-entry.mjs +2 -1
- package/template/scripts/lib/project-governance.mjs +2 -1
- package/template/scripts/lib/read-only-intake.mjs +44 -9
- package/template/scripts/lib/review-capabilities.mjs +234 -0
- package/template/scripts/lib/review-package.mjs +100 -0
- package/template/scripts/lib/runtime-store.mjs +650 -0
- package/template/scripts/lib/skill-registry.mjs +4 -4
- package/template/scripts/lib/strategic-handoff.mjs +22 -9
- package/template/scripts/lib/task-package.mjs +47 -16
- package/template/scripts/lifecycle-status +26 -1
- package/template/scripts/maintenance-path +11 -0
- package/template/scripts/prepare-review-package +8 -0
- package/template/scripts/project-ci +13 -3
- package/template/scripts/query-lifecycle-context +8 -1
- package/template/scripts/run-read-only-intake +2 -2
- package/template/scripts/runtime-store +40 -0
- package/template/scripts/verify-approval-record +21 -13
- package/template/scripts/verify-lifecycle-checkpoint +7 -3
- package/template/scripts/verify-project-instance +21 -1
- package/template/skills-lock.json +64 -63
- package/template.snapshot.json +4 -4
- package/vendor/cli-core/cli.mjs +2 -0
- package/vendor/cli-core/command-runner.mjs +44 -9
- package/vendor/cli-core/package.json +1 -1
- package/vendor/cli-core/runtime-store.mjs +650 -0
- package/vendor/cli-core/scaffold.mjs +4 -2
|
@@ -8,10 +8,8 @@ These rules override generic assistant defaults for Product Design work.
|
|
|
8
8
|
|
|
9
9
|
## Saved User Context
|
|
10
10
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- Ideation, prototypes, audits, clones, and critiques should match the saved product context unless the user asks for something different.
|
|
14
|
-
- When a workflow needs visual grounding, attach or include relevant saved screenshots, reference images, tokens, design language, and component references in ImageGen, ideation, prototype, audit, and critique work.
|
|
11
|
+
- Follow [User Context](../skills/user-context/SKILL.md#saved-user-context) for saved sources and preferences. Use its [conditional Preflight](../skills/user-context/SKILL.md#preflight) when saved context is needed, and reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
12
|
+
- Inspect only references needed for the current task. When visual grounding is needed, include the relevant saved images, tokens, design language, and component references in the current workflow; user-requested changes still take precedence.
|
|
15
13
|
|
|
16
14
|
## Design Brief Gate
|
|
17
15
|
|
|
@@ -19,7 +17,8 @@ These rules override generic assistant defaults for Product Design work.
|
|
|
19
17
|
- `$get-context` can run in question mode or playback mode. If required product, visual, or interactivity details are missing, ask for them. If those details are already present, play back the brief in a pithy format before moving to the next workflow.
|
|
20
18
|
- Do not proceed to ideation or implementation until the brief has been played back and either confirmed by the user or already confirmed earlier in the thread.
|
|
21
19
|
- A confirmed design brief is not a visual target. Use the confirmed brief as input to `$ideate` unless the user has already provided a concrete visual source such as a URL, screenshot, image, mockup, or Figma frame.
|
|
22
|
-
-
|
|
20
|
+
- Reuse a brief already confirmed in the current thread while its scope and inputs remain current; missing or changed decisions still require a real user response.
|
|
21
|
+
- After the user approves the brief and the next step is an involved app, prototype, clone, redesign, or build, briefly explain the next work, its checks, and any material uncertainty. Give a time estimate only with a stated basis, scope, and conditions. Skip this note for tiny static changes, quick audits, simple research, setup-only, or share-only requests.
|
|
23
22
|
|
|
24
23
|
## How to communicate
|
|
25
24
|
|
|
@@ -23,11 +23,9 @@ The output is not a loose opinion. The output is:
|
|
|
23
23
|
|
|
24
24
|
## User Context
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
When the workflow needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
27
27
|
|
|
28
|
-
Use saved
|
|
29
|
-
|
|
30
|
-
Do not inspect every saved reference. Inspect only what the current task needs.
|
|
28
|
+
Use relevant saved sources and preferences as grounding material under [Saved User Context](../user-context/SKILL.md#saved-user-context). Inspect only references needed for the current task.
|
|
31
29
|
|
|
32
30
|
## Route
|
|
33
31
|
|
|
@@ -27,15 +27,13 @@ Hard boundary: do not implement UI, scaffold a prototype, start a server, or cre
|
|
|
27
27
|
|
|
28
28
|
## User Context
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
When the workflow needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
31
31
|
|
|
32
|
-
Use saved
|
|
33
|
-
|
|
34
|
-
Do not inspect every saved reference. Inspect only what the current task needs.
|
|
32
|
+
Use relevant saved sources and preferences as grounding material under [Saved User Context](../user-context/SKILL.md#saved-user-context). Inspect only references needed for the current task.
|
|
35
33
|
|
|
36
34
|
## Get Context Script
|
|
37
35
|
|
|
38
|
-
|
|
36
|
+
Resolve the product goal, visual source or direction, and interactivity level. Reuse supplied details and current confirmations; ask only about missing decisions. If the fields are known, summarize the design brief in your own words.
|
|
39
37
|
|
|
40
38
|
The questions to answer are:
|
|
41
39
|
|
|
@@ -67,14 +65,14 @@ Interactivity level: full working form states, or a faster mostly-static mock?
|
|
|
67
65
|
|
|
68
66
|
## Final message
|
|
69
67
|
|
|
70
|
-
1.
|
|
68
|
+
1. Reuse the exact brief already confirmed in the current thread while its scope and inputs remain current. Otherwise, before proceeding to `$ideate`, `$prototype`, `$url-to-code`, or `$image-to-code`, explain the brief back to the user as a concise `final` message for confirmation.
|
|
71
69
|
|
|
72
70
|
2. Proceed only after the user confirms the design brief, unless the current thread already contains confirmation of that exact brief. If the user provides feedback, continue to refine the design brief with them.
|
|
73
71
|
|
|
74
|
-
3. After the user confirms the design brief, send
|
|
72
|
+
3. After the user confirms the design brief, send a short note before starting an involved app, prototype, clone, redesign, or build. Explain the next work and how it will be checked; state any material uncertainty. Give a time estimate only when it has a stated basis, scope, and conditions. For example:
|
|
75
73
|
|
|
76
74
|
```text
|
|
77
|
-
|
|
75
|
+
The brief is confirmed. I'll build the agreed screens, verify their states, and compare the rendered result with the selected design before handing it back.
|
|
78
76
|
```
|
|
79
77
|
|
|
80
78
|
Do not send this note for tiny static changes, quick audits, simple research, setup-only, or share-only requests.
|
|
@@ -16,7 +16,7 @@ Follow the shared Product Design routing guidance in [$index](../index/SKILL.md)
|
|
|
16
16
|
|
|
17
17
|
## User Context
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
When the workflow needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
20
20
|
|
|
21
21
|
Attach provided product URLs, Figma files, screenshots, reference images, codebase paths, Storybook, tokens, design systems, brand assets, component refs, browser preferences, and share targets to the Image Gen generations to align them to the design brief.
|
|
22
22
|
|
|
@@ -53,7 +53,7 @@ Before generating images:
|
|
|
53
53
|
- If useful local design context exists and the user has not asked for a new style, stay within that existing direction.
|
|
54
54
|
- If no useful design context exists, or the user asks for broad exploration, vary both concept and visual system.
|
|
55
55
|
- For a specific component or existing surface, vary structure, interaction, hierarchy, and emphasis before varying brand style.
|
|
56
|
-
- For a broad product idea, explore
|
|
56
|
+
- For a broad product idea, explore meaningfully different product directions using the user's requested count; default to three when exploration is needed.
|
|
57
57
|
|
|
58
58
|
5. Choose target dimensions before Image Gen.
|
|
59
59
|
|
|
@@ -80,7 +80,7 @@ Before generating images:
|
|
|
80
80
|
|
|
81
81
|
8. Attach images and mocks provided by the user to the Image Gen call along with your design brief.
|
|
82
82
|
|
|
83
|
-
9. Generate
|
|
83
|
+
9. Generate the requested number of independent options (default three when exploration is needed), with distinct information hierarchy, layout strategy, interaction model, or product framing.
|
|
84
84
|
|
|
85
85
|
Rules you must follow:
|
|
86
86
|
|
|
@@ -14,11 +14,9 @@ You're tasked with translating the visual target image into a high-quality, inte
|
|
|
14
14
|
|
|
15
15
|
## User Context
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
When the workflow needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
18
18
|
|
|
19
|
-
Use saved
|
|
20
|
-
|
|
21
|
-
Do not inspect every saved reference. Inspect only what the current task needs.
|
|
19
|
+
Use relevant saved sources and preferences as grounding material under [Saved User Context](../user-context/SKILL.md#saved-user-context). Inspect only references needed for the current task.
|
|
22
20
|
|
|
23
21
|
## Workflow
|
|
24
22
|
|
|
@@ -51,7 +49,7 @@ CRITICAL: THIS IS NOT GUIDANCE. THIS IS A CHECKLIST TO COMPLETE.
|
|
|
51
49
|
- If text is part of an image asset, keep it in the image asset. Examples include full bleed hero images, signs, posters, packaging, storefronts, article art, and illustrations where the type belongs to the visual itself. Do not crop the background image and recreate that text with transparent text boxes, HTML, CSS, or separate overlay layers unless the source clearly shows editable UI text sitting on top of the image.
|
|
52
50
|
- Do not use generic placeholders where the reference implies custom visual content.
|
|
53
51
|
- Generated assets must share the same art direction, palette, rendering style, and design language as the reference mockup.
|
|
54
|
-
- The built-in Image Gen
|
|
52
|
+
- When transparency is required, use the current image tool's documented transparent-background parameter and inspect the actual output. The current built-in Image Gen contract supports `transparent_background: true` for transparent generation, background removal, or cutouts; preserve existing transparency in edits unless the user asks to change it. If another runtime lacks that parameter, report its capability limit and use only the options supported by its actual tool contract.
|
|
55
53
|
|
|
56
54
|
5. Define all sections of the page. For each section, meticulously measure the layout, spacing between elements, and the size and space of the elements themselves.
|
|
57
55
|
|
|
@@ -71,7 +71,7 @@ Use this close:
|
|
|
71
71
|
Want to onboard Product Design with your context? Send product URLs, Figma files, screenshots, codebase paths, Storybook links, tokens, brand assets, or preferred share targets, and I'll save them for future work.
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
When routing needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged; inspect only references needed for the current task.
|
|
75
75
|
|
|
76
76
|
## Browser Annotation Updates
|
|
77
77
|
|
|
@@ -26,11 +26,9 @@ Select the best workflow from the following options to solve the user's request
|
|
|
26
26
|
|
|
27
27
|
## User Context
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
When the workflow needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
30
30
|
|
|
31
|
-
Use saved
|
|
32
|
-
|
|
33
|
-
Do not inspect every saved reference. Inspect only what the current task needs.
|
|
31
|
+
Use relevant saved sources and preferences as grounding material under [Saved User Context](../user-context/SKILL.md#saved-user-context). Inspect only references needed for the current task.
|
|
34
32
|
|
|
35
33
|
## Setup Is Not Prototype Work
|
|
36
34
|
|
|
@@ -23,11 +23,9 @@ Both modes remain UX research workflows. Do not import academic-paper writing, p
|
|
|
23
23
|
|
|
24
24
|
## User Context
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
When the workflow needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
27
27
|
|
|
28
|
-
Use saved
|
|
29
|
-
|
|
30
|
-
Do not inspect every saved reference. Inspect only what the current task needs.
|
|
28
|
+
Use relevant saved sources and preferences as grounding material under [Saved User Context](../user-context/SKILL.md#saved-user-context). Inspect only references needed for the current task.
|
|
31
29
|
|
|
32
30
|
## Contract
|
|
33
31
|
|
|
@@ -87,10 +85,10 @@ Default to an in-chat research brief unless the user asks for another format.
|
|
|
87
85
|
|
|
88
86
|
Include:
|
|
89
87
|
|
|
90
|
-
- Executive read: the core
|
|
88
|
+
- Executive read: the core problem, conclusion, and evidence limits, with enough context for the current decision.
|
|
91
89
|
- Ranked UX problems: for each problem, include the problem, user goal, surface, what breaks, evidence, severity, frequency signal, confidence, and recommended product move.
|
|
92
90
|
- Source map: what was searched, what each source contributed, and where signal was weak.
|
|
93
|
-
- Opportunity map:
|
|
91
|
+
- Opportunity map: organize recommendations by supported priority, dependencies, and questions needing deeper research. Use scheduling dates only when supplied or confirmed; do not turn research recommendations into delivery commitments.
|
|
94
92
|
|
|
95
93
|
When the user explicitly asks to persist an `evidence-audited` result, create two adjacent files named `<slug>-research-brief.md` and `<slug>-evidence.yaml`. Start from [research-brief-template.md](assets/research-brief-template.md) and [evidence-template.yaml](assets/evidence-template.yaml), then run:
|
|
96
94
|
|
package/template/.codex/skills/product-design/skills/research/assets/research-brief-template.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
## Executive Read
|
|
12
12
|
|
|
13
|
-
Summarize the
|
|
13
|
+
Summarize the core problem, conclusion, and evidence limits, with enough context for the current decision.
|
|
14
14
|
|
|
15
15
|
## Ranked UX Problems
|
|
16
16
|
|
|
@@ -22,9 +22,9 @@ Explain what was searched, what each source class contributed, exclusions, faile
|
|
|
22
22
|
|
|
23
23
|
## Opportunity Map
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Group recommendations by supported priority, dependencies, and unresolved research. Include scheduling dates only when supplied or confirmed; recommendations do not establish delivery commitments.
|
|
26
26
|
|
|
27
|
-
###
|
|
27
|
+
### Recommended Actions
|
|
28
28
|
|
|
29
29
|
### Needs Deeper Research
|
|
30
30
|
|
|
@@ -14,11 +14,9 @@ Deploy the user's runnable prototype so they can share it with others.
|
|
|
14
14
|
|
|
15
15
|
## User Context
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
When the workflow needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
18
18
|
|
|
19
|
-
Use saved
|
|
20
|
-
|
|
21
|
-
Do not inspect every saved reference. Inspect only what the current task needs.
|
|
19
|
+
Use relevant saved sources and preferences as grounding material under [Saved User Context](../user-context/SKILL.md#saved-user-context). Inspect only references needed for the current task.
|
|
22
20
|
|
|
23
21
|
## Workflow
|
|
24
22
|
|
|
@@ -14,11 +14,9 @@ Clone `<target-url>` as a real interactive, frontend-only local app or website.
|
|
|
14
14
|
|
|
15
15
|
## User Context
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
When the workflow needs saved product or design context, load [$user-context](../user-context/SKILL.md) and follow its [conditional Preflight](../user-context/SKILL.md#preflight). Reuse the loaded result while its state paths, digests, and relevant scope are unchanged.
|
|
18
18
|
|
|
19
|
-
Use saved
|
|
20
|
-
|
|
21
|
-
Do not inspect every saved reference. Inspect only what the current task needs.
|
|
19
|
+
Use relevant saved sources and preferences as grounding material under [Saved User Context](../user-context/SKILL.md#saved-user-context). Inspect only references needed for the current task.
|
|
22
20
|
|
|
23
21
|
## Workflow
|
|
24
22
|
|
|
@@ -143,5 +143,5 @@ Keep saved context curated. Prefer a few high-value references over a dump of ev
|
|
|
143
143
|
## Read
|
|
144
144
|
|
|
145
145
|
- Do not treat `status: not provided` as a fact.
|
|
146
|
-
- Read through
|
|
146
|
+
- Read saved context through the conditional [Preflight](#preflight) above when local shell access is available; reuse its loaded result while the state paths, digests, and relevant scope are unchanged.
|
|
147
147
|
- Use saved context as default grounding, then inspect only what the current task needs.
|
|
@@ -19,9 +19,9 @@ See [tests.md](tests.md) for examples and [mocking.md](mocking.md) for mocking g
|
|
|
19
19
|
|
|
20
20
|
A **seam** is the public boundary you test at: the interface where you observe behavior without reaching inside. Tests live at seams, never against internals.
|
|
21
21
|
|
|
22
|
-
**Test only at pre-agreed seams.** Before writing
|
|
22
|
+
**Test only at pre-agreed seams.** Before writing tests, first read the current approved contract (the Slice Implementation Contract for YSS implementation), its public seam references and the applicable user-decision evidence. Reuse confirmed seams covered by the same valid contract/decision version, scope and basis without asking the user again; follow the existing user-decision protocol selected by root `AGENTS.md` and the lifecycle owner when checking approval continuation.
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
If a seam is missing, newly introduced or materially changed, the contract is `stale`, or confirmation cannot be proved from readable evidence, stop tests and implementation that depend on that seam and return to the lifecycle owner to update the contract and obtain any required decision. Independent work may continue. Elapsed time and unrelated file changes do not expire seam confirmation; changed relevant inputs require freshness and scope checks under the same protocol. No test is written at an unconfirmed seam. Agreeing seams directs testing effort to critical paths and complex logic.
|
|
25
25
|
|
|
26
26
|
When the shape of that interface is itself in question — how deep the module is, where the seam belongs, what the interface should expose — use the `/codebase-design` skill for the vocabulary. It is the shared source of the module, interface, depth, seam, adapter, leverage and locality terms, and it is a reference to consult, not a session to run.
|
|
27
27
|
|
|
@@ -20,12 +20,12 @@ description: "实现或修复 Vue3 YSS UI 主题、交互状态色与动态换
|
|
|
20
20
|
|
|
21
21
|
## 开发前检查
|
|
22
22
|
|
|
23
|
-
1.
|
|
23
|
+
1. 从目标工程实际的主题入口、store/config 和相近页面定位 Token 声明与同步逻辑;`variables.less` 只作为存在时的路径线索。当前 bundled 骨架使用 `packages/src/config/theme.json`、`packages/src/store/theme.ts`、`packages/src/styles/index.less` 与 `ThemeScope.vue`。
|
|
24
24
|
2. 确认主应用传入的 `colorPrimary` 最终是否同步到 Ant Design ConfigProvider、YSS CSS 变量和 VXE 变量。
|
|
25
25
|
3. 搜索本次改动涉及的硬编码色值,覆盖 SFC style、`style.less`、内联 `style`、`:style`、TS 配置、SVG `fill/stroke`。
|
|
26
26
|
4. 区分“主题消费代码”和“主题定义代码”;禁止机械替换主题源文件中的合法默认色板。
|
|
27
27
|
|
|
28
|
-
> 变量在 `:root`
|
|
28
|
+
> 变量在 `:root` 或应用容器中声明,不代表它会随运行时主题更新。必须同时检查主题同步代码是否写入该变量,以及消费节点是否处于相同作用域。
|
|
29
29
|
|
|
30
30
|
## Token 选择
|
|
31
31
|
|
|
@@ -65,8 +65,9 @@ box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color, #3371ff) 15%, tran
|
|
|
65
65
|
|
|
66
66
|
## 标准代码骨架
|
|
67
67
|
|
|
68
|
+
下面只说明语义 Token 的消费方式;变量名称、fallback 与默认值须先核对目标工程。主题已由应用入口注入时,不另加不存在的 Less 导入。
|
|
69
|
+
|
|
68
70
|
```less
|
|
69
|
-
@import url('@/styles/variables.less');
|
|
70
71
|
|
|
71
72
|
.module-card {
|
|
72
73
|
color: var(--text-color, rgba(0, 0, 0, 0.88));
|
|
@@ -94,7 +95,7 @@ box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color, #3371ff) 15%, tran
|
|
|
94
95
|
}
|
|
95
96
|
```
|
|
96
97
|
|
|
97
|
-
仅在 JS、图表或 Canvas
|
|
98
|
+
仅在 JS、图表或 Canvas 必须读取计算后色值时,优先使用当前 ConfigProvider 内的 Ant Design Vue `theme.useToken()`。消费 CSS 变量时,对实际获得主题变量的应用容器或其消费节点调用 `getComputedStyle()`;当前 bundled 微应用只向自己的容器同步变量,不读取或写入宿主 `documentElement`。只有已核验主题同步到文档根节点的独立应用,才从该根节点读取。不复制默认色板到业务常量。
|
|
98
99
|
|
|
99
100
|
## 验证流程
|
|
100
101
|
|
|
@@ -117,7 +118,7 @@ box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color, #3371ff) 15%, tran
|
|
|
117
118
|
|
|
118
119
|
## 失败兜底策略
|
|
119
120
|
|
|
120
|
-
- 找不到 Token
|
|
121
|
+
- 找不到 Token 时,先查项目实际主题入口、store/config 和匹配版本的文档;`variables.less` 存在时才读取,禁止猜测变量名或创建同名文件充当输入。
|
|
121
122
|
- 只有颜色值但没有语义 Token 时,先在统一主题源补充语义变量和运行时同步,再在页面消费。
|
|
122
123
|
- 第三方组件不跟随主题时,优先通过 ConfigProvider/component token 或其官方 CSS 变量桥接;最后才使用受控的深度样式覆盖。
|
|
123
124
|
- 浏览器目标不支持 `color-mix()` 时,在主题层生成并同步明确的透明态变量;不要在各页面散落固定透明色。
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
User invokes with a loose idea.
|
|
8
8
|
|
|
9
9
|
1. **Name the destination.** Run a `/grilling` and `/domain-modeling` session to pin down what this map is finding its way to — the spec, decision, or change. The destination fixes the scope, so it's settled first.
|
|
10
|
-
2. **Map the frontier.** Grill again, **breadth-first** this time: fan out across the whole space rather than deep on any one thread, surfacing the open decisions and the first steps takeable now.
|
|
10
|
+
2. **Map the frontier.** Grill again, **breadth-first** this time: fan out across the whole space rather than deep on any one thread, surfacing the open decisions and the first steps takeable now. If no open decision remains and the work fits one session, return the settled destination, scope and evidence to the active orchestrator. Continue within the existing authorization; ask only for a missing real decision or new authorization.
|
|
11
11
|
3. **Create the map** (label `wayfinder:map`): Destination and Notes filled in, Decisions-so-far empty, the fog sketched into **Not yet specified**.
|
|
12
12
|
4. **Create the tickets you can specify now** as child issues of the map — then wire blocking edges in a **second pass** (issues need ids before they can reference each other). Wiring sorts them into the frontier and the blocked; everything you can't yet specify stays in the fog — the **Not yet specified** section.
|
|
13
|
-
5. **
|
|
13
|
+
5. **Dispatch research.** Route independent research tickets to `yss-research` when the runtime supports delegation; otherwise research in the current session. Follow the registered task-package and evidence contracts, and link the resulting sources from the ticket. Read-only intake uses schema v2 with empty write scope; formal research requires a new owner-issued task package. Template maintenance evidence stays in the registered external maintenance directory. Research does not require creating a Git branch.
|
|
14
14
|
6. Stop — charting is one session's work; it hand-resolves nothing.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
Every ticket is either **HITL** — human in the loop, worked _with_ a human who speaks for themselves — or **AFK**, driven by the agent alone. A HITL ticket only resolves through that live exchange; the agent never stands in for the human's side of it (a grilling agent that answers its own questions has broken this).
|
|
8
8
|
|
|
9
|
-
- **Research** (AFK): Reading documentation, third-party APIs, or local resources
|
|
9
|
+
- **Research** (AFK): Reading documentation, third-party APIs, or local resources to surface a fact a decision waits on. Route to `yss-research`, delegating independent reading when supported. Use when a decision needs evidence unavailable in the current inputs; local evidence and external sources follow the same source policy.
|
|
10
10
|
- **Prototype** (HITL): Raise the fidelity of the discussion by making a cheap, rough, concrete artifact to react to — an outline, a rough take, a stub, or UI/logic code via the /prototype skill. Links the prototype as an asset. Use when "how should it look" or "how should it behave" is the key question.
|
|
11
11
|
- **Grilling** (HITL): Conversation. The default case. Always invoke the /grilling and /domain-modeling skills.
|
|
12
12
|
- **Task** (HITL or AFK): Manual work that must happen before a _decision_ can be made — nothing to decide, prototype, or research, but the discussion is blocked until it's done. Signing up for a service so its API can be judged, provisioning access, moving data so its shape can be seen. This is the one type that _does_ rather than decides — and it earns its place by unblocking a decision, not by delivering the destination. The agent drives it alone where it can (AFK); otherwise it hands the human a precise checklist (HITL). Resolved when the work is done; the answer records what was done and any resulting facts (credentials location, new URLs, row counts) later tickets depend on.
|
|
@@ -5,24 +5,22 @@ description: "在 Vue3 YSS UI 中对接 Orval API;核验生成方法、mutator
|
|
|
5
5
|
|
|
6
6
|
# API 集成 Skill
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
本技能的 canonical 名称为 `yss-api-integration`。历史名称 `api-integration` 只由注册表与实现合同编译器解析,不维护第二份内容。
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
## 📋 目标
|
|
10
|
+
## 目标
|
|
13
11
|
|
|
14
12
|
帮助 AI 正确使用基于 **Orval** 生成的 API 客户端:
|
|
15
13
|
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
14
|
+
- 正确导入 API 函数
|
|
15
|
+
- 统一错误处理与 Toast 门禁
|
|
16
|
+
- Loading 状态管理
|
|
17
|
+
- 长整型 ID 精度保持
|
|
18
|
+
- TypeScript 类型安全
|
|
21
19
|
|
|
22
|
-
##
|
|
20
|
+
## 前置条件
|
|
23
21
|
|
|
24
22
|
1. **契约状态已明确**:
|
|
25
|
-
-
|
|
23
|
+
- 已有生成客户端:先核验冻结契约、JSON 派生记录和真实导出,输入当前且一致时可以直接集成。
|
|
26
24
|
- 新增或变更 API:必须先在 `docs/.scratch/<feature>/api/<feature>.yaml` 形成 OpenAPI Draft,经工程基线 / 架构 / Spec Delta 设计和设计审查后 Freeze。冻结的 OpenAPI YAML 是唯一权威,JSON 仅为它的受控派生物。
|
|
27
25
|
- 如果接口尚未冻结、JSON 派生记录缺失或生成函数不存在,先回到 `yss-product-lifecycle` / `yss-openapi-governance`,不要手写临时路径、DTO 或响应结构。
|
|
28
26
|
2. **API 已生成**:在目标前端实现仓库中,按其既有的手动代码生成命令(例如 `pnpm generate:api`)刷新 API;本 Harness 不配置、不执行该命令,也不把它加入 CI。
|
|
@@ -41,9 +39,9 @@ description: "在 Vue3 YSS UI 中对接 Orval API;核验生成方法、mutator
|
|
|
41
39
|
```
|
|
42
40
|
|
|
43
41
|
1. 读取 `yss-openapi-governance` 产出的 OpenAPI Freeze 记录和 `docs/.scratch/<feature>/api/<feature>-json-export.md`;确认 YAML SHA-256、JSON SHA-256、Redocly CLI 版本、lockfile 引用和 JSON 校验均通过。治理 JSON 的唯一产物路径是 `docs/.scratch/<feature>/api/<feature>.json`。
|
|
44
|
-
2. JSON 导出由 `yss-openapi-governance` 负责。`api-integration` 只接受该 skill 留下的派生记录;记录中的锁定 `redocly bundle` 命令是治理导出证据,不是前端集成任意重跑的入口。
|
|
42
|
+
2. JSON 导出由 `yss-openapi-governance` 负责。`yss-api-integration` 只接受该 skill 留下的派生记录;记录中的锁定 `redocly bundle` 命令是治理导出证据,不是前端集成任意重跑的入口。
|
|
45
43
|
3. **受控交接**:若前端实现仓库需要本地输入,批准的 Cross-repo 子合同或项目脚本只能将上述治理 JSON 原样物化为 `<frontend>/openapi/openapi.json`;物化后的 SHA-256 必须与派生记录一致。禁止从 URL、Draft YAML、后端运行时或任意本地文件临时替换输入。
|
|
46
|
-
4. `api-integration` 只核对 JSON 派生记录、交接路径和 SHA-256,并把原始 JSON 交给既有前端代码生成流程;本 Harness 可只读核对目标前端的生成器配置与真实导出,但不修改该配置,不在此仓库执行生成,也不建立生成 CI 门禁。若 JSON SHA 与派生记录不一致,停止交接并回到治理流程。
|
|
44
|
+
4. `yss-api-integration` 只核对 JSON 派生记录、交接路径和 SHA-256,并把原始 JSON 交给既有前端代码生成流程;本 Harness 可只读核对目标前端的生成器配置与真实导出,但不修改该配置,不在此仓库执行生成,也不建立生成 CI 门禁。若 JSON SHA 与派生记录不一致,停止交接并回到治理流程。
|
|
47
45
|
5. 目标前端项目在需要时手动运行其既有生成命令、类型检查和受影响组件 / API 测试;将实际命令、结果、生成输入 SHA 和偏离写入 `YSS Skill Execution Result`。
|
|
48
46
|
|
|
49
47
|
## 真实 mutator 响应契约
|
|
@@ -81,44 +79,9 @@ pnpm generate:api
|
|
|
81
79
|
- 不得根据文档示例假定工厂一定名为 `getApi()`;Orval `title` 配置会影响真实名称。
|
|
82
80
|
- 请求/响应 DTO 必须从当前生成的 `schemas` 导入,禁止重复声明。
|
|
83
81
|
|
|
84
|
-
##
|
|
85
|
-
|
|
86
|
-
以微应用的真实 `getApiApi()` 产物为例:
|
|
87
|
-
|
|
88
|
-
```typescript
|
|
89
|
-
import { reactive, ref } from 'vue';
|
|
90
|
-
import { getApiApi } from '@/api/generated/quality';
|
|
91
|
-
import type { QualityBusinessRuleVO, QualityRulePage } from '@/api/generated/quality/schemas';
|
|
92
|
-
|
|
93
|
-
const { pageQualityRule } = getApiApi();
|
|
94
|
-
|
|
95
|
-
/** 管理质量规则列表请求和分页状态。 */
|
|
96
|
-
export const useQualityRuleList = () => {
|
|
97
|
-
const loading = ref(false);
|
|
98
|
-
const dataList = ref<QualityBusinessRuleVO[]>([]);
|
|
99
|
-
const query = reactive<QualityRulePage>({ pageIndex: 1, pageSize: 20, ruleName: '' });
|
|
100
|
-
const total = ref(0);
|
|
101
|
-
|
|
102
|
-
/** 加载规则列表。 */
|
|
103
|
-
const fetchData = async (): Promise<void> => {
|
|
104
|
-
loading.value = true;
|
|
105
|
-
try {
|
|
106
|
-
const res = await pageQualityRule(query);
|
|
107
|
-
dataList.value = res.data ?? [];
|
|
108
|
-
total.value = res.totalCount ?? 0;
|
|
109
|
-
} catch {
|
|
110
|
-
dataList.value = [];
|
|
111
|
-
total.value = 0;
|
|
112
|
-
} finally {
|
|
113
|
-
loading.value = false;
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
return { loading, dataList, query, total, fetchData };
|
|
118
|
-
};
|
|
119
|
-
```
|
|
82
|
+
## 按需示例
|
|
120
83
|
|
|
121
|
-
|
|
84
|
+
首次组织列表请求或需比较具名导出与工厂导出时,读取 [Orval 列表示例](references/orval-list-example.md)。示例中的业务名称与响应字段仅作已核验版本的用法说明,目标工程仍消费自己的冻结 DTO 和真实导出。
|
|
122
85
|
|
|
123
86
|
## 长整型与数值类型
|
|
124
87
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
## 标准代码骨架
|
|
2
|
+
|
|
3
|
+
以微应用的真实 `getApiApi()` 产物为例:
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import { reactive, ref } from 'vue';
|
|
7
|
+
import { getApiApi } from '@/api/generated/quality';
|
|
8
|
+
import type { QualityBusinessRuleVO, QualityRulePage } from '@/api/generated/quality/schemas';
|
|
9
|
+
|
|
10
|
+
const { pageQualityRule } = getApiApi();
|
|
11
|
+
|
|
12
|
+
/** 管理质量规则列表请求和分页状态。 */
|
|
13
|
+
export const useQualityRuleList = () => {
|
|
14
|
+
const loading = ref(false);
|
|
15
|
+
const dataList = ref<QualityBusinessRuleVO[]>([]);
|
|
16
|
+
const query = reactive<QualityRulePage>({ pageIndex: 1, pageSize: 20, ruleName: '' });
|
|
17
|
+
const total = ref(0);
|
|
18
|
+
|
|
19
|
+
/** 加载规则列表。 */
|
|
20
|
+
const fetchData = async (): Promise<void> => {
|
|
21
|
+
loading.value = true;
|
|
22
|
+
try {
|
|
23
|
+
const res = await pageQualityRule(query);
|
|
24
|
+
dataList.value = res.data ?? [];
|
|
25
|
+
total.value = res.totalCount ?? 0;
|
|
26
|
+
} catch {
|
|
27
|
+
dataList.value = [];
|
|
28
|
+
total.value = 0;
|
|
29
|
+
} finally {
|
|
30
|
+
loading.value = false;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
return { loading, dataList, query, total, fetchData };
|
|
35
|
+
};
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
> 如果所在项目已生成 `pageQualityRule` 具名导出,直接导入该函数,删除上面的工厂实例行。
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yss-application
|
|
3
|
-
description:
|
|
3
|
+
description: 实现或排查 YSS 用例编排、事务边界、跨聚合协作、幂等和用例层模型转换;按已登记 DDD 或 MVC 架构执行。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# yss-application
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## 任务分流
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
- 只读审计先读取实际用例、工程登记和可读契约;不要求先补批准 Slice 或生成 Manifest,业务 Spec 缺失须记录。
|
|
11
|
+
- 整改消费批准且当前的 Slice、已确认行为 seam 与登记的 Application/service/core 映射,保持允许写范围。
|
|
12
|
+
- 新工程按生成式 Profile 消费脚手架来源,骨架生成不替代业务实现合同。
|
|
13
|
+
|
|
14
|
+
## 架构分流
|
|
15
|
+
|
|
16
|
+
将 `architecture_identity` 与当前工程基线和仓库登记核对;仅生成式来源核对脚手架 Manifest,既有来源使用登记及独立工程观测。再且只读取 `references/profiles/<architecture_profile>.md`。生成式分支为 target-domain-model、layered-mvc-service、mvc-data-analysis-v1;既有分支为 existing-domain-driven-maven、existing-layered-mvc-maven。成熟度以注册表为准,不能把 draft 称为受支持。
|
|
11
17
|
|
|
12
18
|
以下 Application / Domain Gateway / Infrastructure / Web module 叙述仅适用于 target-domain-model;MVC 的 service/core/repository/server/client 所有权由所选 Profile 引用定义。
|
|
13
19
|
|
|
14
|
-
|
|
20
|
+
DDD 用例层协调 Domain 与 Gateway,定义事务边界和跨聚合流程,不承载核心领域规则。MVC 不执行 DDD 专属规则,也不加载其分层 guide;组件、安全、批准合同、允许路径及执行证据规则共用。
|
|
15
21
|
|
|
16
22
|
## 何时使用
|
|
17
23
|
|
|
@@ -71,4 +77,4 @@ Application 层用例编排 skill。负责协调 Domain 与 Gateway,定义事
|
|
|
71
77
|
|
|
72
78
|
## 既有工程与条件适用
|
|
73
79
|
|
|
74
|
-
|
|
80
|
+
事务、幂等、提交后副作用按实际用例评估;未命中不创建空事务、空端口或空恢复实现。DDD 的领域规则归 Domain,MVC 规则允许留在已登记 service/core。
|
|
@@ -7,6 +7,10 @@ description: "接入或排查 YSS AuditLog 的 SpEL 摘要、异步发布、订
|
|
|
7
7
|
|
|
8
8
|
用于处理 `yss-component-audit-log` 的接入、排障和代码修改。
|
|
9
9
|
|
|
10
|
+
## 平台与源码门禁
|
|
11
|
+
|
|
12
|
+
接入、修改、代码生成或提供精确类名/配置前,必须读取并执行 [共享平台与源码门禁](../yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md),以 `--skill yss-audit-log` 校验批准的平台线及匹配源码根。缺失、错配或漂移返回 `blocked`;不跨代回退,不在业务实现中升级、降级或替换组件。只读分诊可继续,但须标注未完成源码核验,不能据此宣称跨 Boot/JDK 兼容。
|
|
13
|
+
|
|
10
14
|
## 何时使用
|
|
11
15
|
|
|
12
16
|
- 用户要求接入或修改审计日志。
|
|
@@ -31,13 +35,15 @@ description: "接入或排查 YSS AuditLog 的 SpEL 摘要、异步发布、订
|
|
|
31
35
|
|
|
32
36
|
## 接入检查清单
|
|
33
37
|
|
|
38
|
+
下述 Boot 3 要点是所登记平台基线的核验项;只有匹配源码门禁通过,才能作为当前精确结论。索引或源码漂移时将受影响结论标为待核验并停止精确接入指导,不借历史快照补齐。
|
|
39
|
+
|
|
34
40
|
- 启动类是否启用了类似 `@EnableAuditLog` 的能力。
|
|
35
41
|
- 目标方法是否是可被 AOP 代理拦截的 Spring Bean 方法。
|
|
36
42
|
- `@AuditLog` 是否标在正确的方法上。
|
|
37
43
|
- `boot3-java17` 的 SpEL 根上下文只暴露 ASCII key:`args` 和 `result`;例如 `#{args[0]}`、`#{result[name]}`。方法参数名不会自动进入上下文。
|
|
38
44
|
- `args` 仅在 `@AuditLog(isNeedArgs = true)` 时写入,`result` 仅在 `isNeedResult = true` 时写入;表达式引用未启用的 key 属于配置错误,必须由组件 seam 测试覆盖。
|
|
39
45
|
- `boot3-java17` 不再使用中文 context key,也不得把 Boot 2 的历史模板直接复制到 Boot 3。处理旧模板时先读取所选平台线索引并显式迁移。
|
|
40
|
-
- `yss.audit.enabled
|
|
46
|
+
- 按匹配源码核验 `yss.audit.enabled`、`sendSysManageEnabled` 与 `auditLogPrintEnabled` 是否控制订阅器注册及投递,不能从字段名或历史快照推断开关生效。
|
|
41
47
|
- 审计身份由 `CurrentUserProvider` 提供;不得在审计切面中重新解析 Header 或未验签 JWT。
|
|
42
48
|
|
|
43
49
|
## 排障顺序
|
|
@@ -51,7 +57,7 @@ description: "接入或排查 YSS AuditLog 的 SpEL 摘要、异步发布、订
|
|
|
51
57
|
7. 异步线程池或事件发布异常是否被吞掉。
|
|
52
58
|
8. 参数位置、返回值字段、异常分支是否满足摘要模板。
|
|
53
59
|
|
|
54
|
-
`boot3-java17`
|
|
60
|
+
核验 `boot3-java17` 审计切面的 advice 与成功/异常边界;所登记平台基线使用 `@AfterReturning` 记录成功返回,源码漂移时该结论待核验。异常审计、参数脱敏、队列满丢弃、线程池关闭、重试和幂等须按当前组件能力及批准设计单独核验和测试,不能由旧基线推断已覆盖。组件测试至少覆盖 `#{result[name]}`、`args` / `result` 资源写入和可信身份来源。
|
|
55
61
|
|
|
56
62
|
## 修改约束
|
|
57
63
|
|
|
@@ -68,7 +74,3 @@ description: "接入或排查 YSS AuditLog 的 SpEL 摘要、异步发布、订
|
|
|
68
74
|
- 审计切面与 SpEL 解析:`assets/AuditLogAspect.java`
|
|
69
75
|
- 异步发布链路:`assets/YssAuditPublishService.java`
|
|
70
76
|
- 默认订阅器:`assets/YssAuditLogPrintSubscriberImpl.java`、`assets/YssAuditLogSysManagerSubscriberImpl.java`
|
|
71
|
-
|
|
72
|
-
## 平台与源码门禁
|
|
73
|
-
|
|
74
|
-
接入、修改、代码生成或给出精确类名/配置前,读取 [后端组件平台与源码门禁](../yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md),从批准的 `platform_configuration.component_platform_line` 选择 `source-index.boot2-java8.md` 或 `source-index.boot3-java17.md`,并以 `--skill yss-audit-log --platform-line <line> --source-root <matching-root>` 运行统一 freshness 校验。平台线与源码根不匹配、组件 tree 不一致、组件子树 dirty、索引缺少平台信号,或 Manifest / 组件 GAV 缺少 verified 兼容证据时返回 `blocked`;不得回退另一代索引,也不在业务实现中升级、降级或替换 YSS 组件。既有工程只读分诊可继续,但不得据此宣称跨 Boot/JDK 兼容。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Boot 2 历史审计资料
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本文件说明 `assets/` 中的 `boot2-java8` 历史快照,仅用于旧工程比对与迁移诊断,不作为当前 Boot 3 实现模板或 freshness 证据。当前平台任务从 [平台索引](source-index.md) 定位匹配源码并执行共享门禁;[入口](../SKILL.md) 中的身份、SpEL 和异步边界同样须与所选平台当前源码核对。
|
|
4
4
|
|
|
5
5
|
## 核心类 (Core Classes)
|
|
6
6
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
1. **解析注解**: 获取 `@AuditLog` 中的操作类型、描述、资源类型等信息。
|
|
18
18
|
2. **SpEL 解析**: 如果 `summary` 中包含 `#{...}` 表达式,会解析方法参数和返回值,动态生成日志内容。
|
|
19
19
|
3. **构建消息**:
|
|
20
|
-
-
|
|
20
|
+
- 历史快照使用 `AuthUserInfoUtil.currentUserJson()`;特定 `Principal` 返回分支还解析 `id_token`。这段历史行为不构成可信认证依据,不能迁入 Boot 3 的 `CurrentUserProvider` 链路。
|
|
21
21
|
- 收集请求信息(URL, IP, User-Agent)。
|
|
22
22
|
- 收集参数和结果(根据 `isNeedArgs` 和 `isNeedResult` 配置)。
|
|
23
23
|
4. **发布消息**: 调用 `YssAuditPublishService.publish` 将构建好的 `AuditMessage` 发布出去。
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
**位置**: `../assets/YssAuditLogPrintSubscriberImpl.java`
|
|
42
42
|
|
|
43
43
|
- **功能**: 简单的控制台日志打印,用于开发调试。
|
|
44
|
-
-
|
|
44
|
+
- **配置核验**: 历史订阅器快照自身不检查 `auditLogPrintEnabled`。开关是否控制注册或投递须检查实际工程的配置装配,不能从字段名推断生效。
|
|
45
45
|
|
|
46
46
|
#### YssAuditLogSysManagerSubscriberImpl.java
|
|
47
47
|
|
|
48
48
|
**位置**: `../assets/YssAuditLogSysManagerSubscriberImpl.java`
|
|
49
49
|
|
|
50
50
|
- **功能**: 调用 `YssDmSystemManageFeign` 将审计日志发送到系统管理服务进行持久化存储。
|
|
51
|
-
-
|
|
51
|
+
- **配置核验**: 历史订阅器快照自身不检查 `sendSysManageEnabled`。按实际工程核验配置装配及投递;当前平台行为不由这份快照证明。
|
|
52
52
|
|
|
53
53
|
## 关键注解
|
|
54
54
|
|