create-yss-spec 2.2.10 → 3.0.1
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/README.md +1 -1
- package/package.json +1 -1
- package/src/cli.js +0 -1
- package/template/.agents/skills/.strategic-design-skills-manifest.json +35 -0
- package/template/.agents/skills/.yss-skills-manifest.json +0 -2
- package/template/.agents/skills/ask-matt/SKILL.md +1 -1
- package/template/.agents/skills/code-review/SKILL.md +1 -1
- package/template/.agents/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.agents/skills/lombok/SKILL.md +1 -1
- package/template/.agents/skills/mapstruct/SKILL.md +1 -1
- package/template/.agents/skills/prototype-review/SKILL.md +7 -6
- package/template/.agents/skills/wayfinder/SKILL.md +2 -2
- package/template/.agents/skills/yss-antd-design/SKILL.md +8 -7
- package/template/.agents/skills/yss-antd-design/references/evidence.md +11 -6
- package/template/.agents/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.agents/skills/yss-application/SKILL.md +2 -2
- package/template/.agents/skills/yss-audit-log/SKILL.md +2 -2
- package/template/.agents/skills/yss-audit-log/references/source-index.md +1 -1
- package/template/.agents/skills/yss-cache/SKILL.md +2 -2
- package/template/.agents/skills/yss-cache/references/source-index.md +1 -1
- package/template/.agents/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
- package/template/.agents/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
- package/template/.agents/skills/yss-design-system/SKILL.md +6 -6
- package/template/.agents/skills/yss-distributed-id/SKILL.md +2 -2
- package/template/.agents/skills/yss-distributed-id/references/source-index.md +1 -1
- package/template/.agents/skills/yss-domain/SKILL.md +3 -2
- package/template/.agents/skills/yss-domain/agents/openai.yaml +2 -2
- package/template/.agents/skills/yss-domain/references/domain-layer-guide.md +2 -0
- package/template/.agents/skills/yss-dto/SKILL.md +8 -2
- package/template/.agents/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
- package/template/.agents/skills/yss-dto/references/source-index.md +1 -1
- package/template/.agents/skills/yss-excel-mvc/SKILL.md +2 -2
- package/template/.agents/skills/yss-excel-mvc/references/source-index.md +1 -1
- package/template/.agents/skills/yss-exception/SKILL.md +1 -1
- package/template/.agents/skills/yss-exception/references/source-index.md +1 -1
- package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
- package/template/.agents/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.agents/skills/yss-mybatis/references/source-index.md +1 -1
- package/template/.agents/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +7 -7
- package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +7 -7
- package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +1 -1
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +34 -24
- package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
- package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
- package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
- package/template/.agents/skills/yss-repository/SKILL.md +16 -14
- package/template/.agents/skills/yss-repository/agents/openai.yaml +2 -2
- package/template/.agents/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
- package/template/.agents/skills/yss-research/SKILL.md +73 -0
- package/template/.agents/skills/yss-research/agents/openai.yaml +3 -0
- package/template/.agents/skills/yss-research/assets/evidence-template.yaml +68 -0
- package/template/.agents/skills/yss-research/assets/research-brief-template.md +36 -0
- package/template/.agents/skills/yss-research/references/evidence-contract.md +42 -0
- package/template/.agents/skills/yss-research/scripts/validate-research-package.mjs +128 -0
- package/template/.agents/skills/yss-research/tests/run-scenarios.mjs +81 -0
- package/template/.agents/skills/yss-resilience4j/SKILL.md +1 -1
- package/template/.agents/skills/yss-resilience4j/references/source-index.md +1 -1
- package/template/.agents/skills/yss-security-algorithm/SKILL.md +1 -1
- package/template/.agents/skills/yss-security-algorithm/references/source-index.md +1 -1
- package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
- package/template/.agents/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
- package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
- package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -1
- package/template/.agents/skills/yss-ui/SKILL.md +2 -1
- package/template/.agents/skills/yss-ui/assets/docs/guide/llms.md +0 -61
- package/template/.agents/skills/yss-up-springboot3/SKILL.md +1 -1
- package/template/.agents/skills/yss-userinfo/SKILL.md +1 -1
- package/template/.agents/skills/yss-userinfo/references/source-index.md +1 -1
- package/template/.agents/skills/yss-validation/SKILL.md +1 -1
- package/template/.agents/skills/yss-validation/references/source-index.md +1 -1
- package/template/.agents/skills/yss-web-controller/SKILL.md +17 -11
- package/template/.agents/skills/yss-web-controller/agents/openai.yaml +2 -2
- package/template/.agents/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
- package/template/.agents/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
- package/template/.agents/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
- package/template/.agents/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
- package/template/.agents/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
- package/template/.agents/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
- package/template/.agents/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
- package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
- package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
- package/template/.claude/skills/ask-matt/SKILL.md +1 -1
- package/template/.claude/skills/code-review/SKILL.md +1 -1
- package/template/.claude/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.claude/skills/lombok/SKILL.md +1 -1
- package/template/.claude/skills/mapstruct/SKILL.md +1 -1
- package/template/.claude/skills/prototype-review/SKILL.md +7 -6
- package/template/.claude/skills/wayfinder/SKILL.md +2 -2
- package/template/.claude/skills/yss-antd-design/SKILL.md +8 -7
- package/template/.claude/skills/yss-antd-design/references/evidence.md +11 -6
- package/template/.claude/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.claude/skills/yss-application/SKILL.md +2 -2
- package/template/.claude/skills/yss-audit-log/SKILL.md +2 -2
- package/template/.claude/skills/yss-audit-log/references/source-index.md +1 -1
- package/template/.claude/skills/yss-cache/SKILL.md +2 -2
- package/template/.claude/skills/yss-cache/references/source-index.md +1 -1
- package/template/.claude/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
- package/template/.claude/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
- package/template/.claude/skills/yss-design-system/SKILL.md +6 -6
- package/template/.claude/skills/yss-distributed-id/SKILL.md +2 -2
- package/template/.claude/skills/yss-distributed-id/references/source-index.md +1 -1
- package/template/.claude/skills/yss-domain/SKILL.md +3 -2
- package/template/.claude/skills/yss-domain/agents/openai.yaml +2 -2
- package/template/.claude/skills/yss-domain/references/domain-layer-guide.md +2 -0
- package/template/.claude/skills/yss-dto/SKILL.md +8 -2
- package/template/.claude/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
- package/template/.claude/skills/yss-dto/references/source-index.md +1 -1
- package/template/.claude/skills/yss-excel-mvc/SKILL.md +2 -2
- package/template/.claude/skills/yss-excel-mvc/references/source-index.md +1 -1
- package/template/.claude/skills/yss-exception/SKILL.md +1 -1
- package/template/.claude/skills/yss-exception/references/source-index.md +1 -1
- package/template/.claude/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
- package/template/.claude/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
- package/template/.claude/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
- package/template/.claude/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
- package/template/.claude/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
- package/template/.claude/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
- package/template/.claude/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
- package/template/.claude/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.claude/skills/yss-mybatis/references/source-index.md +1 -1
- package/template/.claude/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.claude/skills/yss-product-lifecycle/SKILL.md +7 -7
- package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +7 -7
- package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +1 -1
- package/template/.claude/skills/yss-prototype-stage/SKILL.md +34 -24
- package/template/.claude/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
- package/template/.claude/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
- package/template/.claude/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
- package/template/.claude/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
- package/template/.claude/skills/yss-repository/SKILL.md +16 -14
- package/template/.claude/skills/yss-repository/agents/openai.yaml +2 -2
- package/template/.claude/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
- package/template/.claude/skills/yss-research/SKILL.md +73 -0
- package/template/.claude/skills/yss-research/agents/openai.yaml +3 -0
- package/template/.claude/skills/yss-research/assets/evidence-template.yaml +68 -0
- package/template/.claude/skills/yss-research/assets/research-brief-template.md +36 -0
- package/template/.claude/skills/yss-research/references/evidence-contract.md +42 -0
- package/template/.claude/skills/yss-research/scripts/validate-research-package.mjs +128 -0
- package/template/.claude/skills/yss-research/tests/run-scenarios.mjs +81 -0
- package/template/.claude/skills/yss-resilience4j/SKILL.md +1 -1
- package/template/.claude/skills/yss-resilience4j/references/source-index.md +1 -1
- package/template/.claude/skills/yss-security-algorithm/SKILL.md +1 -1
- package/template/.claude/skills/yss-security-algorithm/references/source-index.md +1 -1
- package/template/.claude/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
- package/template/.claude/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
- package/template/.claude/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
- package/template/.claude/skills/yss-stage-decision/SKILL.md +2 -1
- package/template/.claude/skills/yss-ui/SKILL.md +2 -1
- package/template/.claude/skills/yss-ui/assets/docs/guide/llms.md +0 -61
- package/template/.claude/skills/yss-up-springboot3/SKILL.md +1 -1
- package/template/.claude/skills/yss-userinfo/SKILL.md +1 -1
- package/template/.claude/skills/yss-userinfo/references/source-index.md +1 -1
- package/template/.claude/skills/yss-validation/SKILL.md +1 -1
- package/template/.claude/skills/yss-validation/references/source-index.md +1 -1
- package/template/.claude/skills/yss-web-controller/SKILL.md +17 -11
- package/template/.claude/skills/yss-web-controller/agents/openai.yaml +2 -2
- package/template/.claude/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
- package/template/.claude/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
- package/template/.claude/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
- package/template/.claude/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
- package/template/.claude/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
- package/template/.claude/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
- package/template/.claude/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
- package/template/.claude/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
- package/template/.claude/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
- package/template/.codex/skills/ask-matt/SKILL.md +1 -1
- package/template/.codex/skills/code-review/SKILL.md +1 -1
- package/template/.codex/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.codex/skills/lombok/SKILL.md +1 -1
- package/template/.codex/skills/mapstruct/SKILL.md +1 -1
- package/template/.codex/skills/product-design/package.json +4 -2
- package/template/.codex/skills/product-design/skills/research/SKILL.md +22 -0
- package/template/.codex/skills/product-design/skills/research/assets/evidence-template.yaml +65 -0
- package/template/.codex/skills/product-design/skills/research/assets/research-brief-template.md +33 -0
- package/template/.codex/skills/product-design/skills/research/references/evidence-audited.md +80 -0
- package/template/.codex/skills/product-design/skills/research/scripts/validate-research-package.mjs +149 -0
- package/template/.codex/skills/product-design/skills/research/tests/run-scenarios.mjs +72 -0
- package/template/.codex/skills/prototype-review/SKILL.md +7 -6
- package/template/.codex/skills/wayfinder/SKILL.md +2 -2
- package/template/.codex/skills/yss-antd-design/SKILL.md +8 -7
- package/template/.codex/skills/yss-antd-design/references/evidence.md +11 -6
- package/template/.codex/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.codex/skills/yss-application/SKILL.md +2 -2
- package/template/.codex/skills/yss-audit-log/SKILL.md +2 -2
- package/template/.codex/skills/yss-audit-log/references/source-index.md +1 -1
- package/template/.codex/skills/yss-cache/SKILL.md +2 -2
- package/template/.codex/skills/yss-cache/references/source-index.md +1 -1
- package/template/.codex/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
- package/template/.codex/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
- package/template/.codex/skills/yss-design-system/SKILL.md +6 -6
- package/template/.codex/skills/yss-distributed-id/SKILL.md +2 -2
- package/template/.codex/skills/yss-distributed-id/references/source-index.md +1 -1
- package/template/.codex/skills/yss-domain/SKILL.md +3 -2
- package/template/.codex/skills/yss-domain/agents/openai.yaml +2 -2
- package/template/.codex/skills/yss-domain/references/domain-layer-guide.md +2 -0
- package/template/.codex/skills/yss-dto/SKILL.md +8 -2
- package/template/.codex/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
- package/template/.codex/skills/yss-dto/references/source-index.md +1 -1
- package/template/.codex/skills/yss-excel-mvc/SKILL.md +2 -2
- package/template/.codex/skills/yss-excel-mvc/references/source-index.md +1 -1
- package/template/.codex/skills/yss-exception/SKILL.md +1 -1
- package/template/.codex/skills/yss-exception/references/source-index.md +1 -1
- package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
- package/template/.codex/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.codex/skills/yss-mybatis/references/source-index.md +1 -1
- package/template/.codex/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +7 -7
- package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +7 -7
- package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +1 -1
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +34 -24
- package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
- package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
- package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
- package/template/.codex/skills/yss-repository/SKILL.md +16 -14
- package/template/.codex/skills/yss-repository/agents/openai.yaml +2 -2
- package/template/.codex/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
- package/template/.codex/skills/yss-research/SKILL.md +73 -0
- package/template/.codex/skills/yss-research/agents/openai.yaml +3 -0
- package/template/.codex/skills/yss-research/assets/evidence-template.yaml +68 -0
- package/template/.codex/skills/yss-research/assets/research-brief-template.md +36 -0
- package/template/.codex/skills/yss-research/references/evidence-contract.md +42 -0
- package/template/.codex/skills/yss-research/scripts/validate-research-package.mjs +128 -0
- package/template/.codex/skills/yss-research/tests/run-scenarios.mjs +81 -0
- package/template/.codex/skills/yss-resilience4j/SKILL.md +1 -1
- package/template/.codex/skills/yss-resilience4j/references/source-index.md +1 -1
- package/template/.codex/skills/yss-security-algorithm/SKILL.md +1 -1
- package/template/.codex/skills/yss-security-algorithm/references/source-index.md +1 -1
- package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
- package/template/.codex/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
- package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
- package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -1
- package/template/.codex/skills/yss-ui/SKILL.md +2 -1
- package/template/.codex/skills/yss-ui/assets/docs/guide/llms.md +0 -61
- package/template/.codex/skills/yss-up-springboot3/SKILL.md +1 -1
- package/template/.codex/skills/yss-userinfo/SKILL.md +1 -1
- package/template/.codex/skills/yss-userinfo/references/source-index.md +1 -1
- package/template/.codex/skills/yss-validation/SKILL.md +1 -1
- package/template/.codex/skills/yss-validation/references/source-index.md +1 -1
- package/template/.codex/skills/yss-web-controller/SKILL.md +17 -11
- package/template/.codex/skills/yss-web-controller/agents/openai.yaml +2 -2
- package/template/.codex/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
- package/template/.codex/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
- package/template/.codex/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
- package/template/.codex/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
- package/template/.codex/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
- package/template/.codex/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
- package/template/.codex/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
- package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
- package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
- package/template/.cursor/skills/ask-matt/SKILL.md +1 -1
- package/template/.cursor/skills/code-review/SKILL.md +1 -1
- package/template/.cursor/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.cursor/skills/lombok/SKILL.md +1 -1
- package/template/.cursor/skills/mapstruct/SKILL.md +1 -1
- package/template/.cursor/skills/prototype-review/SKILL.md +7 -6
- package/template/.cursor/skills/wayfinder/SKILL.md +2 -2
- package/template/.cursor/skills/yss-antd-design/SKILL.md +8 -7
- package/template/.cursor/skills/yss-antd-design/references/evidence.md +11 -6
- package/template/.cursor/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.cursor/skills/yss-application/SKILL.md +2 -2
- package/template/.cursor/skills/yss-audit-log/SKILL.md +2 -2
- package/template/.cursor/skills/yss-audit-log/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-cache/SKILL.md +2 -2
- package/template/.cursor/skills/yss-cache/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
- package/template/.cursor/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
- package/template/.cursor/skills/yss-design-system/SKILL.md +6 -6
- package/template/.cursor/skills/yss-distributed-id/SKILL.md +2 -2
- package/template/.cursor/skills/yss-distributed-id/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-domain/SKILL.md +3 -2
- package/template/.cursor/skills/yss-domain/agents/openai.yaml +2 -2
- package/template/.cursor/skills/yss-domain/references/domain-layer-guide.md +2 -0
- package/template/.cursor/skills/yss-dto/SKILL.md +8 -2
- package/template/.cursor/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
- package/template/.cursor/skills/yss-dto/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-excel-mvc/SKILL.md +2 -2
- package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-exception/SKILL.md +1 -1
- package/template/.cursor/skills/yss-exception/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
- package/template/.cursor/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.cursor/skills/yss-mybatis/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +7 -7
- package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +7 -7
- package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +1 -1
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +34 -24
- package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
- package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
- package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
- package/template/.cursor/skills/yss-repository/SKILL.md +16 -14
- package/template/.cursor/skills/yss-repository/agents/openai.yaml +2 -2
- package/template/.cursor/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
- package/template/.cursor/skills/yss-research/SKILL.md +73 -0
- package/template/.cursor/skills/yss-research/agents/openai.yaml +3 -0
- package/template/.cursor/skills/yss-research/assets/evidence-template.yaml +68 -0
- package/template/.cursor/skills/yss-research/assets/research-brief-template.md +36 -0
- package/template/.cursor/skills/yss-research/references/evidence-contract.md +42 -0
- package/template/.cursor/skills/yss-research/scripts/validate-research-package.mjs +128 -0
- package/template/.cursor/skills/yss-research/tests/run-scenarios.mjs +81 -0
- package/template/.cursor/skills/yss-resilience4j/SKILL.md +1 -1
- package/template/.cursor/skills/yss-resilience4j/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-security-algorithm/SKILL.md +1 -1
- package/template/.cursor/skills/yss-security-algorithm/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
- package/template/.cursor/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
- package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -1
- package/template/.cursor/skills/yss-ui/SKILL.md +2 -1
- package/template/.cursor/skills/yss-ui/assets/docs/guide/llms.md +0 -61
- package/template/.cursor/skills/yss-up-springboot3/SKILL.md +1 -1
- package/template/.cursor/skills/yss-userinfo/SKILL.md +1 -1
- package/template/.cursor/skills/yss-userinfo/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-validation/SKILL.md +1 -1
- package/template/.cursor/skills/yss-validation/references/source-index.md +1 -1
- package/template/.cursor/skills/yss-web-controller/SKILL.md +17 -11
- package/template/.cursor/skills/yss-web-controller/agents/openai.yaml +2 -2
- package/template/.cursor/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
- package/template/.cursor/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
- package/template/.cursor/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
- package/template/.cursor/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
- package/template/.cursor/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
- package/template/.cursor/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
- package/template/.cursor/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
- package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
- package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
- package/template/.pi/skills/ask-matt/SKILL.md +1 -1
- package/template/.pi/skills/code-review/SKILL.md +1 -1
- package/template/.pi/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.pi/skills/lombok/SKILL.md +1 -1
- package/template/.pi/skills/mapstruct/SKILL.md +1 -1
- package/template/.pi/skills/prototype-review/SKILL.md +7 -6
- package/template/.pi/skills/wayfinder/SKILL.md +2 -2
- package/template/.pi/skills/yss-antd-design/SKILL.md +8 -7
- package/template/.pi/skills/yss-antd-design/references/evidence.md +11 -6
- package/template/.pi/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.pi/skills/yss-application/SKILL.md +2 -2
- package/template/.pi/skills/yss-audit-log/SKILL.md +2 -2
- package/template/.pi/skills/yss-audit-log/references/source-index.md +1 -1
- package/template/.pi/skills/yss-cache/SKILL.md +2 -2
- package/template/.pi/skills/yss-cache/references/source-index.md +1 -1
- package/template/.pi/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
- package/template/.pi/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
- package/template/.pi/skills/yss-design-system/SKILL.md +6 -6
- package/template/.pi/skills/yss-distributed-id/SKILL.md +2 -2
- package/template/.pi/skills/yss-distributed-id/references/source-index.md +1 -1
- package/template/.pi/skills/yss-domain/SKILL.md +3 -2
- package/template/.pi/skills/yss-domain/agents/openai.yaml +2 -2
- package/template/.pi/skills/yss-domain/references/domain-layer-guide.md +2 -0
- package/template/.pi/skills/yss-dto/SKILL.md +8 -2
- package/template/.pi/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
- package/template/.pi/skills/yss-dto/references/source-index.md +1 -1
- package/template/.pi/skills/yss-excel-mvc/SKILL.md +2 -2
- package/template/.pi/skills/yss-excel-mvc/references/source-index.md +1 -1
- package/template/.pi/skills/yss-exception/SKILL.md +1 -1
- package/template/.pi/skills/yss-exception/references/source-index.md +1 -1
- package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
- package/template/.pi/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.pi/skills/yss-mybatis/references/source-index.md +1 -1
- package/template/.pi/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +7 -7
- package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +7 -7
- package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +1 -1
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +34 -24
- package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
- package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
- package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
- package/template/.pi/skills/yss-repository/SKILL.md +16 -14
- package/template/.pi/skills/yss-repository/agents/openai.yaml +2 -2
- package/template/.pi/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
- package/template/.pi/skills/yss-research/SKILL.md +73 -0
- package/template/.pi/skills/yss-research/agents/openai.yaml +3 -0
- package/template/.pi/skills/yss-research/assets/evidence-template.yaml +68 -0
- package/template/.pi/skills/yss-research/assets/research-brief-template.md +36 -0
- package/template/.pi/skills/yss-research/references/evidence-contract.md +42 -0
- package/template/.pi/skills/yss-research/scripts/validate-research-package.mjs +128 -0
- package/template/.pi/skills/yss-research/tests/run-scenarios.mjs +81 -0
- package/template/.pi/skills/yss-resilience4j/SKILL.md +1 -1
- package/template/.pi/skills/yss-resilience4j/references/source-index.md +1 -1
- package/template/.pi/skills/yss-security-algorithm/SKILL.md +1 -1
- package/template/.pi/skills/yss-security-algorithm/references/source-index.md +1 -1
- package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
- package/template/.pi/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
- package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
- package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -1
- package/template/.pi/skills/yss-ui/SKILL.md +2 -1
- package/template/.pi/skills/yss-ui/assets/docs/guide/llms.md +0 -61
- package/template/.pi/skills/yss-up-springboot3/SKILL.md +1 -1
- package/template/.pi/skills/yss-userinfo/SKILL.md +1 -1
- package/template/.pi/skills/yss-userinfo/references/source-index.md +1 -1
- package/template/.pi/skills/yss-validation/SKILL.md +1 -1
- package/template/.pi/skills/yss-validation/references/source-index.md +1 -1
- package/template/.pi/skills/yss-web-controller/SKILL.md +17 -11
- package/template/.pi/skills/yss-web-controller/agents/openai.yaml +2 -2
- package/template/.pi/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
- package/template/.pi/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
- package/template/.pi/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
- package/template/.pi/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
- package/template/.pi/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
- package/template/.pi/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
- package/template/.pi/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
- package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
- package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
- package/template/.qoder/skills/ask-matt/SKILL.md +1 -1
- package/template/.qoder/skills/code-review/SKILL.md +1 -1
- package/template/.qoder/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.qoder/skills/lombok/SKILL.md +1 -1
- package/template/.qoder/skills/mapstruct/SKILL.md +1 -1
- package/template/.qoder/skills/prototype-review/SKILL.md +7 -6
- package/template/.qoder/skills/wayfinder/SKILL.md +2 -2
- package/template/.qoder/skills/yss-antd-design/SKILL.md +8 -7
- package/template/.qoder/skills/yss-antd-design/references/evidence.md +11 -6
- package/template/.qoder/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.qoder/skills/yss-application/SKILL.md +2 -2
- package/template/.qoder/skills/yss-audit-log/SKILL.md +2 -2
- package/template/.qoder/skills/yss-audit-log/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-cache/SKILL.md +2 -2
- package/template/.qoder/skills/yss-cache/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
- package/template/.qoder/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
- package/template/.qoder/skills/yss-design-system/SKILL.md +6 -6
- package/template/.qoder/skills/yss-distributed-id/SKILL.md +2 -2
- package/template/.qoder/skills/yss-distributed-id/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-domain/SKILL.md +3 -2
- package/template/.qoder/skills/yss-domain/agents/openai.yaml +2 -2
- package/template/.qoder/skills/yss-domain/references/domain-layer-guide.md +2 -0
- package/template/.qoder/skills/yss-dto/SKILL.md +8 -2
- package/template/.qoder/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
- package/template/.qoder/skills/yss-dto/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-excel-mvc/SKILL.md +2 -2
- package/template/.qoder/skills/yss-excel-mvc/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-exception/SKILL.md +1 -1
- package/template/.qoder/skills/yss-exception/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
- package/template/.qoder/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
- package/template/.qoder/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
- package/template/.qoder/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
- package/template/.qoder/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
- package/template/.qoder/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
- package/template/.qoder/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
- package/template/.qoder/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.qoder/skills/yss-mybatis/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +7 -7
- package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +7 -7
- package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +1 -1
- package/template/.qoder/skills/yss-prototype-stage/SKILL.md +34 -24
- package/template/.qoder/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
- package/template/.qoder/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
- package/template/.qoder/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
- package/template/.qoder/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
- package/template/.qoder/skills/yss-repository/SKILL.md +16 -14
- package/template/.qoder/skills/yss-repository/agents/openai.yaml +2 -2
- package/template/.qoder/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
- package/template/.qoder/skills/yss-research/SKILL.md +73 -0
- package/template/.qoder/skills/yss-research/agents/openai.yaml +3 -0
- package/template/.qoder/skills/yss-research/assets/evidence-template.yaml +68 -0
- package/template/.qoder/skills/yss-research/assets/research-brief-template.md +36 -0
- package/template/.qoder/skills/yss-research/references/evidence-contract.md +42 -0
- package/template/.qoder/skills/yss-research/scripts/validate-research-package.mjs +128 -0
- package/template/.qoder/skills/yss-research/tests/run-scenarios.mjs +81 -0
- package/template/.qoder/skills/yss-resilience4j/SKILL.md +1 -1
- package/template/.qoder/skills/yss-resilience4j/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-security-algorithm/SKILL.md +1 -1
- package/template/.qoder/skills/yss-security-algorithm/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
- package/template/.qoder/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
- package/template/.qoder/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
- package/template/.qoder/skills/yss-stage-decision/SKILL.md +2 -1
- package/template/.qoder/skills/yss-ui/SKILL.md +2 -1
- package/template/.qoder/skills/yss-ui/assets/docs/guide/llms.md +0 -61
- package/template/.qoder/skills/yss-up-springboot3/SKILL.md +1 -1
- package/template/.qoder/skills/yss-userinfo/SKILL.md +1 -1
- package/template/.qoder/skills/yss-userinfo/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-validation/SKILL.md +1 -1
- package/template/.qoder/skills/yss-validation/references/source-index.md +1 -1
- package/template/.qoder/skills/yss-web-controller/SKILL.md +17 -11
- package/template/.qoder/skills/yss-web-controller/agents/openai.yaml +2 -2
- package/template/.qoder/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
- package/template/.qoder/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
- package/template/.qoder/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
- package/template/.qoder/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
- package/template/.qoder/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
- package/template/.qoder/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
- package/template/.qoder/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
- package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
- package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
- package/template/.trae/skills/ask-matt/SKILL.md +1 -1
- package/template/.trae/skills/code-review/SKILL.md +1 -1
- package/template/.trae/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.trae/skills/lombok/SKILL.md +1 -1
- package/template/.trae/skills/mapstruct/SKILL.md +1 -1
- package/template/.trae/skills/prototype-review/SKILL.md +7 -6
- package/template/.trae/skills/wayfinder/SKILL.md +2 -2
- package/template/.trae/skills/yss-antd-design/SKILL.md +8 -7
- package/template/.trae/skills/yss-antd-design/references/evidence.md +11 -6
- package/template/.trae/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.trae/skills/yss-application/SKILL.md +2 -2
- package/template/.trae/skills/yss-audit-log/SKILL.md +2 -2
- package/template/.trae/skills/yss-audit-log/references/source-index.md +1 -1
- package/template/.trae/skills/yss-cache/SKILL.md +2 -2
- package/template/.trae/skills/yss-cache/references/source-index.md +1 -1
- package/template/.trae/skills/yss-cache/scripts/check-skill-freshness.sh +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +18 -7
- package/template/.trae/skills/yss-ddd-scaffold-generator/agents/openai.yaml +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +3 -3
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +14 -3
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +3 -2
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +48 -14
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +164 -0
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +24 -10
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +172 -0
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +21 -8
- package/template/.trae/skills/yss-design-system/SKILL.md +6 -6
- package/template/.trae/skills/yss-distributed-id/SKILL.md +2 -2
- package/template/.trae/skills/yss-distributed-id/references/source-index.md +1 -1
- package/template/.trae/skills/yss-domain/SKILL.md +3 -2
- package/template/.trae/skills/yss-domain/agents/openai.yaml +2 -2
- package/template/.trae/skills/yss-domain/references/domain-layer-guide.md +2 -0
- package/template/.trae/skills/yss-dto/SKILL.md +8 -2
- package/template/.trae/skills/yss-dto/references/openapi-wire-profile.yaml +6 -0
- package/template/.trae/skills/yss-dto/references/source-index.md +1 -1
- package/template/.trae/skills/yss-excel-mvc/SKILL.md +2 -2
- package/template/.trae/skills/yss-excel-mvc/references/source-index.md +1 -1
- package/template/.trae/skills/yss-exception/SKILL.md +1 -1
- package/template/.trae/skills/yss-exception/references/source-index.md +1 -1
- package/template/.trae/skills/yss-implementation-contract-compiler/SKILL.md +55 -0
- package/template/.trae/skills/yss-implementation-contract-compiler/agents/openai.yaml +4 -0
- package/template/.trae/skills/yss-implementation-contract-compiler/references/boundaries.md +134 -0
- package/template/.trae/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +314 -0
- package/template/.trae/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +197 -0
- package/template/.trae/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +69 -0
- package/template/.trae/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +89 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/SKILL.md +87 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/assets/logback-spring.xml.template +50 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/assets/smart-doc.json.template +42 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/references/architecture.md +28 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +136 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +337 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +66 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/runtime.mjs +115 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/storage.mjs +90 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/templates.mjs +54 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/verify_project.mjs +103 -0
- package/template/.trae/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.trae/skills/yss-mybatis/references/source-index.md +1 -1
- package/template/.trae/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.trae/skills/yss-product-lifecycle/SKILL.md +7 -7
- package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +7 -7
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +37 -27
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +7 -7
- package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +1 -1
- package/template/.trae/skills/yss-prototype-stage/SKILL.md +34 -24
- package/template/.trae/skills/yss-prototype-stage/references/product-design-adapter.md +43 -38
- package/template/.trae/skills/yss-prototype-stage/references/prototype-profile-routing.md +67 -0
- package/template/.trae/skills/yss-prototype-stage/scripts/prototype-contract.mjs +192 -103
- package/template/.trae/skills/yss-prototype-stage/tests/run-scenarios.mjs +87 -134
- package/template/.trae/skills/yss-repository/SKILL.md +16 -14
- package/template/.trae/skills/yss-repository/agents/openai.yaml +2 -2
- package/template/.trae/skills/yss-repository/references/infrastructure-layer-guide.md +1 -1
- package/template/.trae/skills/yss-research/SKILL.md +73 -0
- package/template/.trae/skills/yss-research/agents/openai.yaml +3 -0
- package/template/.trae/skills/yss-research/assets/evidence-template.yaml +68 -0
- package/template/.trae/skills/yss-research/assets/research-brief-template.md +36 -0
- package/template/.trae/skills/yss-research/references/evidence-contract.md +42 -0
- package/template/.trae/skills/yss-research/scripts/validate-research-package.mjs +128 -0
- package/template/.trae/skills/yss-research/tests/run-scenarios.mjs +81 -0
- package/template/.trae/skills/yss-resilience4j/SKILL.md +1 -1
- package/template/.trae/skills/yss-resilience4j/references/source-index.md +1 -1
- package/template/.trae/skills/yss-security-algorithm/SKILL.md +1 -1
- package/template/.trae/skills/yss-security-algorithm/references/source-index.md +1 -1
- package/template/.trae/skills/yss-skill-source-index-refresh/SKILL.md +63 -0
- package/template/.trae/skills/yss-skill-source-index-refresh/agents/openai.yaml +4 -0
- package/template/.trae/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +24 -0
- package/template/.trae/skills/yss-stage-decision/SKILL.md +2 -1
- package/template/.trae/skills/yss-ui/SKILL.md +2 -1
- package/template/.trae/skills/yss-ui/assets/docs/guide/llms.md +0 -61
- package/template/.trae/skills/yss-up-springboot3/SKILL.md +1 -1
- package/template/.trae/skills/yss-userinfo/SKILL.md +1 -1
- package/template/.trae/skills/yss-userinfo/references/source-index.md +1 -1
- package/template/.trae/skills/yss-validation/SKILL.md +1 -1
- package/template/.trae/skills/yss-validation/references/source-index.md +1 -1
- package/template/.trae/skills/yss-web-controller/SKILL.md +17 -11
- package/template/.trae/skills/yss-web-controller/agents/openai.yaml +2 -2
- package/template/.trae/skills/yss-web-controller/assets/templates/Controller.java.template +11 -11
- package/template/.trae/skills/yss-web-controller/assets/templates/WebConvertor.java.template +4 -7
- package/template/.trae/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +2 -2
- package/template/.trae/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +4 -7
- package/template/.trae/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +2 -2
- package/template/.trae/skills/yss-web-controller/references/web-adapter-layer-guide.md +6 -4
- package/template/.trae/skills/yss-web-controller/references/web-generation-contract.schema.json +97 -0
- package/template/.trae/skills/yss-web-controller/scripts/generate_controller.mjs +141 -20
- package/template/.trae/skills/yss-web-controller/scripts/generate_controller.test.mjs +131 -35
- package/template/AGENTS.md +13 -13
- package/template/CONTEXT.md +9 -8
- package/template/README.md +0 -1
- package/template/docs/agents/digital-human-roles.md +3 -3
- package/template/docs/agents/digital-human-roles.yaml +5 -5
- package/template/docs/agents/skill-migrations.md +18 -5
- package/template/docs/agents/skills-maintenance.md +3 -3
- package/template/docs/agents/strategic-design-skills-integration.md +41 -0
- package/template/docs/agents/yss-skill-registry.yaml +137 -16
- package/template/docs/api/templates/openapi-draft-review-checklist.md +3 -3
- package/template/docs/architecture/templates/engineering-baseline-review-template.md +3 -3
- package/template/docs/design/README.md +7 -7
- package/template/docs/design/design.md +25 -17
- package/template/docs/design/templates/interaction-spec-template.md +4 -4
- package/template/docs/design/templates/prototype-confirmation-template.md +13 -15
- package/template/docs/design/templates/prototype-evidence-template.yaml +99 -75
- package/template/docs/design/templates/prototype-review-checklist.md +5 -4
- package/template/docs/design/templates/state-matrix-template.md +11 -0
- package/template/docs/discovery/reports/agent-governance-options.md +8 -8
- package/template/docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md +2 -1
- package/template/docs/process/implementation-repo-integration.md +1 -1
- package/template/docs/process/lifecycle-artifact-map.md +4 -2
- package/template/docs/process/lifecycle-registry-baseline.json +4 -1
- package/template/docs/process/lifecycle-registry.yaml +15 -9
- package/template/docs/process/template-engineering-overview.md +2 -2
- package/template/docs/process/template-verification-profiles.yaml +27 -6
- package/template/docs/templates/build-architecture-checklist-template.md +6 -6
- package/template/docs/templates/implementation-routing-template.md +8 -8
- package/template/docs/templates/requirement-freeze-template.md +2 -2
- package/template/docs/templates/review-report-template.md +4 -4
- package/template/docs/templates/spec-template.md +1 -1
- package/template/docs/templates/vertical-slice-ticket-template.md +4 -4
- package/template/docs/user-guide/yss-ui-mcp.md +0 -2
- package/template/docs/user-guide//346/210/230/346/234/257/350/256/276/350/256/241/345/255/220/351/241/271/347/233/256/347/224/250/346/210/267/346/211/213/345/206/214.md +2 -2
- package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +5 -5
- package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214/347/264/242/345/274/225.md +4 -4
- package/template/scripts/audit-yss-backend-skills +56 -0
- package/template/scripts/generate-yss-skill-boundaries +67 -0
- package/template/scripts/lib/export-skills.mjs +4 -4
- package/template/scripts/lib/implementation-contract-compiler.mjs +194 -0
- package/template/scripts/lib/scenario-checks.mjs +17 -10
- package/template/scripts/lib/skill-governance.mjs +27 -5
- package/template/scripts/lib/skill-registry.mjs +129 -41
- package/template/scripts/lib/skill-supply-chain.mjs +47 -6
- package/template/scripts/verify-repository-scope-scenarios +2 -2
- package/template/scripts/verify-retired-skill-ids +37 -0
- package/template/scripts/verify-scaffold-generator-scenarios +18 -18
- package/template/scripts/verify-template-verification-scenarios +4 -1
- package/template/scripts/verify-yss-dto-openapi-profile +8 -0
- package/template/scripts/verify-yss-implementation-contract-compiler-scenarios +14 -0
- package/template/skills-lock.json +101 -171
- package/template/yss-public-skills.json +4 -4
- package/template.manifest.json +0 -3
- package/template.snapshot.json +5 -5
- package/template/.agents/skills/research/SKILL.md +0 -12
- package/template/.agents/skills/research/agents/openai.yaml +0 -3
- package/template/.agents/skills/yss-router/SKILL.md +0 -51
- package/template/.agents/skills/yss-router/agents/openai.yaml +0 -4
- package/template/.agents/skills/yss-router/references/boundaries.md +0 -50
- package/template/.agents/skills/yss-router/references/router-contract.yaml +0 -345
- package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +0 -185
- package/template/.agents/skills/yss-router/references/yss-skill-execution-result.md +0 -67
- package/template/.agents/skills/yss-source-index/SKILL.md +0 -63
- package/template/.agents/skills/yss-source-index/agents/openai.yaml +0 -4
- package/template/.agents/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
- package/template/.claude/skills/research/SKILL.md +0 -12
- package/template/.claude/skills/research/agents/openai.yaml +0 -3
- package/template/.claude/skills/yss-router/SKILL.md +0 -51
- package/template/.claude/skills/yss-router/agents/openai.yaml +0 -4
- package/template/.claude/skills/yss-router/references/boundaries.md +0 -50
- package/template/.claude/skills/yss-router/references/router-contract.yaml +0 -345
- package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +0 -185
- package/template/.claude/skills/yss-router/references/yss-skill-execution-result.md +0 -67
- package/template/.claude/skills/yss-source-index/SKILL.md +0 -63
- package/template/.claude/skills/yss-source-index/agents/openai.yaml +0 -4
- package/template/.claude/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
- package/template/.codex/skills/research/SKILL.md +0 -12
- package/template/.codex/skills/research/agents/openai.yaml +0 -3
- package/template/.codex/skills/yss-router/SKILL.md +0 -51
- package/template/.codex/skills/yss-router/agents/openai.yaml +0 -4
- package/template/.codex/skills/yss-router/references/boundaries.md +0 -50
- package/template/.codex/skills/yss-router/references/router-contract.yaml +0 -345
- package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +0 -185
- package/template/.codex/skills/yss-router/references/yss-skill-execution-result.md +0 -67
- package/template/.codex/skills/yss-source-index/SKILL.md +0 -63
- package/template/.codex/skills/yss-source-index/agents/openai.yaml +0 -4
- package/template/.codex/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
- package/template/.cursor/skills/research/SKILL.md +0 -12
- package/template/.cursor/skills/research/agents/openai.yaml +0 -3
- package/template/.cursor/skills/yss-router/SKILL.md +0 -51
- package/template/.cursor/skills/yss-router/agents/openai.yaml +0 -4
- package/template/.cursor/skills/yss-router/references/boundaries.md +0 -50
- package/template/.cursor/skills/yss-router/references/router-contract.yaml +0 -345
- package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +0 -185
- package/template/.cursor/skills/yss-router/references/yss-skill-execution-result.md +0 -67
- package/template/.cursor/skills/yss-source-index/SKILL.md +0 -63
- package/template/.cursor/skills/yss-source-index/agents/openai.yaml +0 -4
- package/template/.cursor/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
- package/template/.gemini/settings.json +0 -8
- package/template/.hermes/skills/alibaba-java-code-style/SKILL.md +0 -51
- package/template/.hermes/skills/alibaba-java-code-style/agents/openai.yaml +0 -4
- package/template/.hermes/skills/alibaba-java-code-style/references/database-engineering-design.md +0 -147
- package/template/.hermes/skills/alibaba-java-code-style/references/java-programming.md +0 -178
- package/template/.hermes/skills/alibaba-java-code-style/references/reliability-test-security.md +0 -89
- package/template/.hermes/skills/archify/LICENSE +0 -22
- package/template/.hermes/skills/archify/SKILL.md +0 -156
- package/template/.hermes/skills/archify/assets/template.html +0 -14787
- package/template/.hermes/skills/archify/bin/archify.mjs +0 -1990
- package/template/.hermes/skills/archify/bin/open-artifact.mjs +0 -86
- package/template/.hermes/skills/archify/bin/preview.mjs +0 -648
- package/template/.hermes/skills/archify/bin/visual-check.mjs +0 -829
- package/template/.hermes/skills/archify/brand-marks/README.md +0 -31
- package/template/.hermes/skills/archify/brand-marks/catalog.json +0 -131
- package/template/.hermes/skills/archify/delta/architecture-delta.mjs +0 -1214
- package/template/.hermes/skills/archify/examples/agent-run.lifecycle.json +0 -71
- package/template/.hermes/skills/archify/examples/agent-tool-call.workflow.json +0 -94
- package/template/.hermes/skills/archify/examples/async-job-roundtrip.sequence.json +0 -61
- package/template/.hermes/skills/archify/examples/brand-aware-delivery.architecture.json +0 -47
- package/template/.hermes/skills/archify/examples/cache-miss-request.sequence.json +0 -81
- package/template/.hermes/skills/archify/examples/checkout-platform.base.architecture.json +0 -31
- package/template/.hermes/skills/archify/examples/checkout-platform.head.architecture.json +0 -31
- package/template/.hermes/skills/archify/examples/dataflow-product-analytics.html +0 -14898
- package/template/.hermes/skills/archify/examples/deployment-release.lifecycle.json +0 -49
- package/template/.hermes/skills/archify/examples/event-stream.dataflow.json +0 -57
- package/template/.hermes/skills/archify/examples/incident-response.workflow.json +0 -64
- package/template/.hermes/skills/archify/examples/lifecycle-agent-run.html +0 -14847
- package/template/.hermes/skills/archify/examples/product-analytics.dataflow.json +0 -76
- package/template/.hermes/skills/archify/examples/production-deployment.architecture.json +0 -71
- package/template/.hermes/skills/archify/examples/release-delivery.workflow.json +0 -62
- package/template/.hermes/skills/archify/examples/sequence-cache-miss-request.html +0 -14913
- package/template/.hermes/skills/archify/examples/web-app-rendered.html +0 -14862
- package/template/.hermes/skills/archify/examples/web-app.architecture.json +0 -46
- package/template/.hermes/skills/archify/examples/workflow-agent-tool-call-rendered.html +0 -14904
- package/template/.hermes/skills/archify/migrations/workflow-v2.mjs +0 -279
- package/template/.hermes/skills/archify/package-lock.json +0 -149
- package/template/.hermes/skills/archify/package.json +0 -37
- package/template/.hermes/skills/archify/recipes/scenarios.mjs +0 -391
- package/template/.hermes/skills/archify/references/authoring-contract.md +0 -191
- package/template/.hermes/skills/archify/references/brand-marks.md +0 -65
- package/template/.hermes/skills/archify/references/delivery-contract.md +0 -112
- package/template/.hermes/skills/archify/references/viewer-runtime.md +0 -45
- package/template/.hermes/skills/archify/renderers/architecture/grid.mjs +0 -62
- package/template/.hermes/skills/archify/renderers/architecture/render-architecture.mjs +0 -1078
- package/template/.hermes/skills/archify/renderers/dataflow/README.md +0 -104
- package/template/.hermes/skills/archify/renderers/dataflow/render-dataflow.mjs +0 -483
- package/template/.hermes/skills/archify/renderers/lifecycle/README.md +0 -115
- package/template/.hermes/skills/archify/renderers/lifecycle/render-lifecycle.mjs +0 -561
- package/template/.hermes/skills/archify/renderers/sequence/README.md +0 -114
- package/template/.hermes/skills/archify/renderers/sequence/render-sequence.mjs +0 -453
- package/template/.hermes/skills/archify/renderers/shared/brand-marks.mjs +0 -563
- package/template/.hermes/skills/archify/renderers/shared/cli.mjs +0 -218
- package/template/.hermes/skills/archify/renderers/shared/desktop-readability.mjs +0 -26
- package/template/.hermes/skills/archify/renderers/shared/diagnostics.mjs +0 -127
- package/template/.hermes/skills/archify/renderers/shared/engineering-profiles.mjs +0 -157
- package/template/.hermes/skills/archify/renderers/shared/generated-brand-marks.mjs +0 -2003
- package/template/.hermes/skills/archify/renderers/shared/generated-validators.mjs +0 -13
- package/template/.hermes/skills/archify/renderers/shared/geometry.mjs +0 -1423
- package/template/.hermes/skills/archify/renderers/shared/i18n.mjs +0 -594
- package/template/.hermes/skills/archify/renderers/shared/layout-report.mjs +0 -40
- package/template/.hermes/skills/archify/renderers/shared/legend.mjs +0 -217
- package/template/.hermes/skills/archify/renderers/shared/output-path.mjs +0 -321
- package/template/.hermes/skills/archify/renderers/shared/repository-evidence.mjs +0 -235
- package/template/.hermes/skills/archify/renderers/shared/text-fit.mjs +0 -49
- package/template/.hermes/skills/archify/renderers/shared/utils.mjs +0 -232
- package/template/.hermes/skills/archify/renderers/shared/validator.mjs +0 -86
- package/template/.hermes/skills/archify/renderers/workflow/README.md +0 -223
- package/template/.hermes/skills/archify/renderers/workflow/render-workflow.mjs +0 -35
- package/template/.hermes/skills/archify/renderers/workflow/workflow-compiler.mjs +0 -4400
- package/template/.hermes/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +0 -144
- package/template/.hermes/skills/archify/schemas/README.md +0 -211
- package/template/.hermes/skills/archify/schemas/architecture.schema.json +0 -176
- package/template/.hermes/skills/archify/schemas/common.schema.json +0 -115
- package/template/.hermes/skills/archify/schemas/dataflow.schema.json +0 -243
- package/template/.hermes/skills/archify/schemas/lifecycle.schema.json +0 -266
- package/template/.hermes/skills/archify/schemas/sequence.schema.json +0 -223
- package/template/.hermes/skills/archify/schemas/workflow.schema.json +0 -428
- package/template/.hermes/skills/archify/scripts/check-render-output.mjs +0 -835
- package/template/.hermes/skills/archify/scripts/check-update.mjs +0 -1667
- package/template/.hermes/skills/archify/scripts/generate-brand-marks.mjs +0 -141
- package/template/.hermes/skills/archify/scripts/generate-validators.mjs +0 -66
- package/template/.hermes/skills/archify/scripts/render-examples.mjs +0 -26
- package/template/.hermes/skills/archify/scripts/update-contract.mjs +0 -182
- package/template/.hermes/skills/archify/scripts/yss-safe-deliver.mjs +0 -214
- package/template/.hermes/skills/archify/skill-release.json +0 -10
- package/template/.hermes/skills/archify/test/adaptive-reader-layout.test.mjs +0 -86
- package/template/.hermes/skills/archify/test/animation.test.mjs +0 -179
- package/template/.hermes/skills/archify/test/architecture-delta.test.mjs +0 -518
- package/template/.hermes/skills/archify/test/authored-reachability.test.mjs +0 -95
- package/template/.hermes/skills/archify/test/authoring-safety-contract.test.mjs +0 -54
- package/template/.hermes/skills/archify/test/automatic-port-spread.test.mjs +0 -376
- package/template/.hermes/skills/archify/test/base-input-compatibility.test.mjs +0 -42
- package/template/.hermes/skills/archify/test/brand-marks.test.mjs +0 -654
- package/template/.hermes/skills/archify/test/chapter-delta-preview.test.mjs +0 -157
- package/template/.hermes/skills/archify/test/chapter-handoff.test.mjs +0 -97
- package/template/.hermes/skills/archify/test/chapter-rail.test.mjs +0 -86
- package/template/.hermes/skills/archify/test/checkout-line-endings.test.mjs +0 -72
- package/template/.hermes/skills/archify/test/clean-skill-staging.test.mjs +0 -244
- package/template/.hermes/skills/archify/test/cli.test.mjs +0 -809
- package/template/.hermes/skills/archify/test/community-proof-intake.test.mjs +0 -104
- package/template/.hermes/skills/archify/test/cursor-onboarding.test.mjs +0 -74
- package/template/.hermes/skills/archify/test/degraded.test.mjs +0 -161
- package/template/.hermes/skills/archify/test/delivery-contract.test.mjs +0 -52
- package/template/.hermes/skills/archify/test/desktop-reader-browser.test.mjs +0 -58
- package/template/.hermes/skills/archify/test/diagram-guide.test.mjs +0 -92
- package/template/.hermes/skills/archify/test/engineering-profile.test.mjs +0 -209
- package/template/.hermes/skills/archify/test/finder.test.mjs +0 -104
- package/template/.hermes/skills/archify/test/fixtures/automatic-routing-node-border-clearance.workflow.json +0 -40
- package/template/.hermes/skills/archify/test/fixtures/fail-migration-cleanup.mjs +0 -17
- package/template/.hermes/skills/archify/test/fixtures/issue-126/custom-widths.workflow.json +0 -18
- package/template/.hermes/skills/archify/test/fixtures/issue-126/explicit-route.workflow.json +0 -28
- package/template/.hermes/skills/archify/test/fixtures/issue-126/explicit-viewbox.workflow.json +0 -19
- package/template/.hermes/skills/archify/test/fixtures/issue-126/labels.workflow.json +0 -18
- package/template/.hermes/skills/archify/test/fixtures/v1-baseline/agent-run.lifecycle.json +0 -64
- package/template/.hermes/skills/archify/test/fixtures/v1-baseline/agent-tool-call.workflow.json +0 -88
- package/template/.hermes/skills/archify/test/fixtures/v1-baseline/cache-miss-request.sequence.json +0 -75
- package/template/.hermes/skills/archify/test/fixtures/v1-baseline/event-stream.dataflow.json +0 -57
- package/template/.hermes/skills/archify/test/fixtures/v1-baseline/product-analytics.dataflow.json +0 -70
- package/template/.hermes/skills/archify/test/fixtures/v1-baseline/production-deployment.architecture.json +0 -71
- package/template/.hermes/skills/archify/test/fixtures/v1-baseline/web-app.architecture.json +0 -41
- package/template/.hermes/skills/archify/test/fixtures/v1-workflow-700x400.workflow.json +0 -22
- package/template/.hermes/skills/archify/test/fixtures/v1-workflow-explicit-coordinates.workflow.json +0 -47
- package/template/.hermes/skills/archify/test/gallery.test.mjs +0 -130
- package/template/.hermes/skills/archify/test/generate-validators.test.mjs +0 -59
- package/template/.hermes/skills/archify/test/generated-artifact-xml.test.mjs +0 -88
- package/template/.hermes/skills/archify/test/geometry.test.mjs +0 -739
- package/template/.hermes/skills/archify/test/golden.mjs +0 -207
- package/template/.hermes/skills/archify/test/grid.test.mjs +0 -47
- package/template/.hermes/skills/archify/test/guide-page.test.mjs +0 -59
- package/template/.hermes/skills/archify/test/guide.test.mjs +0 -81
- package/template/.hermes/skills/archify/test/guided-views.test.mjs +0 -144
- package/template/.hermes/skills/archify/test/helpers/xml.mjs +0 -37
- package/template/.hermes/skills/archify/test/i18n.test.mjs +0 -422
- package/template/.hermes/skills/archify/test/intent-trace.test.mjs +0 -111
- package/template/.hermes/skills/archify/test/landing.test.mjs +0 -97
- package/template/.hermes/skills/archify/test/layout-rules.test.mjs +0 -1449
- package/template/.hermes/skills/archify/test/legend-contract.test.mjs +0 -404
- package/template/.hermes/skills/archify/test/motion-governor.test.mjs +0 -111
- package/template/.hermes/skills/archify/test/open-artifact.test.mjs +0 -118
- package/template/.hermes/skills/archify/test/ordinary-model-floor.test.mjs +0 -1024
- package/template/.hermes/skills/archify/test/output-path.test.mjs +0 -587
- package/template/.hermes/skills/archify/test/presentation.test.mjs +0 -71
- package/template/.hermes/skills/archify/test/preset-tryon.test.mjs +0 -113
- package/template/.hermes/skills/archify/test/preview-contract.test.mjs +0 -40
- package/template/.hermes/skills/archify/test/preview.test.mjs +0 -499
- package/template/.hermes/skills/archify/test/proof-aperture.test.mjs +0 -78
- package/template/.hermes/skills/archify/test/reach-share-card.test.mjs +0 -149
- package/template/.hermes/skills/archify/test/readme-showcase.test.mjs +0 -318
- package/template/.hermes/skills/archify/test/real-repository-proof.test.mjs +0 -209
- package/template/.hermes/skills/archify/test/relationship-direct-explorer.test.mjs +0 -115
- package/template/.hermes/skills/archify/test/relationship-lens.test.mjs +0 -128
- package/template/.hermes/skills/archify/test/relationship-permalink.test.mjs +0 -130
- package/template/.hermes/skills/archify/test/relationship-pulse.test.mjs +0 -122
- package/template/.hermes/skills/archify/test/release-identity.test.mjs +0 -504
- package/template/.hermes/skills/archify/test/release-package-gates.test.mjs +0 -508
- package/template/.hermes/skills/archify/test/render-output-checks.test.mjs +0 -435
- package/template/.hermes/skills/archify/test/repair-receipt.test.mjs +0 -181
- package/template/.hermes/skills/archify/test/repository-evidence.test.mjs +0 -217
- package/template/.hermes/skills/archify/test/repository-language-metadata.test.mjs +0 -52
- package/template/.hermes/skills/archify/test/route-journey.test.mjs +0 -123
- package/template/.hermes/skills/archify/test/route-probe.test.mjs +0 -114
- package/template/.hermes/skills/archify/test/route-share-card.test.mjs +0 -163
- package/template/.hermes/skills/archify/test/semantic-camera.test.mjs +0 -88
- package/template/.hermes/skills/archify/test/semantic-flow.test.mjs +0 -90
- package/template/.hermes/skills/archify/test/semantic-legend-gateway.test.mjs +0 -156
- package/template/.hermes/skills/archify/test/semantic-lens.test.mjs +0 -103
- package/template/.hermes/skills/archify/test/semantic-passport.test.mjs +0 -99
- package/template/.hermes/skills/archify/test/semantic-radar.test.mjs +0 -575
- package/template/.hermes/skills/archify/test/semantic-zoom.test.mjs +0 -86
- package/template/.hermes/skills/archify/test/sequence-column-fit.test.mjs +0 -137
- package/template/.hermes/skills/archify/test/settled-flow.test.mjs +0 -97
- package/template/.hermes/skills/archify/test/share-card-export.test.mjs +0 -132
- package/template/.hermes/skills/archify/test/site-language-continuity.test.mjs +0 -562
- package/template/.hermes/skills/archify/test/site-language-integration.mjs +0 -9
- package/template/.hermes/skills/archify/test/skill-metadata.test.mjs +0 -84
- package/template/.hermes/skills/archify/test/stable-update-manifest.test.mjs +0 -167
- package/template/.hermes/skills/archify/test/start-page.test.mjs +0 -312
- package/template/.hermes/skills/archify/test/story-beat-navigator.test.mjs +0 -103
- package/template/.hermes/skills/archify/test/story-carrier.test.mjs +0 -90
- package/template/.hermes/skills/archify/test/story-director-strip.test.mjs +0 -91
- package/template/.hermes/skills/archify/test/story-follow-camera.test.mjs +0 -103
- package/template/.hermes/skills/archify/test/story-horizon.test.mjs +0 -89
- package/template/.hermes/skills/archify/test/story-moment-link.test.mjs +0 -93
- package/template/.hermes/skills/archify/test/story-shelf.test.mjs +0 -84
- package/template/.hermes/skills/archify/test/story-trail.test.mjs +0 -81
- package/template/.hermes/skills/archify/test/toolbar-polish.test.mjs +0 -57
- package/template/.hermes/skills/archify/test/update-contract.test.mjs +0 -133
- package/template/.hermes/skills/archify/test/update-notifier.test.mjs +0 -3317
- package/template/.hermes/skills/archify/test/v1-compatibility.test.mjs +0 -329
- package/template/.hermes/skills/archify/test/vertical-edge.test.mjs +0 -68
- package/template/.hermes/skills/archify/test/viewer-chrome-layout.test.mjs +0 -872
- package/template/.hermes/skills/archify/test/visual-check.test.mjs +0 -400
- package/template/.hermes/skills/archify/test/webm-artifact.smoke.mjs +0 -1840
- package/template/.hermes/skills/archify/test/workflow-compiler-hard-contract.test.mjs +0 -2135
- package/template/.hermes/skills/archify/test/workflow-compiler.test.mjs +0 -1163
- package/template/.hermes/skills/archify/test/workflow-migration.test.mjs +0 -620
- package/template/.hermes/skills/archify/test/workflow-semantic-contract.test.mjs +0 -131
- package/template/.hermes/skills/archify/test/yss-safe-deliver.test.mjs +0 -153
- package/template/.hermes/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
- package/template/.hermes/skills/ask-matt/SKILL.md +0 -95
- package/template/.hermes/skills/ask-matt/agents/openai.yaml +0 -5
- package/template/.hermes/skills/code-review/SKILL.md +0 -122
- package/template/.hermes/skills/code-review/agents/openai.yaml +0 -3
- package/template/.hermes/skills/code-review/references/yss-review-standards.md +0 -54
- package/template/.hermes/skills/codebase-design/DEEPENING.md +0 -37
- package/template/.hermes/skills/codebase-design/DESIGN-IT-TWICE.md +0 -44
- package/template/.hermes/skills/codebase-design/SKILL.md +0 -118
- package/template/.hermes/skills/codebase-design/agents/openai.yaml +0 -3
- package/template/.hermes/skills/competitive-intelligence/SKILL.md +0 -94
- package/template/.hermes/skills/component-selection-imports/SKILL.md +0 -64
- package/template/.hermes/skills/cross-repo-implementation-routing/SKILL.md +0 -51
- package/template/.hermes/skills/diagnosing-bugs/SKILL.md +0 -138
- package/template/.hermes/skills/diagnosing-bugs/agents/openai.yaml +0 -3
- package/template/.hermes/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +0 -44
- package/template/.hermes/skills/dispatching-parallel-agents/SKILL.md +0 -185
- package/template/.hermes/skills/domain-modeling/ADR-FORMAT.md +0 -47
- package/template/.hermes/skills/domain-modeling/CONTEXT-FORMAT.md +0 -60
- package/template/.hermes/skills/domain-modeling/SKILL.md +0 -74
- package/template/.hermes/skills/domain-modeling/agents/openai.yaml +0 -3
- package/template/.hermes/skills/file-export-download/SKILL.md +0 -160
- package/template/.hermes/skills/file-export-download/agents/openai.yaml +0 -4
- package/template/.hermes/skills/formily-foundation/SKILL.md +0 -176
- package/template/.hermes/skills/formily-foundation/references/examples.md +0 -486
- package/template/.hermes/skills/formily-linkage-effects/SKILL.md +0 -167
- package/template/.hermes/skills/formily-mode-slot-detail/SKILL.md +0 -137
- package/template/.hermes/skills/formily-step-flow/SKILL.md +0 -194
- package/template/.hermes/skills/frontend-commit/SKILL.md +0 -118
- package/template/.hermes/skills/frontend-commit/agents/openai.yaml +0 -7
- package/template/.hermes/skills/frontend-commit/references/scope-and-examples.md +0 -111
- package/template/.hermes/skills/grill-me/SKILL.md +0 -7
- package/template/.hermes/skills/grill-me/agents/openai.yaml +0 -5
- package/template/.hermes/skills/grill-with-docs/SKILL.md +0 -19
- package/template/.hermes/skills/grill-with-docs/agents/openai.yaml +0 -5
- package/template/.hermes/skills/grilling/SKILL.md +0 -28
- package/template/.hermes/skills/grilling/agents/openai.yaml +0 -3
- package/template/.hermes/skills/handoff/SKILL.md +0 -16
- package/template/.hermes/skills/handoff/agents/openai.yaml +0 -5
- package/template/.hermes/skills/implement/SKILL.md +0 -15
- package/template/.hermes/skills/implement/agents/openai.yaml +0 -5
- package/template/.hermes/skills/implementation-repo-onboarding/SKILL.md +0 -50
- package/template/.hermes/skills/improve-codebase-architecture/HTML-REPORT.md +0 -123
- package/template/.hermes/skills/improve-codebase-architecture/SKILL.md +0 -71
- package/template/.hermes/skills/improve-codebase-architecture/agents/openai.yaml +0 -5
- package/template/.hermes/skills/java-backend-commit/SKILL.md +0 -121
- package/template/.hermes/skills/java-backend-commit/agents/openai.yaml +0 -7
- package/template/.hermes/skills/java-backend-commit/references/scope-and-examples.md +0 -118
- package/template/.hermes/skills/llm-wiki/SKILL.md +0 -60
- package/template/.hermes/skills/llm-wiki/assets/CLAUDE.md.template +0 -26
- package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/CLAUDE.md +0 -3
- package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/index.md +0 -5
- package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki/log.md +0 -1
- package/template/.hermes/skills/llm-wiki/assets/fixtures/broken-wiki/wiki//345/255/230/345/234/250/347/232/204/351/241/265.md +0 -7
- package/template/.hermes/skills/llm-wiki/references/compile.md +0 -126
- package/template/.hermes/skills/llm-wiki/references/discover.md +0 -42
- package/template/.hermes/skills/llm-wiki/references/ingest.md +0 -36
- package/template/.hermes/skills/llm-wiki/references/lint.md +0 -54
- package/template/.hermes/skills/llm-wiki/references/query.md +0 -21
- package/template/.hermes/skills/llm-wiki/references/schema.md +0 -45
- package/template/.hermes/skills/llm-wiki/references/writing.md +0 -35
- package/template/.hermes/skills/llm-wiki/scripts/advise.mjs +0 -196
- package/template/.hermes/skills/llm-wiki/scripts/advise.test.mjs +0 -91
- package/template/.hermes/skills/llm-wiki/scripts/extract.mjs +0 -55
- package/template/.hermes/skills/llm-wiki/scripts/extract.test.mjs +0 -34
- package/template/.hermes/skills/llm-wiki/scripts/inventory.mjs +0 -174
- package/template/.hermes/skills/llm-wiki/scripts/inventory.test.mjs +0 -98
- package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.mjs +0 -177
- package/template/.hermes/skills/llm-wiki/scripts/lint-wikilinks.test.mjs +0 -212
- package/template/.hermes/skills/lombok/SKILL.md +0 -351
- package/template/.hermes/skills/loop-me/SKILL.md +0 -32
- package/template/.hermes/skills/loop-me/agents/openai.yaml +0 -5
- package/template/.hermes/skills/maintaining-skills/SKILL.md +0 -27
- package/template/.hermes/skills/mapstruct/SKILL.md +0 -334
- package/template/.hermes/skills/migrate-to-shoehorn/SKILL.md +0 -118
- package/template/.hermes/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
- package/template/.hermes/skills/page-form-module/SKILL.md +0 -168
- package/template/.hermes/skills/page-list-module/SKILL.md +0 -137
- package/template/.hermes/skills/page-skeleton/SKILL.md +0 -76
- package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/constant.ts +0 -34
- package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -75
- package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/index.vue +0 -107
- package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.hermes/skills/page-skeleton/examples/AdvancedFormPage/style.less +0 -30
- package/template/.hermes/skills/page-skeleton/examples/StandardListPage/constant.ts +0 -28
- package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -58
- package/template/.hermes/skills/page-skeleton/examples/StandardListPage/hooks/useRuleActions.ts +0 -65
- package/template/.hermes/skills/page-skeleton/examples/StandardListPage/index.vue +0 -91
- package/template/.hermes/skills/page-skeleton/examples/StandardListPage/style.less +0 -49
- package/template/.hermes/skills/prototype/LOGIC.md +0 -67
- package/template/.hermes/skills/prototype/SKILL.md +0 -26
- package/template/.hermes/skills/prototype/UI.md +0 -112
- package/template/.hermes/skills/prototype/agents/openai.yaml +0 -3
- package/template/.hermes/skills/prototype-page-acceptance/SKILL.md +0 -62
- package/template/.hermes/skills/prototype-review/SKILL.md +0 -74
- package/template/.hermes/skills/prototype-review/agents/openai.yaml +0 -4
- package/template/.hermes/skills/research/SKILL.md +0 -12
- package/template/.hermes/skills/research/agents/openai.yaml +0 -3
- package/template/.hermes/skills/resolving-merge-conflicts/SKILL.md +0 -14
- package/template/.hermes/skills/resolving-merge-conflicts/agents/openai.yaml +0 -3
- package/template/.hermes/skills/scaffold-exercises/SKILL.md +0 -106
- package/template/.hermes/skills/scaffold-exercises/agents/openai.yaml +0 -3
- package/template/.hermes/skills/setup-matt-pocock-skills/SKILL.md +0 -125
- package/template/.hermes/skills/setup-matt-pocock-skills/agents/openai.yaml +0 -5
- package/template/.hermes/skills/setup-matt-pocock-skills/domain.md +0 -51
- package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-github.md +0 -45
- package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +0 -46
- package/template/.hermes/skills/setup-matt-pocock-skills/issue-tracker-local.md +0 -66
- package/template/.hermes/skills/setup-matt-pocock-skills/triage-labels.md +0 -15
- package/template/.hermes/skills/setup-pre-commit/SKILL.md +0 -91
- package/template/.hermes/skills/setup-pre-commit/agents/openai.yaml +0 -3
- package/template/.hermes/skills/setup-ts-deep-modules/SKILL.md +0 -102
- package/template/.hermes/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
- package/template/.hermes/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
- package/template/.hermes/skills/tdd/SKILL.md +0 -38
- package/template/.hermes/skills/tdd/agents/openai.yaml +0 -3
- package/template/.hermes/skills/tdd/mocking.md +0 -59
- package/template/.hermes/skills/tdd/tests.md +0 -77
- package/template/.hermes/skills/teach/GLOSSARY-FORMAT.md +0 -35
- package/template/.hermes/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
- package/template/.hermes/skills/teach/MISSION-FORMAT.md +0 -31
- package/template/.hermes/skills/teach/RESOURCES-FORMAT.md +0 -32
- package/template/.hermes/skills/teach/SKILL.md +0 -140
- package/template/.hermes/skills/teach/agents/openai.yaml +0 -5
- package/template/.hermes/skills/theme-token-usage/SKILL.md +0 -123
- package/template/.hermes/skills/theme-token-usage/agents/openai.yaml +0 -4
- package/template/.hermes/skills/to-questionnaire/SKILL.md +0 -53
- package/template/.hermes/skills/to-questionnaire/agents/openai.yaml +0 -5
- package/template/.hermes/skills/to-spec/SKILL.md +0 -75
- package/template/.hermes/skills/to-spec/agents/openai.yaml +0 -5
- package/template/.hermes/skills/to-tickets/SKILL.md +0 -105
- package/template/.hermes/skills/to-tickets/agents/openai.yaml +0 -5
- package/template/.hermes/skills/triage/AGENT-BRIEF.md +0 -207
- package/template/.hermes/skills/triage/OUT-OF-SCOPE.md +0 -105
- package/template/.hermes/skills/triage/SKILL.md +0 -112
- package/template/.hermes/skills/triage/agents/openai.yaml +0 -5
- package/template/.hermes/skills/using-git-worktrees/SKILL.md +0 -202
- package/template/.hermes/skills/vue3-best-practices/SKILL.md +0 -68
- package/template/.hermes/skills/wait-what/SKILL.md +0 -7
- package/template/.hermes/skills/wait-what/agents/openai.yaml +0 -5
- package/template/.hermes/skills/wayfinder/SKILL.md +0 -128
- package/template/.hermes/skills/wayfinder/agents/openai.yaml +0 -5
- package/template/.hermes/skills/writing-beats/SKILL.md +0 -67
- package/template/.hermes/skills/writing-beats/agents/openai.yaml +0 -5
- package/template/.hermes/skills/writing-for-agents/SKILL-MECHANICS.md +0 -22
- package/template/.hermes/skills/writing-for-agents/SKILL.md +0 -81
- package/template/.hermes/skills/writing-for-agents/agents/openai.yaml +0 -3
- package/template/.hermes/skills/writing-fragments/SKILL.md +0 -79
- package/template/.hermes/skills/writing-fragments/agents/openai.yaml +0 -5
- package/template/.hermes/skills/writing-shape/SKILL.md +0 -79
- package/template/.hermes/skills/writing-shape/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yedit-table-usage/SKILL.md +0 -227
- package/template/.hermes/skills/yss-antd-design/SKILL.md +0 -34
- package/template/.hermes/skills/yss-antd-design/references/boundaries.md +0 -30
- package/template/.hermes/skills/yss-antd-design/references/cli-matrix.md +0 -38
- package/template/.hermes/skills/yss-antd-design/references/evidence.md +0 -30
- package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.mjs +0 -46
- package/template/.hermes/skills/yss-antd-design/scripts/validate-frontmatter.test.mjs +0 -27
- package/template/.hermes/skills/yss-api-integration/SKILL.md +0 -185
- package/template/.hermes/skills/yss-api-integration/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-application/SKILL.md +0 -54
- package/template/.hermes/skills/yss-application/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-application/references/application-layer-guide.md +0 -87
- package/template/.hermes/skills/yss-audit-log/SKILL.md +0 -67
- package/template/.hermes/skills/yss-audit-log/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-audit-log/assets/AuditLogAspect.java +0 -262
- package/template/.hermes/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +0 -37
- package/template/.hermes/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +0 -18
- package/template/.hermes/skills/yss-audit-log/assets/YssAuditPublishService.java +0 -69
- package/template/.hermes/skills/yss-audit-log/references/README.md +0 -69
- package/template/.hermes/skills/yss-audit-log/references/source-index.md +0 -43
- package/template/.hermes/skills/yss-cache/SKILL.md +0 -44
- package/template/.hermes/skills/yss-cache/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-cache/references/annotations.md +0 -39
- package/template/.hermes/skills/yss-cache/references/architecture.md +0 -25
- package/template/.hermes/skills/yss-cache/references/configuration.md +0 -34
- package/template/.hermes/skills/yss-cache/references/redis-fallback.md +0 -23
- package/template/.hermes/skills/yss-cache/references/redis-topology.md +0 -62
- package/template/.hermes/skills/yss-cache/references/serialization.md +0 -17
- package/template/.hermes/skills/yss-cache/references/source-index.md +0 -67
- package/template/.hermes/skills/yss-cache/references/troubleshooting.md +0 -33
- package/template/.hermes/skills/yss-cache/references/verification.md +0 -34
- package/template/.hermes/skills/yss-cache/scripts/check-skill-freshness.sh +0 -84
- package/template/.hermes/skills/yss-cache/scripts/inspect-cache-usage.sh +0 -96
- package/template/.hermes/skills/yss-cache/scripts/verify-cache-component.sh +0 -101
- package/template/.hermes/skills/yss-components/SKILL.md +0 -386
- package/template/.hermes/skills/yss-components/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-components/references/frontend-docs.md +0 -9
- package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +0 -110
- package/template/.hermes/skills/yss-ddd-scaffold-generator/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/application-local.yml.template +0 -8
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -36
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/logback-spring.xml.template +0 -15
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/java/architecture-rules-test.java.template +0 -36
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/java/bootstrap-application.java.template +0 -15
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/adapter-pom.xml.template +0 -19
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/application-pom.xml.template +0 -52
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -70
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/domain-pom.xml.template +0 -22
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/infrastructure-pom.xml.template +0 -54
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/parent-pom.xml.template +0 -155
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/web-pom.xml.template +0 -58
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/jvm.config +0 -1
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/maven.config +0 -2
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/settings.xml +0 -41
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/.mvn/wrapper/maven-wrapper.properties +0 -20
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw +0 -316
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/wrapper/mvnw.cmd +0 -188
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/ARCHITECTURE.md +0 -116
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +0 -114
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/SKILL.md +0 -31
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-adapter/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/SKILL.md +0 -8
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-application/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/SKILL.md +0 -8
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-domain/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/SKILL.md +0 -8
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-infrastructure/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +0 -57
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/SKILL.md +0 -8
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-web/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +0 -191
- package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +0 -126
- package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +0 -349
- package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +0 -112
- package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +0 -388
- package/template/.hermes/skills/yss-design-system/SKILL.md +0 -105
- package/template/.hermes/skills/yss-design-system/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-design-system/references/design-qa-theme.md +0 -64
- package/template/.hermes/skills/yss-design-system/references/design-system.md +0 -245
- package/template/.hermes/skills/yss-design-system/scripts/validate-frontmatter.mjs +0 -36
- package/template/.hermes/skills/yss-design-system/scripts/validate-frontmatter.test.mjs +0 -12
- package/template/.hermes/skills/yss-distributed-id/SKILL.md +0 -69
- package/template/.hermes/skills/yss-distributed-id/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-distributed-id/assets/AutoIdInterceptor.java +0 -246
- package/template/.hermes/skills/yss-distributed-id/assets/EnableDistributedId.java +0 -25
- package/template/.hermes/skills/yss-distributed-id/assets/LeafConf.java +0 -36
- package/template/.hermes/skills/yss-distributed-id/references/README.md +0 -51
- package/template/.hermes/skills/yss-distributed-id/references/source-index.md +0 -86
- package/template/.hermes/skills/yss-domain/SKILL.md +0 -69
- package/template/.hermes/skills/yss-domain/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-domain/references/domain-layer-guide.md +0 -99
- package/template/.hermes/skills/yss-dto/SKILL.md +0 -86
- package/template/.hermes/skills/yss-dto/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-dto/assets/CommandDTO.java +0 -8
- package/template/.hermes/skills/yss-dto/assets/PageQuery.java +0 -133
- package/template/.hermes/skills/yss-dto/assets/QueryDTO.java +0 -6
- package/template/.hermes/skills/yss-dto/assets/Result.java +0 -105
- package/template/.hermes/skills/yss-dto/references/README.md +0 -67
- package/template/.hermes/skills/yss-dto/references/openapi-wire-profile.yaml +0 -181
- package/template/.hermes/skills/yss-dto/references/source-index.md +0 -55
- package/template/.hermes/skills/yss-excel-mvc/SKILL.md +0 -66
- package/template/.hermes/skills/yss-excel-mvc/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-excel-mvc/assets/ExcelDynamicData.java +0 -66
- package/template/.hermes/skills/yss-excel-mvc/assets/RequestExcel.java +0 -33
- package/template/.hermes/skills/yss-excel-mvc/assets/RequestFastExcelArgumentResolver.java +0 -272
- package/template/.hermes/skills/yss-excel-mvc/assets/ResponseExcel.java +0 -46
- package/template/.hermes/skills/yss-excel-mvc/assets/ResponseFastExcelReturnValueHandler.java +0 -154
- package/template/.hermes/skills/yss-excel-mvc/references/README.md +0 -5
- package/template/.hermes/skills/yss-excel-mvc/references/source-index.md +0 -74
- package/template/.hermes/skills/yss-exception/SKILL.md +0 -57
- package/template/.hermes/skills/yss-exception/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-exception/references/source-index.md +0 -35
- package/template/.hermes/skills/yss-formily/SKILL.md +0 -272
- package/template/.hermes/skills/yss-formily-schema-generator/SKILL.md +0 -189
- package/template/.hermes/skills/yss-formily-schema-generator/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-formily-schema-generator/assets/java-sdk/ExampleUsage.java +0 -111
- package/template/.hermes/skills/yss-formily-schema-generator/assets/java-sdk/YssFormilyDsl.java +0 -1219
- package/template/.hermes/skills/yss-formily-schema-generator/references/workflow.md +0 -240
- package/template/.hermes/skills/yss-frontend-scaffold-generator/SKILL.md +0 -76
- package/template/.hermes/skills/yss-hook/SKILL.md +0 -200
- package/template/.hermes/skills/yss-hook/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-hook/references/frontend-docs.md +0 -10
- package/template/.hermes/skills/yss-microapp-commit/SKILL.md +0 -201
- package/template/.hermes/skills/yss-microapp-commit/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
- package/template/.hermes/skills/yss-mybatis/SKILL.md +0 -77
- package/template/.hermes/skills/yss-mybatis/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-mybatis/assets/BaseRepository.java +0 -112
- package/template/.hermes/skills/yss-mybatis/assets/EntityQueryAspect.java +0 -37
- package/template/.hermes/skills/yss-mybatis/assets/MybatisBaseConfiguration.java +0 -18
- package/template/.hermes/skills/yss-mybatis/assets/PageQueryEntityConfigration.java +0 -18
- package/template/.hermes/skills/yss-mybatis/references/README.md +0 -57
- package/template/.hermes/skills/yss-mybatis/references/source-index.md +0 -93
- package/template/.hermes/skills/yss-openapi-draft-review/SKILL.md +0 -82
- package/template/.hermes/skills/yss-openapi-governance/SKILL.md +0 -130
- package/template/.hermes/skills/yss-openapi-governance/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-page-module-development/SKILL.md +0 -165
- package/template/.hermes/skills/yss-page-module-development/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
- package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
- package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
- package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.hermes/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
- package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
- package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
- package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
- package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
- package/template/.hermes/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
- package/template/.hermes/skills/yss-page-module-development/references/component-map.md +0 -34
- package/template/.hermes/skills/yss-page-module-development/references/frontend-docs.md +0 -11
- package/template/.hermes/skills/yss-page-module-development/references/hooks-map.md +0 -11
- package/template/.hermes/skills/yss-page-module-development/references/utils-map.md +0 -14
- package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +0 -52
- package/template/.hermes/skills/yss-product-lifecycle/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-product-lifecycle/references/artifact-dependencies.md +0 -36
- package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +0 -122
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +0 -863
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +0 -116
- package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +0 -112
- package/template/.hermes/skills/yss-prototype-stage/SKILL.md +0 -47
- package/template/.hermes/skills/yss-prototype-stage/references/product-design-adapter.md +0 -54
- package/template/.hermes/skills/yss-prototype-stage/scripts/prototype-contract.mjs +0 -207
- package/template/.hermes/skills/yss-prototype-stage/tests/run-scenarios.mjs +0 -154
- package/template/.hermes/skills/yss-repository/SKILL.md +0 -78
- package/template/.hermes/skills/yss-repository/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-repository/references/infrastructure-layer-guide.md +0 -107
- package/template/.hermes/skills/yss-resilience4j/SKILL.md +0 -46
- package/template/.hermes/skills/yss-resilience4j/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-resilience4j/references/source-index.md +0 -33
- package/template/.hermes/skills/yss-router/SKILL.md +0 -51
- package/template/.hermes/skills/yss-router/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-router/references/boundaries.md +0 -50
- package/template/.hermes/skills/yss-router/references/router-contract.yaml +0 -345
- package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +0 -185
- package/template/.hermes/skills/yss-router/references/yss-skill-execution-result.md +0 -67
- package/template/.hermes/skills/yss-security-algorithm/SKILL.md +0 -52
- package/template/.hermes/skills/yss-security-algorithm/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-security-algorithm/references/source-index.md +0 -35
- package/template/.hermes/skills/yss-source-index/SKILL.md +0 -63
- package/template/.hermes/skills/yss-source-index/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
- package/template/.hermes/skills/yss-stage-decision/SKILL.md +0 -50
- package/template/.hermes/skills/yss-stage-decision/references/domain-strategy-contract.md +0 -26
- package/template/.hermes/skills/yss-stage-decision/references/domain-strategy.schema.json +0 -128
- package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package-contract.md +0 -19
- package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package.schema.json +0 -86
- package/template/.hermes/skills/yss-stage-decision/references/validation-rules.md +0 -18
- package/template/.hermes/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +0 -169
- package/template/.hermes/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +0 -100
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +0 -15
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +0 -58
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +0 -44
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +0 -15
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +0 -49
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +0 -108
- package/template/.hermes/skills/yss-stage-decision/tests/run-scenarios.mjs +0 -68
- package/template/.hermes/skills/yss-tactical-design/SKILL.md +0 -35
- package/template/.hermes/skills/yss-tactical-design/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-tactical-design/references/output-template.md +0 -28
- package/template/.hermes/skills/yss-tactical-design/references/tactical-design-contract.md +0 -41
- package/template/.hermes/skills/yss-tactical-design/references/tactical-design.schema.json +0 -31
- package/template/.hermes/skills/yss-tactical-design/references/validation-rules.md +0 -13
- package/template/.hermes/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +0 -213
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +0 -21
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +0 -21
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +0 -21
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +0 -21
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +0 -21
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +0 -80
- package/template/.hermes/skills/yss-tactical-design/tests/run-scenarios.mjs +0 -47
- package/template/.hermes/skills/yss-ui/SKILL.md +0 -170
- package/template/.hermes/skills/yss-ui/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-ui/assets/demos/button/auth-basic.vue +0 -24
- package/template/.hermes/skills/yss-ui/assets/demos/button/auth-dropdown.vue +0 -29
- package/template/.hermes/skills/yss-ui/assets/demos/button/permission.vue +0 -10
- package/template/.hermes/skills/yss-ui/assets/demos/button/size.vue +0 -12
- package/template/.hermes/skills/yss-ui/assets/demos/button/states.vue +0 -12
- package/template/.hermes/skills/yss-ui/assets/demos/card/basic/index.vue +0 -54
- package/template/.hermes/skills/yss-ui/assets/demos/card/basic/style.less +0 -41
- package/template/.hermes/skills/yss-ui/assets/demos/card/cover/index.vue +0 -25
- package/template/.hermes/skills/yss-ui/assets/demos/card/flexible-layout/index.vue +0 -122
- package/template/.hermes/skills/yss-ui/assets/demos/card/flexible-layout/style.less +0 -191
- package/template/.hermes/skills/yss-ui/assets/demos/card/header-extra/index.vue +0 -260
- package/template/.hermes/skills/yss-ui/assets/demos/card/header-extra/style.less +0 -124
- package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/constants.ts +0 -61
- package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/index.vue +0 -72
- package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/metrics-cards.vue +0 -70
- package/template/.hermes/skills/yss-ui/assets/demos/card/layout-metrics/style.less +0 -232
- package/template/.hermes/skills/yss-ui/assets/demos/card/loading/index.vue +0 -19
- package/template/.hermes/skills/yss-ui/assets/demos/card/meta/index.vue +0 -19
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/constants.ts +0 -44
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/hooks/useConditionBasic.ts +0 -18
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/basic/index.vue +0 -100
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/constants.ts +0 -51
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/hooks/useConditionLinked.ts +0 -29
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/linked/index.vue +0 -23
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/constants.ts +0 -35
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/hooks/useConditionNesting.ts +0 -25
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/nesting-between/index.vue +0 -24
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/constants.ts +0 -7
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/hooks/useConditionRemote.ts +0 -75
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/remote/index.vue +0 -23
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/constants.ts +0 -42
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/hooks/useConditionBasic.ts +0 -22
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation/index.vue +0 -138
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/constants.ts +0 -42
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/hooks/useConditionBasic.ts +0 -22
- package/template/.hermes/skills/yss-ui/assets/demos/condition-builder/validation-custom/index.vue +0 -134
- package/template/.hermes/skills/yss-ui/assets/demos/cron/basic/index.vue +0 -54
- package/template/.hermes/skills/yss-ui/assets/demos/cron/select/index.vue +0 -145
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/basic.vue +0 -30
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/calendar-heatmap.vue +0 -49
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/candlestick.vue +0 -30
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/dark.vue +0 -40
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/expose-methods.vue +0 -97
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/funnel.vue +0 -42
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/gauge.vue +0 -25
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/line.vue +0 -24
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/mix.vue +0 -33
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/pie.vue +0 -34
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/radar.vue +0 -38
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/ring-segment.vue +0 -77
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/scatter.vue +0 -23
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/stacked-area.vue +0 -55
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/stacked-bar.vue +0 -52
- package/template/.hermes/skills/yss-ui/assets/demos/echarts/treemap.vue +0 -30
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/all-types/hooks/useAllTypes.ts +0 -259
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/all-types/index.vue +0 -33
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/async-remote/hooks/useAsyncRemote.ts +0 -201
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/async-remote/index.vue +0 -45
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/basic/index.vue +0 -104
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/big-data/index.vue +0 -82
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/custom-rule/index.vue +0 -114
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/direct-editable/index.vue +0 -94
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/drag/index.vue +0 -125
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/filter/index.vue +0 -107
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/linkage/index.vue +0 -181
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/pagination-action/index.vue +0 -131
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/required/index.vue +0 -95
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/row-edit/index.vue +0 -220
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/row-options/index.vue +0 -165
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/slot-linkage/index.vue +0 -184
- package/template/.hermes/skills/yss-ui/assets/demos/edit-table/submit-view/index.vue +0 -107
- package/template/.hermes/skills/yss-ui/assets/demos/file-import/basic.vue +0 -54
- package/template/.hermes/skills/yss-ui/assets/demos/file-import/formily.vue +0 -42
- package/template/.hermes/skills/yss-ui/assets/demos/file-import/multiple.vue +0 -33
- package/template/.hermes/skills/yss-ui/assets/demos/file-import/result-slot.vue +0 -30
- package/template/.hermes/skills/yss-ui/assets/demos/formily/actions.vue +0 -61
- package/template/.hermes/skills/yss-ui/assets/demos/formily/align.vue +0 -56
- package/template/.hermes/skills/yss-ui/assets/demos/formily/async-validate.vue +0 -69
- package/template/.hermes/skills/yss-ui/assets/demos/formily/basic.vue +0 -317
- package/template/.hermes/skills/yss-ui/assets/demos/formily/collapse.vue +0 -104
- package/template/.hermes/skills/yss-ui/assets/demos/formily/custom-component.vue +0 -75
- package/template/.hermes/skills/yss-ui/assets/demos/formily/disabled.vue +0 -71
- package/template/.hermes/skills/yss-ui/assets/demos/formily/dynamic-array.vue +0 -74
- package/template/.hermes/skills/yss-ui/assets/demos/formily/dynamic.vue +0 -59
- package/template/.hermes/skills/yss-ui/assets/demos/formily/effects.vue +0 -117
- package/template/.hermes/skills/yss-ui/assets/demos/formily/events-inline.vue +0 -82
- package/template/.hermes/skills/yss-ui/assets/demos/formily/events-scope.vue +0 -101
- package/template/.hermes/skills/yss-ui/assets/demos/formily/grid.vue +0 -71
- package/template/.hermes/skills/yss-ui/assets/demos/formily/group.vue +0 -102
- package/template/.hermes/skills/yss-ui/assets/demos/formily/helper-slot.vue +0 -50
- package/template/.hermes/skills/yss-ui/assets/demos/formily/label-tip.vue +0 -42
- package/template/.hermes/skills/yss-ui/assets/demos/formily/linkage-multi.vue +0 -127
- package/template/.hermes/skills/yss-ui/assets/demos/formily/linkage.vue +0 -78
- package/template/.hermes/skills/yss-ui/assets/demos/formily/modes.vue +0 -72
- package/template/.hermes/skills/yss-ui/assets/demos/formily/remote-enum.vue +0 -88
- package/template/.hermes/skills/yss-ui/assets/demos/formily/slot.vue +0 -54
- package/template/.hermes/skills/yss-ui/assets/demos/formily/steps.vue +0 -135
- package/template/.hermes/skills/yss-ui/assets/demos/formily/submit-failed.vue +0 -72
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/basic.vue +0 -40
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/diff-basic.vue +0 -143
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/fullscreen.vue +0 -84
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/history-log-viewer.vue +0 -586
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/log-viewer.vue +0 -260
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/mock/mockLogApi.ts +0 -199
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/monaco.vue +0 -66
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/readonly.vue +0 -20
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/resizable.vue +0 -22
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/sql-schema.vue +0 -20
- package/template/.hermes/skills/yss-ui/assets/demos/monaco/switch-lang-theme.vue +0 -48
- package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/constant.ts +0 -18
- package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/index.vue +0 -60
- package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table/style.less +0 -39
- package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/hooks/useTreeTable.ts +0 -158
- package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/index.vue +0 -88
- package/template/.hermes/skills/yss-ui/assets/demos/split-pane/tree-table-layout/style.less +0 -73
- package/template/.hermes/skills/yss-ui/assets/demos/table/action/index.vue +0 -83
- package/template/.hermes/skills/yss-ui/assets/demos/table/action/style.less +0 -3
- package/template/.hermes/skills/yss-ui/assets/demos/table/action-auth/index.vue +0 -41
- package/template/.hermes/skills/yss-ui/assets/demos/table/action-slot/index.vue +0 -62
- package/template/.hermes/skills/yss-ui/assets/demos/table/action-slot/style.less +0 -36
- package/template/.hermes/skills/yss-ui/assets/demos/table/basic/hooks/useBasicTable.ts +0 -205
- package/template/.hermes/skills/yss-ui/assets/demos/table/basic/index.vue +0 -89
- package/template/.hermes/skills/yss-ui/assets/demos/table/basic/style.less +0 -28
- package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/hooks/useColumnCustomSearch.ts +0 -236
- package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/index.vue +0 -141
- package/template/.hermes/skills/yss-ui/assets/demos/table/column-custom-search/style.less +0 -48
- package/template/.hermes/skills/yss-ui/assets/demos/table/drag/index.vue +0 -42
- package/template/.hermes/skills/yss-ui/assets/demos/table/expand/action-expand.vue +0 -142
- package/template/.hermes/skills/yss-ui/assets/demos/table/expand/index.vue +0 -35
- package/template/.hermes/skills/yss-ui/assets/demos/table/filter-async/index.vue +0 -93
- package/template/.hermes/skills/yss-ui/assets/demos/table/filter-auto/index.vue +0 -99
- package/template/.hermes/skills/yss-ui/assets/demos/table/filter-custom/index.vue +0 -72
- package/template/.hermes/skills/yss-ui/assets/demos/table/filter-local/index.vue +0 -112
- package/template/.hermes/skills/yss-ui/assets/demos/table/filter-mixed/index.vue +0 -142
- package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/constant.ts +0 -129
- package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/hooks/useTableData.ts +0 -186
- package/template/.hermes/skills/yss-ui/assets/demos/table/filter-remote/index.vue +0 -73
- package/template/.hermes/skills/yss-ui/assets/demos/table/group-header/index.vue +0 -86
- package/template/.hermes/skills/yss-ui/assets/demos/table/group-header/style.less +0 -3
- package/template/.hermes/skills/yss-ui/assets/demos/table/header-height/index.vue +0 -29
- package/template/.hermes/skills/yss-ui/assets/demos/table/header-height/style.less +0 -9
- package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/hooks/useMergeCells.ts +0 -183
- package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/index.vue +0 -17
- package/template/.hermes/skills/yss-ui/assets/demos/table/merge-cells/style.less +0 -3
- package/template/.hermes/skills/yss-ui/assets/demos/table/pagination-remote/hooks/usePaginationRemote.ts +0 -106
- package/template/.hermes/skills/yss-ui/assets/demos/table/pagination-remote/index.vue +0 -24
- package/template/.hermes/skills/yss-ui/assets/demos/table/renderers/index.vue +0 -64
- package/template/.hermes/skills/yss-ui/assets/demos/table/selection-checkbox/index.vue +0 -88
- package/template/.hermes/skills/yss-ui/assets/demos/table/selection-checkbox/style.less +0 -9
- package/template/.hermes/skills/yss-ui/assets/demos/table/selection-radio/index.vue +0 -57
- package/template/.hermes/skills/yss-ui/assets/demos/table/selection-radio/style.less +0 -9
- package/template/.hermes/skills/yss-ui/assets/demos/table/transform/index.vue +0 -32
- package/template/.hermes/skills/yss-ui/assets/demos/tree/basic-left/index.vue +0 -124
- package/template/.hermes/skills/yss-ui/assets/demos/tree/datasource-group/index.vue +0 -31
- package/template/.hermes/skills/yss-ui/assets/demos/tree/multi-checkable/index.vue +0 -86
- package/template/.hermes/skills/yss-ui/assets/demos/tree/multiple-select/index.vue +0 -76
- package/template/.hermes/skills/yss-ui/assets/demos/tree/resource-list/index.vue +0 -41
- package/template/.hermes/skills/yss-ui/assets/demos/tree/search-toolbar/index.vue +0 -156
- package/template/.hermes/skills/yss-ui/assets/demos/tree/slot-icon/index.vue +0 -36
- package/template/.hermes/skills/yss-ui/assets/demos/tree/slot-switcher-icon/index.vue +0 -34
- package/template/.hermes/skills/yss-ui/assets/docs/components/button.md +0 -79
- package/template/.hermes/skills/yss-ui/assets/docs/components/card.md +0 -162
- package/template/.hermes/skills/yss-ui/assets/docs/components/conditionBuilder.md +0 -114
- package/template/.hermes/skills/yss-ui/assets/docs/components/cron.md +0 -77
- package/template/.hermes/skills/yss-ui/assets/docs/components/echarts.md +0 -110
- package/template/.hermes/skills/yss-ui/assets/docs/components/editTable.md +0 -212
- package/template/.hermes/skills/yss-ui/assets/docs/components/fileImport.md +0 -85
- package/template/.hermes/skills/yss-ui/assets/docs/components/formily.md +0 -370
- package/template/.hermes/skills/yss-ui/assets/docs/components/monaco.md +0 -369
- package/template/.hermes/skills/yss-ui/assets/docs/components/sheet.md +0 -169
- package/template/.hermes/skills/yss-ui/assets/docs/components/split-pane.md +0 -45
- package/template/.hermes/skills/yss-ui/assets/docs/components/table.md +0 -398
- package/template/.hermes/skills/yss-ui/assets/docs/components/tree.md +0 -102
- package/template/.hermes/skills/yss-ui/assets/docs/guide/gitlab-ci-integration.md +0 -166
- package/template/.hermes/skills/yss-ui/assets/docs/guide/index.md +0 -132
- package/template/.hermes/skills/yss-ui/assets/docs/guide/installation.md +0 -97
- package/template/.hermes/skills/yss-ui/assets/docs/guide/jsp.md +0 -227
- package/template/.hermes/skills/yss-ui/assets/docs/guide/llms.md +0 -295
- package/template/.hermes/skills/yss-ui/assets/docs/guide/monorepo-versioning.md +0 -149
- package/template/.hermes/skills/yss-ui/assets/docs/guide/release-workflow.md +0 -251
- package/template/.hermes/skills/yss-ui/assets/docs/hooks/use-table-height.md +0 -101
- package/template/.hermes/skills/yss-ui/assets/docs/hooks/use-tree-height.md +0 -115
- package/template/.hermes/skills/yss-ui/assets/docs/hooks/useFullscreen.md +0 -130
- package/template/.hermes/skills/yss-ui/assets/docs/hooks/useLoading.md +0 -97
- package/template/.hermes/skills/yss-ui/assets/docs/root/resources.md +0 -18
- package/template/.hermes/skills/yss-ui/assets/keyword-index.json +0 -53
- package/template/.hermes/skills/yss-ui/assets/keyword-index.md +0 -47
- package/template/.hermes/skills/yss-ui/assets/reference-index.json +0 -55
- package/template/.hermes/skills/yss-ui/assets/reference-index.md +0 -74
- package/template/.hermes/skills/yss-ui/assets/scenario-index.json +0 -50
- package/template/.hermes/skills/yss-ui/assets/scenario-index.md +0 -41
- package/template/.hermes/skills/yss-ui/references/accessibility.md +0 -23
- package/template/.hermes/skills/yss-ui/references/antdv-compatibility.md +0 -39
- package/template/.hermes/skills/yss-ui/references/checklist.md +0 -110
- package/template/.hermes/skills/yss-ui/references/component-routing.md +0 -31
- package/template/.hermes/skills/yss-ui/references/frontend-docs.md +0 -11
- package/template/.hermes/skills/yss-ui/references/migration-antdv-to-yss.md +0 -20
- package/template/.hermes/skills/yss-ui/references/quick-recipes.md +0 -280
- package/template/.hermes/skills/yss-ui/references/theme-locale-overlay.md +0 -25
- package/template/.hermes/skills/yss-ui/references/verification.md +0 -20
- package/template/.hermes/skills/yss-ui-business-page-generation/SKILL.md +0 -159
- package/template/.hermes/skills/yss-ui-business-page-generation/references/component-map.md +0 -39
- package/template/.hermes/skills/yss-ui-business-page-generation/references/hooks-map.md +0 -70
- package/template/.hermes/skills/yss-ui-business-page-generation/references/utils-map.md +0 -51
- package/template/.hermes/skills/yss-up-springboot3/SKILL.md +0 -40
- package/template/.hermes/skills/yss-up-springboot3/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-use-table-height/SKILL.md +0 -130
- package/template/.hermes/skills/yss-use-table-height/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-use-table-height/references/frontend-docs.md +0 -9
- package/template/.hermes/skills/yss-use-tree-height/SKILL.md +0 -98
- package/template/.hermes/skills/yss-use-tree-height/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-use-tree-height/references/frontend-docs.md +0 -9
- package/template/.hermes/skills/yss-userinfo/SKILL.md +0 -49
- package/template/.hermes/skills/yss-userinfo/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-userinfo/references/source-index.md +0 -34
- package/template/.hermes/skills/yss-validation/SKILL.md +0 -56
- package/template/.hermes/skills/yss-validation/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-validation/references/source-index.md +0 -33
- package/template/.hermes/skills/yss-web-controller/SKILL.md +0 -79
- package/template/.hermes/skills/yss-web-controller/agents/openai.yaml +0 -5
- package/template/.hermes/skills/yss-web-controller/assets/templates/Controller.java.template +0 -72
- package/template/.hermes/skills/yss-web-controller/assets/templates/WebConvertor.java.template +0 -33
- package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/CreateRequest.java.template +0 -19
- package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/PageRequest.java.template +0 -24
- package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/Response.java.template +0 -18
- package/template/.hermes/skills/yss-web-controller/assets/templates/web/dto/UpdateRequest.java.template +0 -19
- package/template/.hermes/skills/yss-web-controller/references/web-adapter-layer-guide.md +0 -84
- package/template/.hermes/skills/yss-web-controller/scripts/generate_controller.mjs +0 -105
- package/template/.hermes/skills/yss-web-controller/scripts/generate_controller.test.mjs +0 -60
- package/template/.hermes/skills/ytable-usage/SKILL.md +0 -251
- package/template/.hermes/skills/ytree-usage/SKILL.md +0 -132
- package/template/.kiro/settings/mcp.json +0 -8
- package/template/.pi/skills/research/SKILL.md +0 -12
- package/template/.pi/skills/research/agents/openai.yaml +0 -3
- package/template/.pi/skills/yss-router/SKILL.md +0 -51
- package/template/.pi/skills/yss-router/agents/openai.yaml +0 -4
- package/template/.pi/skills/yss-router/references/boundaries.md +0 -50
- package/template/.pi/skills/yss-router/references/router-contract.yaml +0 -345
- package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +0 -185
- package/template/.pi/skills/yss-router/references/yss-skill-execution-result.md +0 -67
- package/template/.pi/skills/yss-source-index/SKILL.md +0 -63
- package/template/.pi/skills/yss-source-index/agents/openai.yaml +0 -4
- package/template/.pi/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
- package/template/.qoder/skills/research/SKILL.md +0 -12
- package/template/.qoder/skills/research/agents/openai.yaml +0 -3
- package/template/.qoder/skills/yss-router/SKILL.md +0 -51
- package/template/.qoder/skills/yss-router/agents/openai.yaml +0 -4
- package/template/.qoder/skills/yss-router/references/boundaries.md +0 -50
- package/template/.qoder/skills/yss-router/references/router-contract.yaml +0 -345
- package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +0 -185
- package/template/.qoder/skills/yss-router/references/yss-skill-execution-result.md +0 -67
- package/template/.qoder/skills/yss-source-index/SKILL.md +0 -63
- package/template/.qoder/skills/yss-source-index/agents/openai.yaml +0 -4
- package/template/.qoder/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
- package/template/.trae/skills/research/SKILL.md +0 -12
- package/template/.trae/skills/research/agents/openai.yaml +0 -3
- package/template/.trae/skills/yss-router/SKILL.md +0 -51
- package/template/.trae/skills/yss-router/agents/openai.yaml +0 -4
- package/template/.trae/skills/yss-router/references/boundaries.md +0 -50
- package/template/.trae/skills/yss-router/references/router-contract.yaml +0 -345
- package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +0 -185
- package/template/.trae/skills/yss-router/references/yss-skill-execution-result.md +0 -67
- package/template/.trae/skills/yss-source-index/SKILL.md +0 -63
- package/template/.trae/skills/yss-source-index/agents/openai.yaml +0 -4
- package/template/.trae/skills/yss-source-index/references/source-location.md +0 -18
- package/template/.trae/skills/yss-source-index/references/source-map-config.md +0 -30
- package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.mjs +0 -24
- package/template/.trae/skills/yss-source-index/scripts/refresh-yss-skill-index.test.mjs +0 -15
- package/template/scripts/verify-yss-router-scenarios +0 -3
- /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
- /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
- /package/template/.agents/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
- /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
- /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
- /package/template/.claude/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
- /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
- /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
- /package/template/.codex/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
- /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-location.md +0 -0
- /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
- /package/template/.cursor/skills/{yss-source-index → yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
- /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
- /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
- /package/template/{.hermes/skills/yss-source-index → .pi/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
- /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
- /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
- /package/template/{.pi/skills/yss-source-index → .qoder/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
- /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/references/source-location.md +0 -0
- /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/references/source-map-config.md +0 -0
- /package/template/{.qoder/skills/yss-source-index → .trae/skills/yss-skill-source-index-refresh}/scripts/refresh-yss-skill-index.test.mjs +0 -0
|
@@ -24,7 +24,7 @@ function validateMattContract(data) {
|
|
|
24
24
|
ensure(includesAll(setup?.preserves, ["lifecycle.status", "gate.status", "ticket.role"]) && setup?.legacy_artifacts_detected?.action === "migration-check" && setup.legacy_artifacts_detected.setup === "forbidden" && setup.legacy_artifacts_detected.write === "paused", "setup 暂停或旧资产迁移暂停契约不完整");
|
|
25
25
|
const grill = data.grill_exit;
|
|
26
26
|
ensure(includesAll(grill?.required, ["frontier_empty", "facts_resolved_or_routed", "decisions_confirmed", "shared_understanding_confirmed", "no_unresolved_runnable_blocker"]) && grill?.user_confirmation_required === true, "grill_exit 缺少 frontier、事实路由、决策、共同理解、用户确认或 runnable blocker 条件");
|
|
27
|
-
ensure(grill?.facts_resolved_or_routed?.technical_fact === "research" && grill.facts_resolved_or_routed.runnable_question === "handoff-prototype-handoff" && grill.facts_resolved_or_routed.external_decision === "external-input-required", "grill_exit 的事实、runnable 问题或外部决策路由不完整");
|
|
27
|
+
ensure(grill?.facts_resolved_or_routed?.technical_fact === "yss-research" && grill.facts_resolved_or_routed.runnable_question === "handoff-prototype-handoff" && grill.facts_resolved_or_routed.external_decision === "external-input-required", "grill_exit 的事实、runnable 问题或外部决策路由不完整");
|
|
28
28
|
const git = data.git_authorization;
|
|
29
29
|
for (const action of ["commit", "push"]) {
|
|
30
30
|
const prefix = action === "commit" ? "commit" : "push";
|
|
@@ -40,8 +40,8 @@ function validateMattContract(data) {
|
|
|
40
40
|
function validateInvocationBoundary(data) {
|
|
41
41
|
const boundary = data.matt_invocation_boundary;
|
|
42
42
|
const expectedUserInvoked = ["ask-matt", "grill-me", "grill-with-docs", "handoff", "implement", "improve-codebase-architecture", "loop-me", "setup-matt-pocock-skills", "setup-ts-deep-modules", "teach", "to-questionnaire", "to-spec", "to-tickets", "triage", "wait-what", "wayfinder", "writing-beats", "writing-fragments", "writing-shape"];
|
|
43
|
-
const expectedModelInvoked = ["code-review", "codebase-design", "diagnosing-bugs", "domain-modeling", "grilling", "migrate-to-shoehorn", "prototype", "
|
|
44
|
-
const expectedLifecycleModelInvoked = ["code-review", "codebase-design", "diagnosing-bugs", "domain-modeling", "grilling", "prototype", "
|
|
43
|
+
const expectedModelInvoked = ["code-review", "codebase-design", "diagnosing-bugs", "domain-modeling", "grilling", "migrate-to-shoehorn", "prototype", "resolving-merge-conflicts", "scaffold-exercises", "setup-pre-commit", "tdd", "writing-for-agents", "yss-research"];
|
|
44
|
+
const expectedLifecycleModelInvoked = ["code-review", "codebase-design", "diagnosing-bugs", "domain-modeling", "grilling", "prototype", "tdd", "yss-research"];
|
|
45
45
|
ensure(JSON.stringify(boundary?.user_invoked_skills) === JSON.stringify(expectedUserInvoked), "Matt user-invoked skills 清单不完整或已漂移");
|
|
46
46
|
ensure(JSON.stringify(boundary?.lifecycle_managed_user_entries) === JSON.stringify(["setup-matt-pocock-skills", "grill-with-docs", "to-spec", "to-tickets", "implement"]), "生命周期管理的显式用户入口清单不完整");
|
|
47
47
|
ensure(boundary?.lifecycle_may_invoke_user_invoked === false && boundary?.formal_artifact_owner === "explicit-user-entry", "生命周期仍可能自动调用 user-invoked skill 或产出其正式资产");
|
|
@@ -59,7 +59,14 @@ function validateInvocationBoundary(data) {
|
|
|
59
59
|
ensure(JSON.stringify(native?.user_confirmation_required_at) === JSON.stringify(["spec-baseline", "prototype-confirmation", "openapi-freeze", "merge-or-release"]), "生命周期人工门禁集合已漂移");
|
|
60
60
|
const routes = data.work_unit_routes;
|
|
61
61
|
ensure(routes?.["work-unit.discovery-requirements"]?.skills?.includes("grilling") && routes?.["work-unit.discovery-requirements"]?.skills?.includes("domain-modeling"), "需求分析工作单元缺少 grilling/domain-modeling");
|
|
62
|
-
ensure(routes?.["work-unit.discovery-opportunity"]?.route_by?.market_or_competitor_fact === "competitive-intelligence" && routes["work-unit.discovery-opportunity"].route_by.technical_or_standard_fact === "research", "机会调研事实路由不准确");
|
|
62
|
+
ensure(routes?.["work-unit.discovery-opportunity"]?.route_by?.market_or_competitor_fact === "competitive-intelligence" && routes["work-unit.discovery-opportunity"].route_by.technical_or_standard_fact === "yss-research:technical-evidence" && routes["work-unit.discovery-opportunity"].route_by.strategy_fact === "yss-research:strategy-evidence", "机会调研事实路由不准确");
|
|
63
|
+
const strategyResearch = routes?.["work-unit.domain-strategy-design"]?.research_contract;
|
|
64
|
+
ensure(strategyResearch?.profile === "strategy-evidence" && strategyResearch.mode_before_gate === "evidence-audited" && strategyResearch.artifact_owner === "yss-research" && strategyResearch.downstream_owner === "yss-stage-decision", "领域战略研究合同缺少 profile、门禁前审计或资产所有权边界");
|
|
65
|
+
const stageDecisionResearch = routes?.["work-unit.stage-decision"]?.research_contract;
|
|
66
|
+
ensure(routes?.["work-unit.stage-decision"]?.skills?.includes("yss-research") && stageDecisionResearch?.profile === "strategy-evidence" && stageDecisionResearch.mode_before_gate === "evidence-audited" && stageDecisionResearch.artifact_owner === "yss-research" && stageDecisionResearch.downstream_owner === "yss-stage-decision", "阶段决策工作单元缺少 evidence-audited 战略研究合同");
|
|
67
|
+
const prototypeRoute = routes?.["work-unit.prototype-design"];
|
|
68
|
+
ensure(!prototypeRoute?.skills?.includes("yss-ui") && !prototypeRoute?.supporting_skills?.includes("yss-ui"), "原型工作单元不得调用生产实现技能 yss-ui");
|
|
69
|
+
ensure(JSON.stringify(Object.keys(prototypeRoute?.profile_contract?.profiles ?? {})) === JSON.stringify(["H1", "H2"]) && prototypeRoute?.version_boundary?.prototype_must_not_call === "yss-ui", "原型档位必须仅包含 H1/H2 并明确 yss-ui 边界");
|
|
63
70
|
ensure(routes?.["work-unit.slice-implementation"]?.skills?.includes("tdd") && routes?.["work-unit.slice-implementation"]?.skills?.includes("yss-ui") && routes?.["work-unit.slice-implementation"]?.skills?.includes("yss-ui-business-page-generation"), "原生实现工作单元缺少 TDD、UI 或业务页面生成路由");
|
|
64
71
|
const frontendRoute = routes?.["work-unit.slice-implementation"]?.frontend_route;
|
|
65
72
|
ensure(frontendRoute?.primary_skill === "yss-ui" && frontendRoute?.page_generation_skill === "yss-ui-business-page-generation" && frontendRoute?.page_orchestration_skill === "yss-page-module-development", "前端实现路由缺少 yss-ui 主入口、业务页面生成或页面编排技能");
|
|
@@ -73,7 +80,7 @@ function validateInvocationBoundary(data) {
|
|
|
73
80
|
const disposition = reviewRoute?.review_standards_route?.finding_disposition;
|
|
74
81
|
ensure(includesAll(disposition?.same_loop_for, ["product-slice", "template-maintenance"]) && disposition?.reviewer_write_implementation === "forbidden", "审查 finding 闭环未同时覆盖产品切片与模板维护,或允许审查者写实现");
|
|
75
82
|
ensure(includesAll(disposition?.repair_then_full_rereview?.kinds, ["violation", "machine_check_failure", "blank_applicable_row", "missing_evidence"]) && disposition?.repair_then_full_rereview?.actor === "implementer" && disposition?.repair_then_full_rereview?.then === "recapture_candidate_and_rerun_all_axes", "violation 类 finding 未要求实现者修复后全轴复审");
|
|
76
|
-
ensure(includesAll(disposition?.stale_and_reroute?.kinds, ["drift", "new_impacts", "required_skills_mismatch"]) && disposition?.stale_and_reroute?.continue_coding_on_old_contract === "forbidden" && disposition?.stale_and_reroute?.next === "
|
|
83
|
+
ensure(includesAll(disposition?.stale_and_reroute?.kinds, ["drift", "new_impacts", "required_skills_mismatch"]) && disposition?.stale_and_reroute?.continue_coding_on_old_contract === "forbidden" && disposition?.stale_and_reroute?.next === "compiler-or-earlier-lifecycle", "drift / new_impacts 未要求合同 stale 并回 实现合同编译器");
|
|
77
84
|
ensure(disposition?.exemption_policy?.not_applicable === "impact_not_triggered_only" && disposition?.exemption_policy?.mandatory_waiver === "forbidden" && includesAll(disposition?.exemption_policy?.allowed_exits, ["repair", "seam-deferred-complete"]) && disposition?.exemption_policy?.new_human_waiver_gate === "forbidden", "审查豁免策略允许未命中以外的 not-applicable 或 mandatory 豁免");
|
|
78
85
|
ensure(data.review_input?.unique_default_skill === "code-review" && data.review_input?.second_generic_review_skill === "forbidden" && data.review_input?.completed_requires_specialist_coverage === true && data.review_input?.finding_disposition_required === true && data.review_input?.completed_requires_no_open_mandatory_violations === true && data.review_input?.completed_requires_no_blank_applicable_rows === true && data.review_input?.reviewer_write_implementation === "forbidden" && includesAll(data.review_input?.standards_sources, ["slice_contract_required_skills", "specialist_check_inputs", "review_report_template"]), "review_input 未强制专项检查覆盖或 finding 闭环完成条件");
|
|
79
86
|
for (const id of ["work-unit.spec-synthesis", "work-unit.ticket-decomposition", "work-unit.slice-implementation"]) {
|
|
@@ -180,13 +187,13 @@ const profiles = {
|
|
|
180
187
|
},
|
|
181
188
|
prototype: {
|
|
182
189
|
message: "原型到后端脚手架及后续 YSS 代码生成压力场景验证通过",
|
|
183
|
-
files: [".agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs", ".agents/skills/yss-
|
|
190
|
+
files: [".agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs", ".agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml"],
|
|
184
191
|
markers: [[".agents/skills/yss-product-lifecycle/SKILL.md", "controlled-generation"]]
|
|
185
192
|
},
|
|
186
|
-
|
|
187
|
-
message: "YSS
|
|
188
|
-
files: [".agents/skills/yss-
|
|
189
|
-
markers: [[".agents/skills/yss-
|
|
193
|
+
implementationContractCompiler: {
|
|
194
|
+
message: "YSS implementation contract compiler stage 7 scenarios passed",
|
|
195
|
+
files: [".agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml", ".agents/skills/yss-implementation-contract-compiler/SKILL.md"],
|
|
196
|
+
markers: [[".agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml", "impact_to_capabilities"], [".agents/skills/yss-implementation-contract-compiler/SKILL.md", "required_capabilities"]]
|
|
190
197
|
},
|
|
191
198
|
openapiYaml: {
|
|
192
199
|
message: "OpenAPI YAML-first 场景验证通过",
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { isTemplateSource } from "./repository-mode.mjs";
|
|
4
5
|
import { loadSkillRegistry } from "./skill-registry.mjs";
|
|
5
|
-
import { validateYssUiSkillManifest } from "./skill-supply-chain.mjs";
|
|
6
|
+
import { treeHash, validateStrategicDesignSkillManifest, validateYssUiSkillManifest } from "./skill-supply-chain.mjs";
|
|
6
7
|
|
|
7
8
|
export const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
|
|
8
9
|
|
|
@@ -48,6 +49,7 @@ export function validateSkillGovernance({ read = (relative) => readFileSync(path
|
|
|
48
49
|
const yssUiSkill = read(".agents/skills/yss-ui/SKILL.md");
|
|
49
50
|
if (!yssUiSkill.includes("`YFormily` 是新代码 canonical name")) fail("yss-ui 必须把 YFormily 声明为新代码 canonical name");
|
|
50
51
|
if (!yssUiSkill.includes("| 新建或改造完整业务页面 | `yss-ui-business-page-generation` |")) fail("yss-ui 缺少完整业务页面生成路由");
|
|
52
|
+
if (!yssUiSkill.includes("原型阶段不得调用本技能") || yssUiSkill.includes("prototype-component-facts")) fail("yss-ui 必须保持生产实现边界,不得暴露原型模式");
|
|
51
53
|
const expectedServer = { command: "npx", args: ["-y", "@yss-ui/mcp"] };
|
|
52
54
|
for (const config of yssUiManifest.mcp.project_configs) {
|
|
53
55
|
if (!exists(config.path)) fail(`缺少 yss-ui MCP 项目配置: ${config.path}`);
|
|
@@ -61,6 +63,26 @@ export function validateSkillGovernance({ read = (relative) => readFileSync(path
|
|
|
61
63
|
if (!mcpGuide.includes(marker)) fail(`YSS UI MCP 指南缺少边界或自检标记: ${marker}`);
|
|
62
64
|
}
|
|
63
65
|
|
|
66
|
+
const strategicManifest = validateStrategicDesignSkillManifest(JSON.parse(read(".agents/skills/.strategic-design-skills-manifest.json")));
|
|
67
|
+
const strategicIds = ["prototype-review", "yss-prototype-stage", "yss-design-system", "yss-antd-design", "yss-stage-decision"];
|
|
68
|
+
if (JSON.stringify(strategicManifest.skills.map(({ canonical }) => canonical).sort()) !== JSON.stringify(strategicIds.slice().sort())) {
|
|
69
|
+
fail("战略设计 skills 清单必须恰好覆盖五项公共技能");
|
|
70
|
+
}
|
|
71
|
+
for (const skill of strategicManifest.skills) {
|
|
72
|
+
if (isTemplateSource(ROOT)) {
|
|
73
|
+
const upstreamDirectory = path.join(ROOT, "submodules/yss-harness-design-agent", strategicManifest.source_root, skill.upstream);
|
|
74
|
+
if (!existsSync(path.join(upstreamDirectory, "SKILL.md"))) fail(`战略设计上游 skill 不存在: ${skill.upstream}`);
|
|
75
|
+
if (treeHash(upstreamDirectory) !== skill.upstream_hash) fail(`战略设计上游 hash 漂移: ${skill.upstream}`);
|
|
76
|
+
}
|
|
77
|
+
const item = lock.skills?.shared?.[skill.canonical];
|
|
78
|
+
if (!item || item.source !== strategicManifest.source || item.sourceRevision !== strategicManifest.source_revision || item.upstreamHash !== skill.upstream_hash) {
|
|
79
|
+
fail(`战略设计 skill 缺少一致的来源锁定: ${skill.canonical}`);
|
|
80
|
+
}
|
|
81
|
+
if (item.effectiveHash !== item.upstreamHash && item.adaptationRef !== strategicManifest.adaptation_ref) {
|
|
82
|
+
fail(`战略设计 skill 差异缺少薄适配引用: ${skill.canonical}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
64
86
|
const registry = loadSkillRegistry();
|
|
65
87
|
const canonicalIds = new Set(registry.skills.map((skill) => skill.id));
|
|
66
88
|
const aliases = new Map(registry.skills.flatMap((skill) => skill.aliases.map((alias) => [alias, skill.id])));
|
|
@@ -77,14 +99,14 @@ export function validateSkillGovernance({ read = (relative) => readFileSync(path
|
|
|
77
99
|
const prototypeEvidence = read("docs/design/templates/prototype-evidence-template.yaml");
|
|
78
100
|
const projectDesign = read("docs/design/design.md");
|
|
79
101
|
const antdvCompatibility = read(".agents/skills/yss-ui/references/antdv-compatibility.md");
|
|
80
|
-
for (const marker of ["product-design-adapter.md", "schema
|
|
102
|
+
for (const marker of ["product-design-adapter.md", "schema v3", "H1", "H2", "原型阶段不得调用 `yss-ui`"]) {
|
|
81
103
|
if (!prototypeStage.includes(marker)) fail(`原型阶段合同缺少 YSS adapter 标记: ${marker}`);
|
|
82
104
|
}
|
|
83
|
-
for (const marker of ["
|
|
105
|
+
for (const marker of ["prepare-static", "prepare-flow", "fact pack", "ConfigProvider", "1440x900", "390x844"]) {
|
|
84
106
|
if (!prototypeAdapter.includes(marker)) fail(`Product Design adapter 缺少执行约束: ${marker}`);
|
|
85
107
|
}
|
|
86
|
-
for (const marker of ["schema_version:
|
|
87
|
-
if (!prototypeEvidence.includes(marker)) fail(`原型证据模板缺少 schema
|
|
108
|
+
for (const marker of ["schema_version: 3", "prototype_profile", "visual_review", "flow_review", "implementation_handoff", "project_token_baseline_digest", "verification/design-qa.md"]) {
|
|
109
|
+
if (!prototypeEvidence.includes(marker)) fail(`原型证据模板缺少 schema v3 字段: ${marker}`);
|
|
88
110
|
}
|
|
89
111
|
if (prototypeEvidence.includes("与官方 #1677ff / Inter / 8px")) fail("原型证据模板仍把 Inter/8px 误写为官方 v6 默认差异");
|
|
90
112
|
if (projectDesign.includes("`antdv6-design.md`")) fail("design.md 仍引用不存在的 antdv6-design.md");
|
|
@@ -5,12 +5,15 @@ import { PROJECTION_ROOTS, ROOT } from "./skill-supply-chain.mjs";
|
|
|
5
5
|
|
|
6
6
|
export const DEFAULT_REGISTRY = path.join(ROOT, "docs/agents/yss-skill-registry.yaml");
|
|
7
7
|
const LOCK_PATH = path.join(ROOT, "skills-lock.json");
|
|
8
|
-
const
|
|
8
|
+
const COMPILER_CONTRACT = path.join(ROOT, ".agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml");
|
|
9
9
|
const LIFECYCLE_CONTRACT = path.join(ROOT, ".agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml");
|
|
10
10
|
const LAYERS = new Set(["core", "specialist", "compatibility", "maintainer-only"]);
|
|
11
11
|
const MATURITIES = new Set(["draft", "verified", "supported", "deprecated"]);
|
|
12
12
|
const INVOCATION_MODES = new Set(["user", "model", "both"]);
|
|
13
|
+
const DEPENDENCY_TYPES = new Set(["context-required", "context-conditional", "coordination-only", "review-only", "component-dependency"]);
|
|
14
|
+
const TASK_MODES = new Set(["guidance", "integration", "slice-implementation", "troubleshooting", "component-maintenance", "review-input", "contract-compilation", "reroute", "result-validation", "source-index-refresh"]);
|
|
13
15
|
const ID_PATTERN = /^[a-z0-9][a-z0-9-]*$/;
|
|
16
|
+
const CAPABILITY_ID_PATTERN = /^[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+$/;
|
|
14
17
|
const PLATFORM_ALIAS_PATTERN = /^[a-z0-9][a-z0-9-]*(?::[a-z0-9][a-z0-9-]*)?$/;
|
|
15
18
|
|
|
16
19
|
function fail(message) {
|
|
@@ -58,13 +61,26 @@ function requireStringArray(value, field, { nonEmpty = false } = {}) {
|
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
|
|
64
|
+
function effectiveInvocationContract(registry, skill) {
|
|
65
|
+
const contract = registry.invocation_contract;
|
|
66
|
+
return {
|
|
67
|
+
...contract.default,
|
|
68
|
+
...contract.layer_defaults[skill.layer],
|
|
69
|
+
...(contract.overrides[skill.id] ?? {})
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function sameStringSet(left, right) {
|
|
74
|
+
return JSON.stringify([...new Set(left)].sort()) === JSON.stringify([...new Set(right)].sort());
|
|
75
|
+
}
|
|
76
|
+
|
|
61
77
|
function validateInvocationContract(registry, skill) {
|
|
62
78
|
const contract = registry.invocation_contract;
|
|
63
79
|
requireObject(contract, "invocation_contract");
|
|
64
|
-
if (contract.schema_version !==
|
|
65
|
-
if (contract.scope !== "
|
|
80
|
+
if (contract.schema_version !== 2) fail("invocation_contract.schema_version 必须为 2;v1 已停止支持");
|
|
81
|
+
if (contract.scope !== "discovery-only") fail("invocation_contract.scope 必须限定为 discovery-only");
|
|
66
82
|
requireStringArray(contract.required_fields, "invocation_contract.required_fields", { nonEmpty: true });
|
|
67
|
-
const expected = ["invocation_mode", "trigger_conditions", "exclusion_conditions", "primary_output"
|
|
83
|
+
const expected = ["invocation_mode", "trigger_conditions", "exclusion_conditions", "primary_output"];
|
|
68
84
|
if (JSON.stringify(contract.required_fields) !== JSON.stringify(expected)) fail("invocation_contract.required_fields 顺序或字段不完整");
|
|
69
85
|
requireStringArray(contract.allowed_invocation_modes, "invocation_contract.allowed_invocation_modes", { nonEmpty: true });
|
|
70
86
|
if (![...INVOCATION_MODES].every((mode) => contract.allowed_invocation_modes.includes(mode))) {
|
|
@@ -87,8 +103,6 @@ function validateInvocationContract(registry, skill) {
|
|
|
87
103
|
requireStringArray(contract.default.trigger_conditions, "invocation_contract.default.trigger_conditions", { nonEmpty: true });
|
|
88
104
|
requireStringArray(contract.default.exclusion_conditions, "invocation_contract.default.exclusion_conditions", { nonEmpty: true });
|
|
89
105
|
requireString(contract.default.primary_output, "invocation_contract.default.primary_output");
|
|
90
|
-
requireStringArray(contract.default.required_dependencies, "invocation_contract.default.required_dependencies");
|
|
91
|
-
requireStringArray(contract.default.optional_dependencies, "invocation_contract.default.optional_dependencies");
|
|
92
106
|
for (const [skillId, override] of Object.entries(contract.overrides)) {
|
|
93
107
|
requireObject(override, `invocation_contract.overrides.${skillId}`);
|
|
94
108
|
if (!ID_PATTERN.test(skillId)) fail(`invocation_contract.overrides id 非法: ${skillId}`);
|
|
@@ -96,24 +110,16 @@ function validateInvocationContract(registry, skill) {
|
|
|
96
110
|
if (override.trigger_conditions) requireStringArray(override.trigger_conditions, `${skillId}.trigger_conditions`, { nonEmpty: true });
|
|
97
111
|
if (override.exclusion_conditions) requireStringArray(override.exclusion_conditions, `${skillId}.exclusion_conditions`, { nonEmpty: true });
|
|
98
112
|
if (override.primary_output) requireString(override.primary_output, `${skillId}.primary_output`);
|
|
99
|
-
if (override.required_dependencies) requireStringArray(override.required_dependencies, `${skillId}.required_dependencies`);
|
|
100
|
-
if (override.optional_dependencies) requireStringArray(override.optional_dependencies, `${skillId}.optional_dependencies`);
|
|
101
113
|
}
|
|
102
114
|
const overrideIds = Object.keys(contract.overrides);
|
|
103
115
|
const knownIds = new Set(registry.skills.map((item) => item?.id).filter(Boolean));
|
|
104
116
|
for (const skillId of overrideIds) if (!knownIds.has(skillId)) fail(`invocation_contract.overrides 引用了未登记技能: ${skillId}`);
|
|
105
|
-
const effective =
|
|
106
|
-
...contract.default,
|
|
107
|
-
...contract.layer_defaults[skill.layer],
|
|
108
|
-
...(contract.overrides[skill.id] ?? {})
|
|
109
|
-
};
|
|
117
|
+
const effective = effectiveInvocationContract(registry, skill);
|
|
110
118
|
effective.trigger_conditions = [...new Set([...(effective.trigger_conditions ?? []), ...skill.impacts.map((impact) => `impact:${impact}`)])];
|
|
111
119
|
if (!INVOCATION_MODES.has(effective.invocation_mode)) fail(`${skill.id}.invocation_mode 无效`);
|
|
112
120
|
requireStringArray(effective.trigger_conditions, `${skill.id}.trigger_conditions`, { nonEmpty: true });
|
|
113
121
|
requireStringArray(effective.exclusion_conditions, `${skill.id}.exclusion_conditions`, { nonEmpty: true });
|
|
114
122
|
requireString(effective.primary_output, `${skill.id}.primary_output`);
|
|
115
|
-
requireStringArray(effective.required_dependencies, `${skill.id}.required_dependencies`);
|
|
116
|
-
requireStringArray(effective.optional_dependencies, `${skill.id}.optional_dependencies`);
|
|
117
123
|
const impactTriggers = skill.impacts.map((impact) => `impact:${impact}`);
|
|
118
124
|
if (!impactTriggers.every((trigger) => effective.trigger_conditions.includes(trigger))) {
|
|
119
125
|
fail(`${skill.id} 的调用契约必须覆盖其 impacts 触发条件`);
|
|
@@ -145,7 +151,7 @@ function validateFindingDisposition(disposition) {
|
|
|
145
151
|
requireStringSet(stale.kinds, ["drift", "new_impacts", "required_skills_mismatch"], "finding_disposition.stale_and_reroute.kinds");
|
|
146
152
|
if (stale.mark_contract !== "stale") fail("drift / new_impacts 必须将合同标为 stale");
|
|
147
153
|
if (stale.continue_coding_on_old_contract !== "forbidden") fail("合同 stale 后禁止在旧合同上继续编码");
|
|
148
|
-
if (stale.next !== "
|
|
154
|
+
if (stale.next !== "compiler-or-earlier-lifecycle") fail("合同 stale 后必须回 实现合同编译器 或更早生命周期阶段");
|
|
149
155
|
const exemption = disposition.exemption_policy;
|
|
150
156
|
requireObject(exemption, "finding_disposition.exemption_policy");
|
|
151
157
|
if (exemption.not_applicable !== "impact_not_triggered_only") fail("not-applicable 仅允许影响面未命中");
|
|
@@ -202,9 +208,9 @@ function validateCodeReviewRoute(route, resolve) {
|
|
|
202
208
|
validateFindingDisposition(standards.finding_disposition);
|
|
203
209
|
}
|
|
204
210
|
|
|
205
|
-
export function validateSkillRegistry(registry, { lock,
|
|
211
|
+
export function validateSkillRegistry(registry, { lock, compilerContract, lifecycleContract, skillSource } = {}) {
|
|
206
212
|
if (!registry || typeof registry !== "object" || Array.isArray(registry)) fail("技能路由注册表必须是对象");
|
|
207
|
-
if (registry.schema_version !==
|
|
213
|
+
if (registry.schema_version !== 2) fail("schema_version 必须为 2;v1 已停止支持,请迁移 capability、typed dependencies 与 recipes");
|
|
208
214
|
if (registry.registry_id !== "yss.skill-routing") fail("registry_id 必须为 yss.skill-routing");
|
|
209
215
|
if (!["shadow", "active"].includes(registry.status)) fail("status 必须是 shadow 或 active");
|
|
210
216
|
requireString(registry.description, "description");
|
|
@@ -212,11 +218,11 @@ export function validateSkillRegistry(registry, { lock, routerContract, lifecycl
|
|
|
212
218
|
if (registry.canonical_content_root !== ".agents/skills") fail("canonical_content_root 必须为 .agents/skills");
|
|
213
219
|
const runtime = registry.runtime_policy;
|
|
214
220
|
if (!runtime || typeof runtime !== "object") fail("缺少 runtime_policy");
|
|
215
|
-
if (typeof runtime.
|
|
216
|
-
fail("runtime_policy 必须声明
|
|
221
|
+
if (typeof runtime.consumed_by_compiler !== "boolean" || typeof runtime.consumed_by_lifecycle !== "boolean" || typeof runtime.discovery_enforced !== "boolean") {
|
|
222
|
+
fail("runtime_policy 必须声明 consumed_by_compiler、consumed_by_lifecycle、discovery_enforced");
|
|
217
223
|
}
|
|
218
|
-
if (registry.status === "shadow" && (runtime.
|
|
219
|
-
fail("shadow
|
|
224
|
+
if (registry.status === "shadow" && (runtime.consumed_by_compiler || runtime.consumed_by_lifecycle || runtime.discovery_enforced)) {
|
|
225
|
+
fail("shadow 注册表不得被实现合同编译器、生命周期或发现面强制消费");
|
|
220
226
|
}
|
|
221
227
|
const roots = registry.agent_runtime_roots;
|
|
222
228
|
if (!roots || typeof roots !== "object" || Array.isArray(roots)) fail("缺少 agent_runtime_roots");
|
|
@@ -224,7 +230,6 @@ export function validateSkillRegistry(registry, { lock, routerContract, lifecycl
|
|
|
224
230
|
claude: ".claude/skills",
|
|
225
231
|
codex: ".codex/skills",
|
|
226
232
|
cursor: ".cursor/skills",
|
|
227
|
-
hermes: ".hermes/skills",
|
|
228
233
|
pi: ".pi/skills",
|
|
229
234
|
qoder: ".qoder/skills",
|
|
230
235
|
trae: ".trae/skills"
|
|
@@ -317,6 +322,94 @@ export function validateSkillRegistry(registry, { lock, routerContract, lifecycl
|
|
|
317
322
|
}
|
|
318
323
|
}
|
|
319
324
|
|
|
325
|
+
const registeredDependency = (name) => ids.has(name)
|
|
326
|
+
|| aliases.has(name)
|
|
327
|
+
|| externalIds.has(name)
|
|
328
|
+
|| platformAliases.has(name)
|
|
329
|
+
|| [...platformIds].some((key) => key.endsWith(`:${name}`));
|
|
330
|
+
const capabilityContract = registry.capability_contract;
|
|
331
|
+
requireObject(capabilityContract, "capability_contract");
|
|
332
|
+
if (capabilityContract.schema_version !== 2) fail("capability_contract.schema_version 必须为 2");
|
|
333
|
+
requireStringSet(capabilityContract.dependency_types, [...DEPENDENCY_TYPES], "capability_contract.dependency_types");
|
|
334
|
+
requireStringSet(capabilityContract.task_modes, [...TASK_MODES], "capability_contract.task_modes");
|
|
335
|
+
requireObject(capabilityContract.closure, "capability_contract.closure");
|
|
336
|
+
requireStringSet(capabilityContract.closure.recursive_types, ["context-required"], "capability_contract.closure.recursive_types");
|
|
337
|
+
if (capabilityContract.closure.conditional_type !== "context-conditional") fail("条件依赖类型必须为 context-conditional");
|
|
338
|
+
requireStringSet(capabilityContract.closure.non_expanding_types, ["coordination-only", "review-only", "component-dependency"], "capability_contract.closure.non_expanding_types");
|
|
339
|
+
if (capabilityContract.closure.deduplicate_skills !== true || capabilityContract.closure.preserve_all_reasons !== true) {
|
|
340
|
+
fail("capability closure 必须去重 skill 并保留全部原因链");
|
|
341
|
+
}
|
|
342
|
+
if (JSON.stringify(capabilityContract.deterministic_order) !== JSON.stringify(["recipe-declaration", "dependency-topology", "skill-id"])) {
|
|
343
|
+
fail("capability_contract.deterministic_order 必须固定为 recipe-declaration、dependency-topology、skill-id");
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
if (!Array.isArray(registry.capabilities) || registry.capabilities.length === 0) fail("capabilities 不能为空");
|
|
347
|
+
const capabilityIds = new Set();
|
|
348
|
+
const capabilitySkills = new Set();
|
|
349
|
+
for (const [index, capability] of registry.capabilities.entries()) {
|
|
350
|
+
const prefix = `capabilities[${index}]`;
|
|
351
|
+
requireObject(capability, prefix);
|
|
352
|
+
requireString(capability.id, `${prefix}.id`);
|
|
353
|
+
if (!CAPABILITY_ID_PATTERN.test(capability.id)) fail(`${prefix}.id 必须使用 dotted namespace: ${capability.id}`);
|
|
354
|
+
if (capabilityIds.has(capability.id)) fail(`重复 capability id: ${capability.id}`);
|
|
355
|
+
capabilityIds.add(capability.id);
|
|
356
|
+
requireString(capability.primary_skill, `${prefix}.primary_skill`);
|
|
357
|
+
if (!ids.has(capability.primary_skill)) fail(`${capability.id} 的 primary_skill 未登记: ${capability.primary_skill}`);
|
|
358
|
+
requireStringArray(capability.task_modes, `${prefix}.task_modes`, { nonEmpty: true });
|
|
359
|
+
for (const mode of capability.task_modes) if (!TASK_MODES.has(mode)) fail(`${capability.id} 使用未知 task mode: ${mode}`);
|
|
360
|
+
capabilitySkills.add(capability.primary_skill);
|
|
361
|
+
}
|
|
362
|
+
for (const skill of skills.filter((item) => item.impacts.includes("backend"))) {
|
|
363
|
+
if (!capabilitySkills.has(skill.id)) fail(`backend skill 缺少 capability: ${skill.id}`);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
if (!Array.isArray(registry.recipes) || registry.recipes.length === 0) fail("recipes 不能为空");
|
|
367
|
+
const recipeIds = new Set();
|
|
368
|
+
for (const [index, recipe] of registry.recipes.entries()) {
|
|
369
|
+
const prefix = `recipes[${index}]`;
|
|
370
|
+
requireObject(recipe, prefix);
|
|
371
|
+
requireString(recipe.id, `${prefix}.id`);
|
|
372
|
+
if (!CAPABILITY_ID_PATTERN.test(recipe.id)) fail(`${prefix}.id 必须使用 dotted namespace: ${recipe.id}`);
|
|
373
|
+
if (recipeIds.has(recipe.id)) fail(`重复 recipe id: ${recipe.id}`);
|
|
374
|
+
recipeIds.add(recipe.id);
|
|
375
|
+
requireStringArray(recipe.capabilities, `${prefix}.capabilities`, { nonEmpty: true });
|
|
376
|
+
for (const capabilityId of recipe.capabilities) if (!capabilityIds.has(capabilityId)) fail(`${recipe.id} 引用了未知 capability: ${capabilityId}`);
|
|
377
|
+
if (recipe.skills !== undefined) fail(`${recipe.id} 只能引用 capabilities,不能直接引用 skills`);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
requireObject(registry.skill_dependencies, "skill_dependencies");
|
|
381
|
+
const requiredGraph = new Map([...ids].map((id) => [id, []]));
|
|
382
|
+
for (const [owner, dependencies] of Object.entries(registry.skill_dependencies)) {
|
|
383
|
+
if (!ids.has(owner)) fail(`skill_dependencies 使用未知 owner: ${owner}`);
|
|
384
|
+
if (!Array.isArray(dependencies)) fail(`skill_dependencies.${owner} 必须是数组`);
|
|
385
|
+
const edgeKeys = new Set();
|
|
386
|
+
for (const [index, dependency] of dependencies.entries()) {
|
|
387
|
+
const prefix = `skill_dependencies.${owner}[${index}]`;
|
|
388
|
+
requireObject(dependency, prefix);
|
|
389
|
+
requireString(dependency.skill, `${prefix}.skill`);
|
|
390
|
+
if (!registeredDependency(dependency.skill)) fail(`${owner} 的依赖引用了未登记技能: ${dependency.skill}`);
|
|
391
|
+
if (dependency.skill === owner) fail(`${owner} 不得依赖自身`);
|
|
392
|
+
if (!DEPENDENCY_TYPES.has(dependency.type)) fail(`${owner} 使用未知依赖类型: ${dependency.type}`);
|
|
393
|
+
if (dependency.type === "context-conditional") requireString(dependency.when, `${prefix}.when`);
|
|
394
|
+
if (dependency.when !== undefined) requireString(dependency.when, `${prefix}.when`);
|
|
395
|
+
const edgeKey = `${dependency.skill}\0${dependency.type}\0${dependency.when ?? ""}`;
|
|
396
|
+
if (edgeKeys.has(edgeKey)) fail(`${owner} 包含重复依赖: ${dependency.skill}`);
|
|
397
|
+
edgeKeys.add(edgeKey);
|
|
398
|
+
if (dependency.type === "context-required" && ids.has(dependency.skill)) requiredGraph.get(owner).push(dependency.skill);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
const visiting = new Set();
|
|
402
|
+
const visited = new Set();
|
|
403
|
+
const visit = (skillId, chain = []) => {
|
|
404
|
+
if (visiting.has(skillId)) fail(`context-required 依赖存在循环: ${[...chain, skillId].join(" -> ")}`);
|
|
405
|
+
if (visited.has(skillId)) return;
|
|
406
|
+
visiting.add(skillId);
|
|
407
|
+
for (const dependency of requiredGraph.get(skillId) ?? []) visit(dependency, [...chain, skillId]);
|
|
408
|
+
visiting.delete(skillId);
|
|
409
|
+
visited.add(skillId);
|
|
410
|
+
};
|
|
411
|
+
for (const skillId of ids) visit(skillId);
|
|
412
|
+
|
|
320
413
|
if (lock) {
|
|
321
414
|
const shared = Object.keys(lock.skills?.shared ?? {}).sort();
|
|
322
415
|
const registered = [...ids].sort();
|
|
@@ -349,23 +442,18 @@ export function validateSkillRegistry(registry, { lock, routerContract, lifecycl
|
|
|
349
442
|
}
|
|
350
443
|
}
|
|
351
444
|
|
|
352
|
-
if (
|
|
353
|
-
|
|
354
|
-
if (
|
|
355
|
-
|
|
356
|
-
|
|
445
|
+
if (compilerContract) {
|
|
446
|
+
if (compilerContract.schema_version !== 2) fail("compiler-contract.yaml schema_version 必须为 2;v1 已停止支持");
|
|
447
|
+
if (compilerContract.compiled_by !== "yss-implementation-contract-compiler") fail("compiler-contract.yaml compiled_by 无效");
|
|
448
|
+
if (compilerContract.capability_source !== "docs/agents/yss-skill-registry.yaml") fail("compiler-contract.yaml capability_source 必须指向技能注册表");
|
|
449
|
+
if (compilerContract.recipe_source !== "docs/agents/yss-skill-registry.yaml") fail("compiler-contract.yaml recipe_source 必须指向技能注册表");
|
|
450
|
+
requireObject(compilerContract.impact_to_capabilities, "compiler-contract.impact_to_capabilities");
|
|
451
|
+
for (const [impact, mapped] of Object.entries(compilerContract.impact_to_capabilities)) {
|
|
452
|
+
requireStringArray(mapped, `compiler-contract.impact_to_capabilities.${impact}`, { nonEmpty: true });
|
|
453
|
+
for (const capabilityId of mapped) if (!capabilityIds.has(capabilityId)) fail(`${impact} 映射了未知 capability: ${capabilityId}`);
|
|
357
454
|
}
|
|
358
|
-
for (const [
|
|
359
|
-
if (
|
|
360
|
-
}
|
|
361
|
-
const closures = Object.keys(routerContract.dependency_closure ?? {});
|
|
362
|
-
for (const name of closures) {
|
|
363
|
-
if (!ids.has(name) && !aliases.has(name) && !externalIds.has(name)) fail(`Router 闭包引用了未登记技能: ${name}`);
|
|
364
|
-
}
|
|
365
|
-
for (const dependencies of Object.values(routerContract.dependency_closure ?? {})) {
|
|
366
|
-
for (const names of Object.values(dependencies ?? {})) {
|
|
367
|
-
for (const name of names ?? []) if (!ids.has(name) && !aliases.has(name) && !externalIds.has(name)) fail(`Router 依赖引用了未登记技能: ${name}`);
|
|
368
|
-
}
|
|
455
|
+
for (const forbidden of ["skill_aliases", "skill_dependencies", "capabilities", "recipes", "dependency_closure", "end_to_end_backend_required", "component_impact_routing"]) {
|
|
456
|
+
if (compilerContract[forbidden] !== undefined) fail(`compiler-contract.yaml 不得重复注册表事实: ${forbidden}`);
|
|
369
457
|
}
|
|
370
458
|
}
|
|
371
459
|
|
|
@@ -424,10 +512,10 @@ export function validateSkillRegistry(registry, { lock, routerContract, lifecycl
|
|
|
424
512
|
export function validateDefaultSkillRegistry() {
|
|
425
513
|
const registry = loadSkillRegistry();
|
|
426
514
|
const lock = JSON.parse(readFileSync(LOCK_PATH, "utf8"));
|
|
427
|
-
const
|
|
515
|
+
const compilerContract = yamlFromFile(COMPILER_CONTRACT, "实现合同编译器合同");
|
|
428
516
|
return validateSkillRegistry(registry, {
|
|
429
517
|
lock,
|
|
430
|
-
|
|
518
|
+
compilerContract,
|
|
431
519
|
lifecycleContract: yamlFromFile(LIFECYCLE_CONTRACT, "生命周期编排合同"),
|
|
432
520
|
skillSource: (id) => readFileSync(path.join(ROOT, ".agents/skills", id, "SKILL.md"), "utf8")
|
|
433
521
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import { cpSync, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { cpSync, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, rmSync, symlinkSync, unlinkSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { spawnSync } from "node:child_process";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
@@ -8,8 +8,9 @@ export const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "
|
|
|
8
8
|
const SOURCE_ROOT = path.join(ROOT, ".agents/skills");
|
|
9
9
|
const LOCK_PATH = path.join(ROOT, "skills-lock.json");
|
|
10
10
|
const YSS_UI_MANIFEST_PATH = path.join(SOURCE_ROOT, ".yss-skills-manifest.json");
|
|
11
|
-
|
|
12
|
-
export const
|
|
11
|
+
const STRATEGIC_DESIGN_MANIFEST_PATH = path.join(SOURCE_ROOT, ".strategic-design-skills-manifest.json");
|
|
12
|
+
export const PROJECTION_ROOTS = [".claude/skills", ".codex/skills", ".cursor/skills", ".pi/skills", ".qoder/skills", ".trae/skills"];
|
|
13
|
+
export const OBSOLETE = new Set(["to-" + "prd", "to-" + "issues", "design-an-interface", "qa", "request-refactor-plan", "ubiquitous-language", "edit-article", "obsidian-vault", "writing-great-skills", "code-review-process", "yss-domain-modeling", "yss-dir", "yss-duckdb", "yss-file", "yss-filerunner", "yss-db2mybatis", "yss-mail", "yss-mapper-dynamic", "yss-quality", "yss-sql-condition", "yss-sql-tpl", "yss-valuation", "yss-variable", "yss-openapi", "web-design-engineer", "web-video-presentation", "wireframe-prototype", "wizard", "git-guardrails-claude-code", "claude-handoff", "batch-grill-me", "product-design-prototype", "research", "yss-dictionary", "yss-jdbc", "yss-log", "yss-taskflow", "yss-backend-scaffold-application", "yss-backend-scaffold-domain", "yss-backend-scaffold-infrastructure", "yss-backend-scaffold-web", "yss-router", "yss-source-index"]);
|
|
13
14
|
export function obsoleteCanonicalResidues(names, obsolete = OBSOLETE) {
|
|
14
15
|
return names.filter((name) => obsolete.has(name)).sort();
|
|
15
16
|
}
|
|
@@ -23,14 +24,16 @@ function treeFiles(directory, prefix = "") {
|
|
|
23
24
|
const absolute = path.join(directory, entry.name);
|
|
24
25
|
const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
25
26
|
if (entry.isDirectory()) return treeFiles(absolute, rel);
|
|
26
|
-
if (rel.split("/").includes("__pycache__") || /\.(pyc|pyo)$/.test(rel)) return [];
|
|
27
|
+
if (rel.split("/").includes("__pycache__") || /\.(iml|pyc|pyo)$/.test(rel)) return [];
|
|
27
28
|
return entry.isFile() || entry.isSymbolicLink() ? [[rel, absolute]] : [];
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
export function treeHash(directory) {
|
|
31
32
|
const digest = createHash("sha256");
|
|
32
33
|
for (const [name, file] of treeFiles(directory).sort(([left], [right]) => left.localeCompare(right))) {
|
|
33
|
-
|
|
34
|
+
const content = readFileSync(file);
|
|
35
|
+
const normalized = content.includes(0) ? content : Buffer.from(content.toString("utf8").replaceAll("\r\n", "\n"));
|
|
36
|
+
digest.update(name).update("\0").update(normalized).update("\0");
|
|
34
37
|
}
|
|
35
38
|
return digest.digest("hex");
|
|
36
39
|
}
|
|
@@ -86,9 +89,33 @@ export function validateYssUiSkillManifest(manifest) {
|
|
|
86
89
|
return manifest;
|
|
87
90
|
}
|
|
88
91
|
|
|
92
|
+
export function validateStrategicDesignSkillManifest(manifest) {
|
|
93
|
+
if (!manifest || typeof manifest !== "object" || Array.isArray(manifest)) throw new TypeError("战略设计 skills 清单必须是对象");
|
|
94
|
+
for (const field of ["source", "source_type", "source_root", "source_revision", "adaptation_ref"]) {
|
|
95
|
+
if (typeof manifest[field] !== "string" || !manifest[field].trim()) throw new TypeError(`战略设计 skills 清单缺少 ${field}`);
|
|
96
|
+
}
|
|
97
|
+
if (manifest.schema_version !== 1) throw new TypeError("战略设计 skills 清单 schema_version 必须为 1");
|
|
98
|
+
if (!/^[0-9a-f]{40}$/.test(manifest.source_revision)) throw new TypeError("战略设计 skills source_revision 必须是完整 Git SHA");
|
|
99
|
+
if (!Array.isArray(manifest.skills) || manifest.skills.length === 0) throw new TypeError("战略设计 skills 清单缺少 skills");
|
|
100
|
+
const upstreamNames = new Set();
|
|
101
|
+
const canonicalNames = new Set();
|
|
102
|
+
for (const skill of manifest.skills) {
|
|
103
|
+
if (!skill || typeof skill.upstream !== "string" || typeof skill.canonical !== "string") throw new TypeError("战略设计 skill 缺少 upstream/canonical");
|
|
104
|
+
if (!/^[0-9a-f]{64}$/.test(skill.upstream_hash ?? "")) throw new TypeError(`${skill.canonical} 缺少有效 upstream_hash`);
|
|
105
|
+
if (upstreamNames.has(skill.upstream)) throw new TypeError(`战略设计 upstream 重复: ${skill.upstream}`);
|
|
106
|
+
if (canonicalNames.has(skill.canonical)) throw new TypeError(`战略设计 canonical 重复: ${skill.canonical}`);
|
|
107
|
+
upstreamNames.add(skill.upstream);
|
|
108
|
+
canonicalNames.add(skill.canonical);
|
|
109
|
+
}
|
|
110
|
+
return manifest;
|
|
111
|
+
}
|
|
112
|
+
|
|
89
113
|
function loadYssUiSkillManifest() {
|
|
90
114
|
return validateYssUiSkillManifest(JSON.parse(readFileSync(YSS_UI_MANIFEST_PATH, "utf8")));
|
|
91
115
|
}
|
|
116
|
+
function loadStrategicDesignSkillManifest() {
|
|
117
|
+
return validateStrategicDesignSkillManifest(JSON.parse(readFileSync(STRATEGIC_DESIGN_MANIFEST_PATH, "utf8")));
|
|
118
|
+
}
|
|
92
119
|
function git(args) { return spawnSync("git", args, { cwd: ROOT, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }); }
|
|
93
120
|
function tracked(relativePath) { return git(["ls-files", "-z", "--", relativePath]).stdout.length > 0; }
|
|
94
121
|
function parseLock() { return existsSync(LOCK_PATH) ? JSON.parse(readFileSync(LOCK_PATH, "utf8")) : null; }
|
|
@@ -147,6 +174,7 @@ export function syncSkills({ check = false } = {}) {
|
|
|
147
174
|
for (const name of OBSOLETE) {
|
|
148
175
|
const target = path.join(projection, name);
|
|
149
176
|
if (check) { if (existsSync(target) || lstatSafe(target)?.isSymbolicLink()) drift.push(`obsolete projection: ${relative(target)}`); }
|
|
177
|
+
else if (lstatSafe(target)?.isSymbolicLink()) unlinkSync(target);
|
|
150
178
|
else rmSync(target, { recursive: true, force: true });
|
|
151
179
|
}
|
|
152
180
|
}
|
|
@@ -178,7 +206,7 @@ function sourceRevisionMap(oldLock, arguments_) {
|
|
|
178
206
|
function metadata(name, skillPath, directory, previous, canonical = false, sources = {}, upstreamRoot = null) {
|
|
179
207
|
const old = previous[name] ?? {};
|
|
180
208
|
let recordedPath = old.skillPath ?? skillPath;
|
|
181
|
-
if (canonical && /^\.(claude|codex|cursor|
|
|
209
|
+
if (canonical && /^\.(claude|codex|cursor|pi|qoder|trae)\/skills\//.test(recordedPath)) recordedPath = skillPath;
|
|
182
210
|
const result = { source: old.source ?? "project", sourceType: old.sourceType ?? "local", skillPath: recordedPath, effectiveHash: treeHash(directory) };
|
|
183
211
|
const sourceInfo = sources[result.source];
|
|
184
212
|
if (sourceInfo?.revision) result.sourceRevision = sourceInfo.revision;
|
|
@@ -199,6 +227,9 @@ export function updateSkillLock(arguments_ = process.argv.slice(2)) {
|
|
|
199
227
|
const yssUiManifest = loadYssUiSkillManifest();
|
|
200
228
|
sources[yssUiManifest.source] = { ...(sources[yssUiManifest.source] ?? {}), revision: yssUiManifest.source_revision };
|
|
201
229
|
const yssUiSkills = new Map(yssUiManifest.skills.map((skill) => [skill.canonical, skill]));
|
|
230
|
+
const strategicDesignManifest = loadStrategicDesignSkillManifest();
|
|
231
|
+
sources[strategicDesignManifest.source] = { ...(sources[strategicDesignManifest.source] ?? {}), revision: strategicDesignManifest.source_revision };
|
|
232
|
+
const strategicDesignSkills = new Map(strategicDesignManifest.skills.map((skill) => [skill.canonical, skill]));
|
|
202
233
|
if (upstreamRoot && !existsSync(upstreamRoot)) throw new TypeError(`--upstream-root 不存在: ${upstreamRoot}`);
|
|
203
234
|
const additions = arguments_.filter((arg) => arg.startsWith("--add=")).map((arg) => arg.slice(6));
|
|
204
235
|
const removals = new Set(arguments_.filter((arg) => arg.startsWith("--remove=")).map((arg) => arg.slice(9)));
|
|
@@ -222,6 +253,16 @@ export function updateSkillLock(arguments_ = process.argv.slice(2)) {
|
|
|
222
253
|
if (item.effectiveHash !== item.upstreamHash) item.adaptationRef = yssUiManifest.adaptation_ref;
|
|
223
254
|
else delete item.adaptationRef;
|
|
224
255
|
}
|
|
256
|
+
const strategicDesignSkill = strategicDesignSkills.get(name);
|
|
257
|
+
if (strategicDesignSkill) {
|
|
258
|
+
item.source = strategicDesignManifest.source;
|
|
259
|
+
item.sourceType = strategicDesignManifest.source_type;
|
|
260
|
+
item.skillPath = `${strategicDesignManifest.source_root}/${strategicDesignSkill.upstream}/SKILL.md`;
|
|
261
|
+
item.sourceRevision = strategicDesignManifest.source_revision;
|
|
262
|
+
item.upstreamHash = strategicDesignSkill.upstream_hash;
|
|
263
|
+
if (item.effectiveHash !== item.upstreamHash) item.adaptationRef = strategicDesignManifest.adaptation_ref;
|
|
264
|
+
else delete item.adaptationRef;
|
|
265
|
+
}
|
|
225
266
|
item.targets = targets;
|
|
226
267
|
return [name, item];
|
|
227
268
|
}));
|
|
@@ -217,8 +217,8 @@ const markerFiles = [
|
|
|
217
217
|
["docs/templates/cross-repo-slice-template.md", "superproject-gitlink-update"],
|
|
218
218
|
["docs/templates/implementation-routing-template.md", "git-submodule-harness-apps"],
|
|
219
219
|
[".agents/skills/implementation-repo-onboarding/SKILL.md", "git-submodule"],
|
|
220
|
-
[".agents/skills/yss-
|
|
221
|
-
[".agents/skills/yss-
|
|
220
|
+
[".agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md", "git-submodule-harness-apps"],
|
|
221
|
+
[".agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml", "git-submodule-harness-apps"],
|
|
222
222
|
[".agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml", "repository_scope=git-submodule"],
|
|
223
223
|
[".agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs", "gitSubmoduleScaffoldViolation"],
|
|
224
224
|
[".agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs", "refuseGitlinkAsRegularDirectory"]
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawnSync } from "node:child_process";
|
|
3
|
+
import { existsSync } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { PROJECTION_ROOTS, ROOT } from "./lib/skill-supply-chain.mjs";
|
|
6
|
+
|
|
7
|
+
const retired = ["yss-router", "yss-source-index"];
|
|
8
|
+
const allowed = (relative) => relative === "docs/agents/skill-migrations.md"
|
|
9
|
+
|| relative.includes("/docs/agents/skill-migrations.md")
|
|
10
|
+
|| relative.endsWith(".template-source/wiki/raw/skill-migrations.md")
|
|
11
|
+
|| relative.startsWith(".template-source/evidence/")
|
|
12
|
+
|| relative.includes("/.template-source/evidence/")
|
|
13
|
+
|| relative.includes("/tests/")
|
|
14
|
+
|| relative.endsWith("scripts/verify-retired-skill-ids")
|
|
15
|
+
|| relative.endsWith("scripts/lib/skill-supply-chain.mjs")
|
|
16
|
+
|| relative.endsWith("scripts/lib/implementation-contract-compiler.mjs");
|
|
17
|
+
|
|
18
|
+
const search = spawnSync("rg", ["-n", "--hidden", "--glob", "!.git/**", "--glob", "!.codegraph/**", "--glob", "!submodules/**", retired.join("|"), "."], {
|
|
19
|
+
cwd: ROOT,
|
|
20
|
+
encoding: "utf8"
|
|
21
|
+
});
|
|
22
|
+
if (![0, 1].includes(search.status)) {
|
|
23
|
+
process.stderr.write(search.stderr || "无法扫描退役 skill id\n");
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
const violations = search.stdout.split(/\r?\n/).filter(Boolean).filter((line) => {
|
|
27
|
+
const match = line.match(/^\.\/(.*?):\d+:/);
|
|
28
|
+
return !match || !allowed(match[1]);
|
|
29
|
+
});
|
|
30
|
+
for (const name of retired) {
|
|
31
|
+
const roots = [".agents/skills", ...PROJECTION_ROOTS];
|
|
32
|
+
for (const root of roots) if (existsSync(path.join(ROOT, root, name))) violations.push(`${root}/${name}: retired physical directory remains`);
|
|
33
|
+
}
|
|
34
|
+
if (violations.length) {
|
|
35
|
+
process.stderr.write(`退役 skill id 仍存在于活跃资产:\n${violations.join("\n")}\n`);
|
|
36
|
+
process.exitCode = 1;
|
|
37
|
+
} else process.stdout.write("retired skill ids are absent from active assets\n");
|