@bovinphang/frontend-craft 2.6.0 → 2.8.0
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/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +72 -1
- package/CHANGELOG.zh-CN.md +71 -1
- package/README.md +10 -6
- package/README.openclaw.md +100 -42
- package/README.openclaw.zh-CN.md +100 -42
- package/README.zh-CN.md +10 -6
- package/agents/fec-architect.md +70 -70
- package/agents/fec-code-reviewer.md +82 -82
- package/agents/fec-debugger.md +20 -20
- package/agents/fec-design-token-mapper.md +36 -36
- package/agents/fec-doc-updater.md +13 -13
- package/agents/fec-e2e-runner.md +45 -45
- package/agents/fec-figma-implementer.md +59 -59
- package/agents/fec-performance-optimizer.md +128 -128
- package/agents/fec-refactor-cleaner.md +14 -14
- package/agents/fec-security-reviewer.md +66 -67
- package/agents/fec-test-planner.md +27 -27
- package/agents/fec-typescript-reviewer.md +88 -88
- package/agents/fec-ui-checker.md +74 -74
- package/commands/fec-debug.md +19 -19
- package/commands/fec-doc-sync.md +11 -11
- package/commands/fec-init.md +37 -38
- package/commands/fec-plan.md +58 -58
- package/commands/fec-refactor-clean.md +11 -11
- package/commands/fec-review.md +41 -41
- package/commands/fec-scaffold.md +41 -41
- package/commands/fec-tdd.md +13 -13
- package/dist/bin/frontend-craft.js +29 -27
- package/docs/example-prompts.md +84 -69
- package/docs/ja-JP/README.md +56 -52
- package/docs/ko-KR/README.md +45 -41
- package/docs/project-structure.md +19 -7
- package/docs/superpowers/plans/2026-05-29-fec-debug.md +491 -0
- package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +340 -0
- package/docs/zh-CN/example-prompts.md +84 -69
- package/docs/zh-CN/project-structure.md +14 -5
- package/docs/zh-TW/README.md +33 -29
- package/localized/zh-CN/agents/fec-architect.md +125 -0
- package/localized/zh-CN/agents/fec-code-reviewer.md +152 -0
- package/localized/zh-CN/agents/fec-debugger.md +44 -0
- package/localized/zh-CN/agents/fec-design-token-mapper.md +75 -0
- package/localized/zh-CN/agents/fec-doc-updater.md +30 -0
- package/localized/zh-CN/agents/fec-e2e-runner.md +107 -0
- package/localized/zh-CN/agents/fec-figma-implementer.md +104 -0
- package/localized/zh-CN/agents/fec-performance-optimizer.md +293 -0
- package/localized/zh-CN/agents/fec-refactor-cleaner.md +32 -0
- package/localized/zh-CN/agents/fec-security-reviewer.md +116 -0
- package/localized/zh-CN/agents/fec-test-planner.md +50 -0
- package/localized/zh-CN/agents/fec-typescript-reviewer.md +142 -0
- package/localized/zh-CN/agents/fec-ui-checker.md +120 -0
- package/localized/zh-CN/commands/fec-debug.md +30 -0
- package/localized/zh-CN/commands/fec-doc-sync.md +19 -0
- package/localized/zh-CN/commands/fec-init.md +70 -0
- package/localized/zh-CN/commands/fec-plan.md +94 -0
- package/localized/zh-CN/commands/fec-refactor-clean.md +19 -0
- package/localized/zh-CN/commands/fec-review.md +66 -0
- package/localized/zh-CN/commands/fec-scaffold.md +205 -0
- package/localized/zh-CN/commands/fec-tdd.md +21 -0
- package/localized/zh-CN/skills/TEMPLATE.md +155 -0
- package/localized/zh-CN/skills/eval_queries.json +1013 -0
- package/localized/zh-CN/skills/fec-accessibility-check/SKILL.md +39 -0
- package/localized/zh-CN/skills/fec-accessibility-check/references/report-template.md +23 -0
- package/localized/zh-CN/skills/fec-accessibility-check/references/screen-reader-testing.md +33 -0
- package/localized/zh-CN/skills/fec-alchemy/SKILL.md +74 -0
- package/localized/zh-CN/skills/fec-alchemy/assets/absorption-plan-template.md +47 -0
- package/localized/zh-CN/skills/fec-alchemy/assets/intake-template.md +55 -0
- package/localized/zh-CN/skills/fec-alchemy/assets/review-checklist.md +31 -0
- package/localized/zh-CN/skills/fec-alchemy/references/methodology.md +94 -0
- package/localized/zh-CN/skills/fec-alchemy/references/originality-and-licensing.md +57 -0
- package/localized/zh-CN/skills/fec-api-integration/SKILL.md +78 -0
- package/localized/zh-CN/skills/fec-api-integration/references/integration-patterns.md +80 -0
- package/localized/zh-CN/skills/fec-backend-requirements-handoff/SKILL.md +45 -0
- package/localized/zh-CN/skills/fec-browser-storage/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-browser-storage/references/storage-patterns.md +65 -0
- package/localized/zh-CN/skills/fec-canvas-threejs/SKILL.md +66 -0
- package/localized/zh-CN/skills/fec-canvas-threejs/references/rendering-patterns.md +67 -0
- package/localized/zh-CN/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +67 -0
- package/localized/zh-CN/skills/fec-code-review/SKILL.md +143 -0
- package/localized/zh-CN/skills/fec-code-review/references/report-template.md +29 -0
- package/localized/zh-CN/skills/fec-component-testing/SKILL.md +119 -0
- package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +62 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/query-patterns.md +103 -0
- package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +157 -0
- package/localized/zh-CN/skills/fec-debug-framework/references/report-template.md +58 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +56 -0
- package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +39 -0
- package/localized/zh-CN/skills/fec-drawio-studio/SKILL.md +73 -0
- package/localized/zh-CN/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +10 -0
- package/localized/zh-CN/skills/fec-drawio-studio/data/brand-icons.json +878 -0
- package/localized/zh-CN/skills/fec-drawio-studio/data/shape-index.json +83570 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/data-residency.md +27 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/diagram-patterns.md +60 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/flowchart-quality.md +49 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/layout-and-export.md +72 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/troubleshooting.md +29 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/xml-and-mermaid.md +58 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/brand-symbols.mjs +99 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/diagram-lint.mjs +205 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/diagram-url.mjs +102 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/drawio-export.mjs +134 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/layout-graph.mjs +107 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/png-embed-fix.mjs +26 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-go-packages.mjs +36 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-js-modules.mjs +52 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-python-classes.mjs +30 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-python-modules.mjs +55 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-rust-modules.mjs +35 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-ts-modules.mjs +7 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/shape-query.mjs +121 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/studio-core.mjs +139 -0
- package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/corporate.json +49 -0
- package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/default.json +49 -0
- package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/handdrawn.json +49 -0
- package/localized/zh-CN/skills/fec-drawio-studio/styles/schema.json +112 -0
- package/localized/zh-CN/skills/fec-e2e-testing/SKILL.md +42 -0
- package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-ci-reporting.md +62 -0
- package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-special-scenarios.md +52 -0
- package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-visual-regression.md +60 -0
- package/localized/zh-CN/skills/fec-e2e-testing/references/playwright-patterns.md +95 -0
- package/localized/zh-CN/skills/fec-form-handling/SKILL.md +76 -0
- package/localized/zh-CN/skills/fec-form-handling/references/advanced-form-patterns.md +101 -0
- package/localized/zh-CN/skills/fec-image-generation/SKILL.md +80 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/interactive-diagram.html +371 -0
- package/localized/zh-CN/skills/fec-image-generation/references/artifact-routing.md +80 -0
- package/localized/zh-CN/skills/fec-image-generation/references/diagram-workflows.md +74 -0
- package/localized/zh-CN/skills/fec-image-generation/references/html-technical-diagrams.md +236 -0
- package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +30 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/export-diagram.mjs +364 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/interactive-diagram-server.mjs +654 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +431 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/tech-diagram-render.mjs +1397 -0
- package/localized/zh-CN/skills/fec-implement-from-design/SKILL.md +129 -0
- package/localized/zh-CN/skills/fec-implement-from-design/references/design-plan-template.md +36 -0
- package/localized/zh-CN/skills/fec-legacy-to-modern-migration/SKILL.md +46 -0
- package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +110 -0
- package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +41 -0
- package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +48 -0
- package/localized/zh-CN/skills/fec-legacy-web-standard/SKILL.md +35 -0
- package/localized/zh-CN/skills/fec-legacy-web-standard/references/legacy-patterns.md +85 -0
- package/localized/zh-CN/skills/fec-list-virtualization/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-list-virtualization/references/virtualization-patterns.md +80 -0
- package/localized/zh-CN/skills/fec-monorepo-project-standard/SKILL.md +142 -0
- package/localized/zh-CN/skills/fec-motion-interaction/SKILL.md +73 -0
- package/localized/zh-CN/skills/fec-motion-interaction/references/motion-patterns.md +112 -0
- package/localized/zh-CN/skills/fec-nextjs-project-standard/SKILL.md +123 -0
- package/localized/zh-CN/skills/fec-nuxt-project-standard/SKILL.md +122 -0
- package/localized/zh-CN/skills/fec-performance-optimization/SKILL.md +80 -0
- package/localized/zh-CN/skills/fec-performance-optimization/references/framework-performance-patterns.md +38 -0
- package/localized/zh-CN/skills/fec-performance-optimization/references/report-template.md +59 -0
- package/localized/zh-CN/skills/fec-pwa-implementation/SKILL.md +35 -0
- package/localized/zh-CN/skills/fec-pwa-implementation/references/manifest-and-icons.md +53 -0
- package/localized/zh-CN/skills/fec-pwa-implementation/references/service-worker-workbox.md +68 -0
- package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +91 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-performance-patterns.md +35 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-project-structure.md +197 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +131 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +293 -0
- package/localized/zh-CN/skills/fec-refactor-clean/SKILL.md +51 -0
- package/localized/zh-CN/skills/fec-refactor-clean/references/report-template.md +42 -0
- package/localized/zh-CN/skills/fec-responsive-layout/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-responsive-layout/references/responsive-layout-patterns.md +70 -0
- package/localized/zh-CN/skills/fec-route-protection/SKILL.md +135 -0
- package/localized/zh-CN/skills/fec-security-review/SKILL.md +38 -0
- package/localized/zh-CN/skills/fec-security-review/references/report-template.md +27 -0
- package/localized/zh-CN/skills/fec-security-review/references/security-checklist.md +64 -0
- package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +87 -0
- package/localized/zh-CN/skills/fec-state-management/SKILL.md +140 -0
- package/localized/zh-CN/skills/fec-state-management/references/state-patterns.md +109 -0
- package/localized/zh-CN/skills/fec-storybook-component-doc/SKILL.md +37 -0
- package/localized/zh-CN/skills/fec-storybook-component-doc/references/story-patterns.md +118 -0
- package/localized/zh-CN/skills/fec-svg-animation/SKILL.md +148 -0
- package/localized/zh-CN/skills/fec-tailwind-design-system/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +59 -0
- package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +52 -0
- package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +45 -0
- package/localized/zh-CN/skills/fec-typescript-project-standard/SKILL.md +54 -0
- package/{skills/fec-typescript-type-safety → localized/zh-CN/skills/fec-typescript-project-standard}/references/type-safety-patterns.md +1 -1
- package/{skills/fec-typescript-type-safety/SKILL.md → localized/zh-CN/skills/fec-typescript-project-standard/references/type-safety.md} +5 -14
- package/localized/zh-CN/skills/fec-ui-design/SKILL.md +108 -0
- package/localized/zh-CN/skills/fec-ui-design/data/product-rules.json +231 -0
- package/localized/zh-CN/skills/fec-ui-design/data/stack-ui-rules.json +146 -0
- package/localized/zh-CN/skills/fec-ui-design/data/style-archetypes.json +373 -0
- package/localized/zh-CN/skills/fec-ui-design/data/ux-quality-rules.json +203 -0
- package/localized/zh-CN/skills/fec-ui-design/references/design-intelligence.md +97 -0
- package/localized/zh-CN/skills/fec-ui-design/references/master-page-overrides.md +30 -0
- package/localized/zh-CN/skills/fec-ui-design/references/pre-delivery-checklist.md +39 -0
- package/localized/zh-CN/skills/fec-ui-design/scripts/design-system.mjs +648 -0
- package/localized/zh-CN/skills/fec-validation-fix/SKILL.md +51 -0
- package/localized/zh-CN/skills/fec-validation-fix/references/report-template.md +43 -0
- package/localized/zh-CN/skills/fec-vite-project-standard/SKILL.md +83 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +58 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +162 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +13 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +176 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +216 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/SKILL.md +61 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/data/starter-themes.json +59 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/references/chapter-craft.md +37 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/references/content-plan.md +38 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/references/recording-and-audio.md +33 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/references/theme-system.md +36 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/scripts/create-video-presentation.mjs +430 -0
- package/localized/zh-CN/skills/fec-web-workers/SKILL.md +35 -0
- package/localized/zh-CN/skills/fec-web-workers/references/advanced-workers.md +54 -0
- package/localized/zh-CN/skills/fec-web-workers/references/basic-worker.md +67 -0
- package/localized/zh-CN/skills/metadata.json +1646 -0
- package/localized/zh-CN/skills/relations.json +755 -0
- package/localized/zh-CN/templates/claude/CLAUDE.md +106 -0
- package/localized/zh-CN/templates/claude/settings.json +62 -0
- package/localized/zh-CN/templates/codex/AGENTS.md +105 -0
- package/localized/zh-CN/templates/codex/config.toml +32 -0
- package/localized/zh-CN/templates/openclaw/AGENTS.md +101 -0
- package/localized/zh-CN/templates/openclaw/OPENCLAW-CONFIG.md +12 -0
- package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +54 -0
- package/localized/zh-CN/templates/shared/rules/fec-api-layer.md +99 -0
- package/localized/zh-CN/templates/shared/rules/fec-ci-cd.md +40 -0
- package/localized/zh-CN/templates/shared/rules/fec-code-comments.md +33 -0
- package/localized/zh-CN/templates/shared/rules/fec-design-system.md +72 -0
- package/localized/zh-CN/templates/shared/rules/fec-error-handling.md +56 -0
- package/localized/zh-CN/templates/shared/rules/fec-git-conventions.md +73 -0
- package/localized/zh-CN/templates/shared/rules/fec-i18n.md +64 -0
- package/localized/zh-CN/templates/shared/rules/fec-naming-conventions.md +120 -0
- package/localized/zh-CN/templates/shared/rules/fec-performance.md +101 -0
- package/localized/zh-CN/templates/shared/rules/fec-react.md +82 -0
- package/localized/zh-CN/templates/shared/rules/fec-refactoring.md +47 -0
- package/localized/zh-CN/templates/shared/rules/fec-rendering-patterns.md +40 -0
- package/localized/zh-CN/templates/shared/rules/fec-responsive-design.md +50 -0
- package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +31 -0
- package/localized/zh-CN/templates/shared/rules/fec-state-management.md +60 -0
- package/localized/zh-CN/templates/shared/rules/fec-testing.md +98 -0
- package/localized/zh-CN/templates/shared/rules/fec-typescript.md +112 -0
- package/localized/zh-CN/templates/shared/rules/fec-vue.md +64 -0
- package/localized/zh-CN/templates/shared/rules/fec-working-modes.md +50 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +4 -3
- package/skills/TEMPLATE.md +74 -74
- package/skills/eval_queries.json +717 -619
- package/skills/fec-accessibility-check/SKILL.md +21 -21
- package/skills/fec-accessibility-check/references/report-template.md +12 -12
- package/skills/fec-accessibility-check/references/screen-reader-testing.md +24 -24
- package/skills/fec-alchemy/SKILL.md +50 -50
- package/skills/fec-alchemy/assets/absorption-plan-template.md +32 -32
- package/skills/fec-alchemy/assets/intake-template.md +55 -55
- package/skills/fec-alchemy/assets/review-checklist.md +23 -23
- package/skills/fec-alchemy/references/methodology.md +66 -66
- package/skills/fec-alchemy/references/originality-and-licensing.md +42 -42
- package/skills/fec-api-integration/SKILL.md +61 -61
- package/skills/fec-api-integration/references/integration-patterns.md +30 -30
- package/skills/fec-backend-requirements-handoff/SKILL.md +45 -0
- package/skills/fec-browser-storage/SKILL.md +16 -16
- package/skills/fec-browser-storage/references/storage-patterns.md +16 -16
- package/skills/fec-canvas-threejs/SKILL.md +21 -21
- package/skills/fec-canvas-threejs/references/rendering-patterns.md +10 -10
- package/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +37 -37
- package/skills/fec-code-review/SKILL.md +94 -94
- package/skills/fec-code-review/references/report-template.md +13 -13
- package/skills/fec-component-testing/SKILL.md +39 -39
- package/skills/fec-data-fetching/SKILL.md +16 -16
- package/skills/fec-data-fetching/references/query-patterns.md +27 -27
- package/skills/fec-debug-framework/SKILL.md +95 -95
- package/skills/fec-debug-framework/references/report-template.md +34 -34
- package/skills/fec-dependency-upgrade/SKILL.md +17 -17
- package/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +31 -31
- package/skills/fec-doc-sync/SKILL.md +23 -23
- package/skills/fec-drawio-studio/SKILL.md +73 -0
- package/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +10 -0
- package/skills/fec-drawio-studio/data/brand-icons.json +878 -0
- package/skills/fec-drawio-studio/data/shape-index.json +83570 -0
- package/skills/fec-drawio-studio/references/data-residency.md +27 -0
- package/skills/fec-drawio-studio/references/diagram-patterns.md +60 -0
- package/skills/fec-drawio-studio/references/flowchart-quality.md +49 -0
- package/skills/fec-drawio-studio/references/layout-and-export.md +72 -0
- package/skills/fec-drawio-studio/references/troubleshooting.md +29 -0
- package/skills/fec-drawio-studio/references/xml-and-mermaid.md +58 -0
- package/skills/fec-drawio-studio/scripts/brand-symbols.mjs +99 -0
- package/skills/fec-drawio-studio/scripts/diagram-lint.mjs +205 -0
- package/skills/fec-drawio-studio/scripts/diagram-url.mjs +102 -0
- package/skills/fec-drawio-studio/scripts/drawio-export.mjs +134 -0
- package/skills/fec-drawio-studio/scripts/layout-graph.mjs +107 -0
- package/skills/fec-drawio-studio/scripts/png-embed-fix.mjs +26 -0
- package/skills/fec-drawio-studio/scripts/scan-go-packages.mjs +36 -0
- package/skills/fec-drawio-studio/scripts/scan-js-modules.mjs +52 -0
- package/skills/fec-drawio-studio/scripts/scan-python-classes.mjs +30 -0
- package/skills/fec-drawio-studio/scripts/scan-python-modules.mjs +55 -0
- package/skills/fec-drawio-studio/scripts/scan-rust-modules.mjs +35 -0
- package/skills/fec-drawio-studio/scripts/scan-ts-modules.mjs +7 -0
- package/skills/fec-drawio-studio/scripts/shape-query.mjs +121 -0
- package/skills/fec-drawio-studio/scripts/studio-core.mjs +139 -0
- package/skills/fec-drawio-studio/styles/built-in/corporate.json +49 -0
- package/skills/fec-drawio-studio/styles/built-in/default.json +49 -0
- package/skills/fec-drawio-studio/styles/built-in/handdrawn.json +49 -0
- package/skills/fec-drawio-studio/styles/schema.json +112 -0
- package/skills/fec-e2e-testing/SKILL.md +24 -22
- package/skills/fec-e2e-testing/references/e2e-ci-reporting.md +62 -0
- package/skills/fec-e2e-testing/references/e2e-special-scenarios.md +52 -0
- package/skills/fec-e2e-testing/references/e2e-visual-regression.md +60 -0
- package/skills/fec-e2e-testing/references/playwright-patterns.md +6 -6
- package/skills/fec-form-handling/SKILL.md +21 -21
- package/skills/fec-form-handling/references/advanced-form-patterns.md +41 -41
- package/skills/fec-image-generation/SKILL.md +81 -0
- package/skills/fec-image-generation/assets/interactive-diagram.html +371 -0
- package/skills/fec-image-generation/references/artifact-routing.md +80 -0
- package/skills/fec-image-generation/references/diagram-workflows.md +74 -0
- package/skills/fec-image-generation/references/html-technical-diagrams.md +236 -0
- package/skills/fec-image-generation/references/png-qa-autofix.md +30 -0
- package/skills/fec-image-generation/scripts/export-diagram.mjs +364 -0
- package/skills/fec-image-generation/scripts/interactive-diagram-server.mjs +654 -0
- package/skills/fec-image-generation/scripts/png-qa.mjs +431 -0
- package/skills/fec-image-generation/scripts/tech-diagram-render.mjs +1397 -0
- package/skills/fec-implement-from-design/SKILL.md +81 -74
- package/skills/fec-implement-from-design/references/design-plan-template.md +16 -16
- package/skills/fec-legacy-to-modern-migration/SKILL.md +29 -173
- package/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +110 -0
- package/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +37 -37
- package/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +48 -0
- package/skills/fec-legacy-web-standard/SKILL.md +17 -17
- package/skills/fec-legacy-web-standard/references/legacy-patterns.md +16 -16
- package/skills/fec-list-virtualization/SKILL.md +16 -16
- package/skills/fec-list-virtualization/references/virtualization-patterns.md +31 -31
- package/skills/fec-monorepo-project-standard/SKILL.md +52 -52
- package/skills/fec-motion-interaction/SKILL.md +51 -44
- package/skills/fec-motion-interaction/references/motion-patterns.md +11 -11
- package/skills/fec-nextjs-project-standard/SKILL.md +64 -58
- package/skills/fec-nuxt-project-standard/SKILL.md +57 -57
- package/skills/fec-performance-optimization/SKILL.md +54 -50
- package/skills/fec-performance-optimization/references/framework-performance-patterns.md +38 -0
- package/skills/fec-performance-optimization/references/report-template.md +34 -28
- package/skills/fec-pwa-implementation/SKILL.md +17 -17
- package/skills/fec-pwa-implementation/references/manifest-and-icons.md +12 -12
- package/skills/fec-pwa-implementation/references/service-worker-workbox.md +13 -13
- package/skills/fec-react-project-standard/SKILL.md +72 -64
- package/skills/fec-react-project-standard/references/react-performance-patterns.md +35 -0
- package/skills/fec-react-project-standard/references/react-project-structure.md +197 -0
- package/skills/fec-react-project-standard/references/react-quality-patterns.md +131 -0
- package/skills/fec-react-project-standard/references/react-runtime-patterns.md +293 -0
- package/skills/fec-refactor-clean/SKILL.md +30 -30
- package/skills/fec-refactor-clean/references/report-template.md +23 -23
- package/skills/fec-responsive-layout/SKILL.md +17 -17
- package/skills/fec-responsive-layout/references/responsive-layout-patterns.md +39 -28
- package/skills/fec-route-protection/SKILL.md +26 -26
- package/skills/fec-security-review/SKILL.md +20 -20
- package/skills/fec-security-review/references/report-template.md +12 -12
- package/skills/fec-security-review/references/security-checklist.md +27 -27
- package/skills/fec-source-driven-development/SKILL.md +66 -40
- package/skills/fec-state-management/SKILL.md +34 -34
- package/skills/fec-state-management/references/state-patterns.md +19 -19
- package/skills/fec-storybook-component-doc/SKILL.md +19 -19
- package/skills/fec-storybook-component-doc/references/story-patterns.md +12 -12
- package/skills/fec-svg-animation/SKILL.md +32 -32
- package/skills/fec-tailwind-design-system/SKILL.md +17 -17
- package/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +36 -32
- package/skills/fec-tdd-workflow/SKILL.md +28 -28
- package/skills/fec-testing-strategy/SKILL.md +29 -29
- package/skills/fec-typescript-project-standard/SKILL.md +54 -0
- package/skills/fec-typescript-project-standard/references/type-safety-patterns.md +102 -0
- package/skills/fec-typescript-project-standard/references/type-safety.md +148 -0
- package/skills/fec-ui-design/SKILL.md +90 -72
- package/skills/fec-ui-design/data/style-archetypes.json +40 -0
- package/skills/fec-ui-design/data/ux-quality-rules.json +35 -0
- package/skills/fec-ui-design/references/design-intelligence.md +81 -21
- package/skills/fec-ui-design/references/master-page-overrides.md +15 -15
- package/skills/fec-ui-design/references/pre-delivery-checklist.md +38 -32
- package/skills/fec-ui-design/scripts/design-system.mjs +119 -1
- package/skills/fec-validation-fix/SKILL.md +26 -26
- package/skills/fec-validation-fix/references/report-template.md +25 -25
- package/skills/fec-vite-project-standard/SKILL.md +39 -39
- package/skills/fec-vue3-project-standard/SKILL.md +39 -30
- package/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +163 -0
- package/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +13 -0
- package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +177 -0
- package/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +216 -0
- package/skills/fec-web-video-presentation/SKILL.md +61 -0
- package/skills/fec-web-video-presentation/data/starter-themes.json +59 -0
- package/skills/fec-web-video-presentation/references/chapter-craft.md +37 -0
- package/skills/fec-web-video-presentation/references/content-plan.md +38 -0
- package/skills/fec-web-video-presentation/references/recording-and-audio.md +33 -0
- package/skills/fec-web-video-presentation/references/theme-system.md +36 -0
- package/skills/fec-web-video-presentation/scripts/create-video-presentation.mjs +430 -0
- package/skills/fec-web-workers/SKILL.md +16 -16
- package/skills/fec-web-workers/references/advanced-workers.md +13 -13
- package/skills/fec-web-workers/references/basic-worker.md +8 -8
- package/skills/metadata.json +402 -220
- package/skills/relations.json +120 -25
- package/templates/claude/CLAUDE.md +60 -60
- package/templates/codex/AGENTS.md +76 -76
- package/templates/codex/config.toml +4 -4
- package/templates/openclaw/AGENTS.md +68 -68
- package/templates/openclaw/OPENCLAW-CONFIG.md +8 -8
- package/templates/shared/rules/fec-agent-workflow.md +40 -40
- package/templates/shared/rules/fec-api-layer.md +52 -52
- package/templates/shared/rules/fec-ci-cd.md +29 -117
- package/templates/shared/rules/fec-code-comments.md +22 -22
- package/templates/shared/rules/fec-design-system.md +65 -241
- package/templates/shared/rules/fec-error-handling.md +41 -185
- package/templates/shared/rules/fec-git-conventions.md +42 -42
- package/templates/shared/rules/fec-i18n.md +48 -96
- package/templates/shared/rules/fec-naming-conventions.md +91 -91
- package/templates/shared/rules/fec-performance.md +78 -78
- package/templates/shared/rules/fec-react.md +58 -58
- package/templates/shared/rules/fec-refactoring.md +34 -30
- package/templates/shared/rules/fec-rendering-patterns.md +40 -183
- package/templates/shared/rules/fec-responsive-design.md +37 -214
- package/templates/shared/rules/fec-source-driven-development.md +22 -22
- package/templates/shared/rules/fec-state-management.md +45 -148
- package/templates/shared/rules/fec-testing.md +64 -64
- package/templates/shared/rules/fec-typescript.md +98 -341
- package/templates/shared/rules/fec-vue.md +42 -42
- package/templates/shared/rules/fec-working-modes.md +34 -34
- package/skills/fec-e2e-testing/references/e2e-advanced.md +0 -176
- package/skills/fec-react-project-standard/references/react-project-details.md +0 -642
- package/skills/fec-vue3-project-standard/references/vue3-project-details.md +0 -547
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# Vue 3 状态、API 与质量模式
|
|
2
|
+
|
|
3
|
+
## 状态管理(Pinia)
|
|
4
|
+
|
|
5
|
+
| 状态类型 | 推荐方案 |
|
|
6
|
+
| ------------------ | ----------------------------- |
|
|
7
|
+
| 组件内临时 UI 状态 | `ref` / `reactive` |
|
|
8
|
+
| 跨组件共享业务状态 | Pinia store |
|
|
9
|
+
| 服务端数据缓存 | VueQuery / 自定义 composable |
|
|
10
|
+
| URL 驱动状态 | 路由参数 / `useRoute().query` |
|
|
11
|
+
| 表单状态 | VeeValidate / FormKit |
|
|
12
|
+
|
|
13
|
+
### Pinia Store 规范
|
|
14
|
+
|
|
15
|
+
使用 Composition API 风格(`setup store`):
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
// stores/authStore.ts
|
|
19
|
+
export const useAuthStore = defineStore("auth", () => {
|
|
20
|
+
const user = ref<User | null>(null);
|
|
21
|
+
const token = ref<string | null>(localStorage.getItem("token"));
|
|
22
|
+
|
|
23
|
+
const isLoggedIn = computed(() => !!token.value);
|
|
24
|
+
|
|
25
|
+
async function login(credentials: LoginParams) {
|
|
26
|
+
const res = await authApi.login(credentials);
|
|
27
|
+
user.value = res.user;
|
|
28
|
+
token.value = res.token;
|
|
29
|
+
localStorage.setItem("token", res.token);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function logout() {
|
|
33
|
+
user.value = null;
|
|
34
|
+
token.value = null;
|
|
35
|
+
localStorage.removeItem("token");
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return { user: readonly(user), isLoggedIn, login, logout };
|
|
39
|
+
});
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Store 原则
|
|
43
|
+
|
|
44
|
+
- 每个 store 职责单一,按领域拆分
|
|
45
|
+
- 对外暴露 `readonly` 的状态,通过 action 修改
|
|
46
|
+
- 不要在 store 中存放 UI 临时状态(modal 开关、表单输入等)
|
|
47
|
+
- 服务端数据优先用请求库管理,而非手动存入 store
|
|
48
|
+
|
|
49
|
+
## API 层规范
|
|
50
|
+
|
|
51
|
+
### 请求实例
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
// services/request.ts
|
|
55
|
+
const request = axios.create({
|
|
56
|
+
baseURL: import.meta.env.VITE_API_BASE_URL,
|
|
57
|
+
timeout: 10000,
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
request.interceptors.request.use((config) => {
|
|
61
|
+
const authStore = useAuthStore();
|
|
62
|
+
if (authStore.token) {
|
|
63
|
+
config.headers.Authorization = `Bearer ${authStore.token}`;
|
|
64
|
+
}
|
|
65
|
+
return config;
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
request.interceptors.response.use(
|
|
69
|
+
(res) => res.data,
|
|
70
|
+
(error) => {
|
|
71
|
+
if (error.response?.status === 401) {
|
|
72
|
+
const authStore = useAuthStore();
|
|
73
|
+
authStore.logout();
|
|
74
|
+
router.push({ name: "Login" });
|
|
75
|
+
}
|
|
76
|
+
return Promise.reject(normalizeError(error));
|
|
77
|
+
},
|
|
78
|
+
);
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### API 函数
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
// features/user/api.ts
|
|
85
|
+
export function getUserList(
|
|
86
|
+
params: UserQueryParams,
|
|
87
|
+
): Promise<PageResult<User>> {
|
|
88
|
+
return request.get("/users", { params });
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export function updateUser(id: string, data: UpdateUserDTO): Promise<User> {
|
|
92
|
+
return request.put(`/users/${id}`, data);
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- API 函数按 feature 组织,而非全部堆在一个文件
|
|
97
|
+
- 请求参数和响应都有类型约束
|
|
98
|
+
- 拦截器统一处理认证、错误格式化
|
|
99
|
+
|
|
100
|
+
## 错误处理
|
|
101
|
+
|
|
102
|
+
### 全局错误捕获
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
// main.ts
|
|
106
|
+
app.config.errorHandler = (err, instance, info) => {
|
|
107
|
+
reportError(err, { component: instance?.$options.name, info });
|
|
108
|
+
};
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 组件级错误
|
|
112
|
+
|
|
113
|
+
- 使用 `onErrorCaptured` 在父组件中捕获子组件错误
|
|
114
|
+
- 数据请求失败需有用户可见的提示和重试机制
|
|
115
|
+
- 不要吞掉错误(空 catch 块)
|
|
116
|
+
|
|
117
|
+
## 自定义指令
|
|
118
|
+
|
|
119
|
+
```typescript
|
|
120
|
+
// directives/vPermission.ts
|
|
121
|
+
export const vPermission: Directive<HTMLElement, string> = {
|
|
122
|
+
mounted(el, binding) {
|
|
123
|
+
const authStore = useAuthStore();
|
|
124
|
+
if (!authStore.hasPermission(binding.value)) {
|
|
125
|
+
el.parentNode?.removeChild(el);
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
- 指令只处理 DOM 层面的操作
|
|
132
|
+
- 业务逻辑不要放在指令中
|
|
133
|
+
- 需要响应式更新时实现 `updated` 钩子
|
|
134
|
+
|
|
135
|
+
## 样式规范
|
|
136
|
+
|
|
137
|
+
- 使用 `<style scoped>` 隔离样式
|
|
138
|
+
- 深度选择器使用 `:deep()` 而非已废弃的 `::v-deep`
|
|
139
|
+
- 与项目现有样式体系保持一致
|
|
140
|
+
- 动态样式优先使用 `:class` / `:style` 绑定
|
|
141
|
+
- 复杂主题切换使用 CSS 变量
|
|
142
|
+
- 主题/全局变量通过 CSS 变量或 Token 管理
|
|
143
|
+
|
|
144
|
+
## 测试规范
|
|
145
|
+
|
|
146
|
+
### 必须测试
|
|
147
|
+
|
|
148
|
+
- 核心交互行为(点击、输入、提交)
|
|
149
|
+
- 条件渲染(loading / error / empty / data)
|
|
150
|
+
- Emits 的触发和 payload
|
|
151
|
+
- 关键 composables 的返回值
|
|
152
|
+
- Pinia store 的 action 和 getter
|
|
153
|
+
|
|
154
|
+
### 测试风格
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
describe("UserForm", () => {
|
|
158
|
+
it("should emit submit with valid data", async () => {
|
|
159
|
+
const wrapper = mount(UserForm);
|
|
160
|
+
|
|
161
|
+
await wrapper.find('[data-testid="username"]').setValue("test");
|
|
162
|
+
await wrapper.find("form").trigger("submit");
|
|
163
|
+
|
|
164
|
+
expect(wrapper.emitted("submit")?.[0]).toEqual([{ username: "test" }]);
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
it("should show validation error on empty submit", async () => {
|
|
168
|
+
const wrapper = mount(UserForm);
|
|
169
|
+
await wrapper.find("form").trigger("submit");
|
|
170
|
+
expect(wrapper.text()).toContain("用户名不能为空");
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Store 测试
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
describe("authStore", () => {
|
|
179
|
+
beforeEach(() => setActivePinia(createPinia()));
|
|
180
|
+
|
|
181
|
+
it("should login and set user", async () => {
|
|
182
|
+
const store = useAuthStore();
|
|
183
|
+
await store.login({ username: "admin", password: "pass" });
|
|
184
|
+
expect(store.isLoggedIn).toBe(true);
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
## 反模式
|
|
191
|
+
|
|
192
|
+
- 在模板驱动组件中内联大段业务逻辑
|
|
193
|
+
- 本该用 computed 却使用大范围 watcher
|
|
194
|
+
- 事件 payload 不明确
|
|
195
|
+
- 在纯展示组件中直接混入原始 API 调用
|
|
196
|
+
- ref 和 props 没有类型约束
|
|
197
|
+
- 用 `watch` + 手动赋值模拟 computed
|
|
198
|
+
- 在一个组件中混入无关职责
|
|
199
|
+
- 用大范围全局样式覆盖去解决局部 UI 问题
|
|
200
|
+
- 将所有状态推入 Pinia store,而非就近管理
|
|
201
|
+
- 在 `components/` 中放业务耦合组件
|
|
202
|
+
- 直接从 feature 内部深层路径导入,绕过 `index.ts`
|
|
203
|
+
|
|
204
|
+
## 输出检查清单
|
|
205
|
+
|
|
206
|
+
- [ ] 文件结构与项目约定一致(pages / features / components 分离)
|
|
207
|
+
- [ ] 使用 `<script setup lang="ts">`
|
|
208
|
+
- [ ] Props / Emits 类型完整
|
|
209
|
+
- [ ] 解释性注释是否优先使用中文且点到要害
|
|
210
|
+
- [ ] 可复用逻辑已提取到 composable
|
|
211
|
+
- [ ] Loading / Error / Empty 状态均已处理
|
|
212
|
+
- [ ] 路由组件使用动态 import 加载
|
|
213
|
+
- [ ] 状态管理方案合理(就近原则)
|
|
214
|
+
- [ ] API 调用有类型约束和统一错误处理
|
|
215
|
+
- [ ] 样式使用 scoped 隔离
|
|
216
|
+
- [ ] 关键行为有测试覆盖
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fec-web-video-presentation
|
|
3
|
+
description: 用于将文章、演讲稿、课程、产品演示或口播解释转成可录制的 16:9 网页演示,包含步骤驱动场景、可选口播对齐、主题 Token 与录屏指导;中文触发词包括 网页视频、动态演示、口播稿转视频、可录屏演示、16:9 演示。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 网页视频演示
|
|
7
|
+
|
|
8
|
+
## 用途
|
|
9
|
+
|
|
10
|
+
把文章、口播稿、课程、产品讲解或技术分享转成可录屏的 16:9 网页演示。产物应像一个可点击推进的视频舞台:每一步承载一个口播节拍,视觉设计服务内容节奏,并能用浏览器稳定录制。
|
|
11
|
+
|
|
12
|
+
## 流程
|
|
13
|
+
|
|
14
|
+
1. 判断输入形态
|
|
15
|
+
- 用户给文章或长文时,先拆成口播稿和 outline。
|
|
16
|
+
- 用户给现成口播稿时,保留原顺序,只补 outline、章节和 step。
|
|
17
|
+
- 用户只给主题但没有内容时,先要求素材、大纲或目标要点;不要替用户虚构整篇内容。
|
|
18
|
+
|
|
19
|
+
2. 生成内容计划
|
|
20
|
+
- 按 [content-plan.md](references/content-plan.md) 输出 script 与 outline。
|
|
21
|
+
- script 决定讲述顺序和每个节拍;outline 决定章节、step、估时、屏幕信息和素材清单。
|
|
22
|
+
- outline 只描述内容密度和画面任务,不提前写死具体动画实现。
|
|
23
|
+
|
|
24
|
+
3. 对齐演示系统
|
|
25
|
+
- 从 [theme-system.md](references/theme-system.md) 或 [starter-themes.json](data/starter-themes.json) 选择一个 starter theme,也可以按项目品牌重新定义 token。
|
|
26
|
+
- 使用 [create-video-presentation.mjs](scripts/create-video-presentation.mjs) 创建最小 Vite + React + TypeScript 演示骨架:
|
|
27
|
+
```bash
|
|
28
|
+
node skills/fec-web-video-presentation/scripts/create-video-presentation.mjs ./presentation --theme editorial-slate
|
|
29
|
+
```
|
|
30
|
+
- 如只想预览可选主题或计划写入内容:
|
|
31
|
+
```bash
|
|
32
|
+
node skills/fec-web-video-presentation/scripts/create-video-presentation.mjs --list-themes
|
|
33
|
+
node skills/fec-web-video-presentation/scripts/create-video-presentation.mjs --dry-run ./presentation --theme editorial-slate
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
4. 实现章节
|
|
37
|
+
- 每章按 [chapter-craft.md](references/chapter-craft.md) 实现。
|
|
38
|
+
- 每个 step 独占舞台,屏幕只承载当前口播节拍需要用户理解的核心内容。
|
|
39
|
+
- 章节必须有可见的视觉演示、图形、布局变化、状态推进或数据/媒体呈现;不要交付纯文本幻灯片。
|
|
40
|
+
- 第一章应作为风格锚点优先完成并验收,再继续其它章节。
|
|
41
|
+
|
|
42
|
+
5. 录屏和音频
|
|
43
|
+
- 使用 [recording-and-audio.md](references/recording-and-audio.md) 检查舞台比例、导航、录制模式和可选音频同步。
|
|
44
|
+
- 音频可以来自用户已有文件、宿主工具或项目自己的 TTS 流程;本技能不绑定特定 TTS 供应商。
|
|
45
|
+
|
|
46
|
+
6. 交付前验证
|
|
47
|
+
- 浏览器打开演示,检查 16:9 缩放、键盘/点击推进、step 数、文本溢出、隐藏控件、控制台错误和录屏路径。
|
|
48
|
+
- 若章节数量、顺序或 step 数变化,重置本地持久化 key 或清理旧进度,避免恢复到不存在的 step。
|
|
49
|
+
|
|
50
|
+
## 约束
|
|
51
|
+
|
|
52
|
+
- 不把网页视频做成普通营销落地页、静态 PPT 或长滚动文章。
|
|
53
|
+
- 不复制参考项目的主题、模板章节、长提示词或脚手架实现;按当前项目生成原创骨架。
|
|
54
|
+
- 不在 outline 阶段锁死每个动画名称;动画应由章节内容关系驱动。
|
|
55
|
+
- 不使用假数据、假引用、假产品截图或不可检查媒体填充画面。
|
|
56
|
+
- 不让控件、页码、说明文字或调试面板污染录屏画面;必要控件默认隐藏或弱化。
|
|
57
|
+
- 不为音频合成引入项目外供应商约定;TTS 属于可选适配层。
|
|
58
|
+
|
|
59
|
+
## 预期输出
|
|
60
|
+
|
|
61
|
+
输出 script、outline、可运行的 16:9 网页演示骨架或章节实现,并说明主题、章节/step 数、录屏方式、可选音频路径和验证结果。最终演示应可通过点击或键盘稳定推进,视觉节奏贴合口播内容,且适合浏览器录屏。
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "editorial-slate",
|
|
4
|
+
"name": "Editorial Slate",
|
|
5
|
+
"bestFor": "technical explainers, product narratives, engineering talks",
|
|
6
|
+
"tokens": {
|
|
7
|
+
"stageBg": "#f6f1e8",
|
|
8
|
+
"stageFg": "#17201b",
|
|
9
|
+
"mutedFg": "#69736d",
|
|
10
|
+
"accent": "#a83d2d",
|
|
11
|
+
"accent2": "#2b6b72",
|
|
12
|
+
"panel": "#fffaf0",
|
|
13
|
+
"line": "#d9cab8",
|
|
14
|
+
"shadow": "0 24px 80px rgba(23, 32, 27, 0.12)",
|
|
15
|
+
"fontDisplay": "Georgia, 'Times New Roman', serif",
|
|
16
|
+
"fontBody": "Inter, ui-sans-serif, system-ui, sans-serif",
|
|
17
|
+
"radius": "10px",
|
|
18
|
+
"stepDuration": "4200ms"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "console-amber",
|
|
23
|
+
"name": "Console Amber",
|
|
24
|
+
"bestFor": "debug stories, infrastructure demos, security walkthroughs",
|
|
25
|
+
"tokens": {
|
|
26
|
+
"stageBg": "#10110f",
|
|
27
|
+
"stageFg": "#f5ead2",
|
|
28
|
+
"mutedFg": "#a99b80",
|
|
29
|
+
"accent": "#ffb84d",
|
|
30
|
+
"accent2": "#6bd5c8",
|
|
31
|
+
"panel": "#191a16",
|
|
32
|
+
"line": "#3c3529",
|
|
33
|
+
"shadow": "0 28px 90px rgba(0, 0, 0, 0.38)",
|
|
34
|
+
"fontDisplay": "ui-monospace, SFMono-Regular, Consolas, monospace",
|
|
35
|
+
"fontBody": "Inter, ui-sans-serif, system-ui, sans-serif",
|
|
36
|
+
"radius": "6px",
|
|
37
|
+
"stepDuration": "3800ms"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "studio-paper",
|
|
42
|
+
"name": "Studio Paper",
|
|
43
|
+
"bestFor": "design reviews, lessons, product tours, calm keynote chapters",
|
|
44
|
+
"tokens": {
|
|
45
|
+
"stageBg": "#fbfbf7",
|
|
46
|
+
"stageFg": "#24211d",
|
|
47
|
+
"mutedFg": "#6f6a62",
|
|
48
|
+
"accent": "#2457a6",
|
|
49
|
+
"accent2": "#d95f37",
|
|
50
|
+
"panel": "#ffffff",
|
|
51
|
+
"line": "#dedbd2",
|
|
52
|
+
"shadow": "0 18px 64px rgba(36, 33, 29, 0.1)",
|
|
53
|
+
"fontDisplay": "Aptos Display, Avenir Next, ui-sans-serif, system-ui, sans-serif",
|
|
54
|
+
"fontBody": "Aptos, Avenir Next, ui-sans-serif, system-ui, sans-serif",
|
|
55
|
+
"radius": "14px",
|
|
56
|
+
"stepDuration": "4000ms"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
]
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# 章节编排
|
|
2
|
+
|
|
3
|
+
## 阶段规则
|
|
4
|
+
|
|
5
|
+
- 使用固定 16:9 舞台,通常为 1920 x 1080,并按视口缩放。
|
|
6
|
+
- 章节是当前 step 的纯函数。
|
|
7
|
+
- 一个 step 只聚焦一个视觉想法。
|
|
8
|
+
- 列表每次只揭示一个有意义的条目。
|
|
9
|
+
- 使用隐藏或低强调控件,让录制画面保持干净。
|
|
10
|
+
- 大号文字在录屏和压缩后仍需保持可读。
|
|
11
|
+
|
|
12
|
+
## 视觉决策
|
|
13
|
+
|
|
14
|
+
实现章节前,先回答:
|
|
15
|
+
|
|
16
|
+
- 当前 step 与上一个 step 的关系是什么:对比、揭示、缩放、序列、证明、结果,还是回顾?
|
|
17
|
+
- 观众在这个 step 后应该记住什么?
|
|
18
|
+
- 哪个源材料细节让画面比通用幻灯片更具体?
|
|
19
|
+
- 这是图表、对象、引用、指标、时间线、界面状态,还是空间隐喻?
|
|
20
|
+
- 哪些内容可以因为自身变化而运动,而不是因为所有元素都需要入场动画?
|
|
21
|
+
|
|
22
|
+
## 反模式
|
|
23
|
+
|
|
24
|
+
- 旁白逐条讲解时,却让大量 bullet 同步 stagger。
|
|
25
|
+
- 无法解释内容的紫色渐变背景、漂浮装饰或通用卡片。
|
|
26
|
+
- 伪造仪表盘、伪造截图、伪造引用或编造指标。
|
|
27
|
+
- 浏览器中看似正常、但录制视频中不可读的小号正文。
|
|
28
|
+
- 录制画面中持续可见的 chrome、大页码或操作说明。
|
|
29
|
+
|
|
30
|
+
## 完成检查
|
|
31
|
+
|
|
32
|
+
- 每个 step 都渲染完整画面。
|
|
33
|
+
- 文本适配目标舞台尺寸。
|
|
34
|
+
- 录制在任意 step 暂停时,章节仍然说得通。
|
|
35
|
+
- 视觉状态遵循旁白顺序。
|
|
36
|
+
- 使用的任何媒体都是本地、真实、为任务生成,或明确标记为占位。
|
|
37
|
+
- 章节注册后,键盘和点击导航仍可正常工作。
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 内容计划
|
|
2
|
+
|
|
3
|
+
## 脚本
|
|
4
|
+
|
|
5
|
+
除非用户另有要求,否则使用与源材料相同的语言。将书面文字改成适合口播的表达,但保留作者的主张、顺序、名称和重要数字。
|
|
6
|
+
|
|
7
|
+
每份脚本都应:
|
|
8
|
+
|
|
9
|
+
- 每个节拍只保留一个观点。
|
|
10
|
+
- 移除脚注式支线,除非它们是叙事核心。
|
|
11
|
+
- 标记不确定事实,不要把它们润色成确定断言。
|
|
12
|
+
- 技术名称保持准确。
|
|
13
|
+
- 优先使用无需回读即可口播的短句。
|
|
14
|
+
|
|
15
|
+
## 大纲
|
|
16
|
+
|
|
17
|
+
大纲是网页演示的实现契约。
|
|
18
|
+
|
|
19
|
+
包含:
|
|
20
|
+
|
|
21
|
+
- 标题和目标受众。
|
|
22
|
+
- 总目标时长。
|
|
23
|
+
- 带稳定 id 的章节。
|
|
24
|
+
- 每章步骤数。
|
|
25
|
+
- 每步一个屏幕任务。
|
|
26
|
+
- 每章内容池:可用于视觉呈现的事实、数字、引用、示例、媒体、图表或 UI 状态。
|
|
27
|
+
- 资产清单,包含负责人、路径、缺失状态和替代策略。
|
|
28
|
+
|
|
29
|
+
避免:
|
|
30
|
+
|
|
31
|
+
- 过早指定具体动画。
|
|
32
|
+
- 指定 CSS 实现细节。
|
|
33
|
+
- 将需要分别关注的多个列表项塞进同一个 step。
|
|
34
|
+
- 为了让场景显得充实而加入无依据的主张。
|
|
35
|
+
|
|
36
|
+
## 验收标准
|
|
37
|
+
|
|
38
|
+
当另一位实现者无需再决定每章讲什么、每个 step 揭示什么、哪些源事实可用于视觉呈现,就能构建演示时,内容计划才算就绪。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# 录制与音频
|
|
2
|
+
|
|
3
|
+
## 录制模式
|
|
4
|
+
|
|
5
|
+
手动模式:
|
|
6
|
+
|
|
7
|
+
- Click、Space、ArrowRight 或 PageDown 前进一个 step。
|
|
8
|
+
- ArrowLeft 或 PageUp 返回。
|
|
9
|
+
- 适合真人旁白现场录制。
|
|
10
|
+
|
|
11
|
+
自动模式:
|
|
12
|
+
|
|
13
|
+
- 使用项目数据中的每步时长。
|
|
14
|
+
- 适合旁白音频已对齐,或需要干净录屏的场景。
|
|
15
|
+
|
|
16
|
+
## 录制检查清单
|
|
17
|
+
|
|
18
|
+
- 浏览器控制台无错误。
|
|
19
|
+
- 舞台居中且缩放无变形。
|
|
20
|
+
- 捕获画面中没有水平或垂直滚动条。
|
|
21
|
+
- 控件仅在 hover 或 focus 时显示。
|
|
22
|
+
- 仅在有帮助时持久化当前 step;章节顺序或 step 数变化后重置。
|
|
23
|
+
- 完整录制前先录制 10 秒样片。
|
|
24
|
+
|
|
25
|
+
## 音频策略
|
|
26
|
+
|
|
27
|
+
音频是可选项。项目可以使用:
|
|
28
|
+
|
|
29
|
+
- 用户提供的现有旁白文件。
|
|
30
|
+
- 宿主原生 TTS 或配音工具。
|
|
31
|
+
- 项目自有 TTS 管线。
|
|
32
|
+
|
|
33
|
+
音频对齐保持供应商中立。将片段文本和文件路径存入项目数据,但不要把供应商专属 API 契约写进 skill。
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# 主题系统
|
|
2
|
+
|
|
3
|
+
主题是起点,不是模板。主题定义录制画布的视觉气候,同时让各章节可以自由创建贴合内容的布局。
|
|
4
|
+
|
|
5
|
+
## Token 角色
|
|
6
|
+
|
|
7
|
+
使用语义化 CSS 变量:
|
|
8
|
+
|
|
9
|
+
- `--stage-bg`
|
|
10
|
+
- `--stage-fg`
|
|
11
|
+
- `--muted-fg`
|
|
12
|
+
- `--accent`
|
|
13
|
+
- `--accent-2`
|
|
14
|
+
- `--panel`
|
|
15
|
+
- `--line`
|
|
16
|
+
- `--shadow`
|
|
17
|
+
- `--font-display`
|
|
18
|
+
- `--font-body`
|
|
19
|
+
- `--radius`
|
|
20
|
+
- `--step-duration`
|
|
21
|
+
|
|
22
|
+
## 起始主题策略
|
|
23
|
+
|
|
24
|
+
内置起始主题刻意保持少量:
|
|
25
|
+
|
|
26
|
+
- 用它们创建可运行骨架。
|
|
27
|
+
- 当存在真实品牌或产品语境时,替换颜色和字体选择。
|
|
28
|
+
- 不要让所有章节变得一模一样;保持字体和颜色一致,同时让每章的布局与视觉手法有所变化。
|
|
29
|
+
|
|
30
|
+
## 自定义主题检查清单
|
|
31
|
+
|
|
32
|
+
- 录制文本的对比度达标。
|
|
33
|
+
- 强调色有清晰且不同的语义职责。
|
|
34
|
+
- 背景在视频压缩后不会出现浑浊渐变。
|
|
35
|
+
- 字体在 1080p 和较低分辨率二次上传中仍可读。
|
|
36
|
+
- 动效可以降低强度且不破坏含义。
|