@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.
Files changed (414) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +72 -1
  4. package/CHANGELOG.zh-CN.md +71 -1
  5. package/README.md +10 -6
  6. package/README.openclaw.md +100 -42
  7. package/README.openclaw.zh-CN.md +100 -42
  8. package/README.zh-CN.md +10 -6
  9. package/agents/fec-architect.md +70 -70
  10. package/agents/fec-code-reviewer.md +82 -82
  11. package/agents/fec-debugger.md +20 -20
  12. package/agents/fec-design-token-mapper.md +36 -36
  13. package/agents/fec-doc-updater.md +13 -13
  14. package/agents/fec-e2e-runner.md +45 -45
  15. package/agents/fec-figma-implementer.md +59 -59
  16. package/agents/fec-performance-optimizer.md +128 -128
  17. package/agents/fec-refactor-cleaner.md +14 -14
  18. package/agents/fec-security-reviewer.md +66 -67
  19. package/agents/fec-test-planner.md +27 -27
  20. package/agents/fec-typescript-reviewer.md +88 -88
  21. package/agents/fec-ui-checker.md +74 -74
  22. package/commands/fec-debug.md +19 -19
  23. package/commands/fec-doc-sync.md +11 -11
  24. package/commands/fec-init.md +37 -38
  25. package/commands/fec-plan.md +58 -58
  26. package/commands/fec-refactor-clean.md +11 -11
  27. package/commands/fec-review.md +41 -41
  28. package/commands/fec-scaffold.md +41 -41
  29. package/commands/fec-tdd.md +13 -13
  30. package/dist/bin/frontend-craft.js +29 -27
  31. package/docs/example-prompts.md +84 -69
  32. package/docs/ja-JP/README.md +56 -52
  33. package/docs/ko-KR/README.md +45 -41
  34. package/docs/project-structure.md +19 -7
  35. package/docs/superpowers/plans/2026-05-29-fec-debug.md +491 -0
  36. package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +340 -0
  37. package/docs/zh-CN/example-prompts.md +84 -69
  38. package/docs/zh-CN/project-structure.md +14 -5
  39. package/docs/zh-TW/README.md +33 -29
  40. package/localized/zh-CN/agents/fec-architect.md +125 -0
  41. package/localized/zh-CN/agents/fec-code-reviewer.md +152 -0
  42. package/localized/zh-CN/agents/fec-debugger.md +44 -0
  43. package/localized/zh-CN/agents/fec-design-token-mapper.md +75 -0
  44. package/localized/zh-CN/agents/fec-doc-updater.md +30 -0
  45. package/localized/zh-CN/agents/fec-e2e-runner.md +107 -0
  46. package/localized/zh-CN/agents/fec-figma-implementer.md +104 -0
  47. package/localized/zh-CN/agents/fec-performance-optimizer.md +293 -0
  48. package/localized/zh-CN/agents/fec-refactor-cleaner.md +32 -0
  49. package/localized/zh-CN/agents/fec-security-reviewer.md +116 -0
  50. package/localized/zh-CN/agents/fec-test-planner.md +50 -0
  51. package/localized/zh-CN/agents/fec-typescript-reviewer.md +142 -0
  52. package/localized/zh-CN/agents/fec-ui-checker.md +120 -0
  53. package/localized/zh-CN/commands/fec-debug.md +30 -0
  54. package/localized/zh-CN/commands/fec-doc-sync.md +19 -0
  55. package/localized/zh-CN/commands/fec-init.md +70 -0
  56. package/localized/zh-CN/commands/fec-plan.md +94 -0
  57. package/localized/zh-CN/commands/fec-refactor-clean.md +19 -0
  58. package/localized/zh-CN/commands/fec-review.md +66 -0
  59. package/localized/zh-CN/commands/fec-scaffold.md +205 -0
  60. package/localized/zh-CN/commands/fec-tdd.md +21 -0
  61. package/localized/zh-CN/skills/TEMPLATE.md +155 -0
  62. package/localized/zh-CN/skills/eval_queries.json +1013 -0
  63. package/localized/zh-CN/skills/fec-accessibility-check/SKILL.md +39 -0
  64. package/localized/zh-CN/skills/fec-accessibility-check/references/report-template.md +23 -0
  65. package/localized/zh-CN/skills/fec-accessibility-check/references/screen-reader-testing.md +33 -0
  66. package/localized/zh-CN/skills/fec-alchemy/SKILL.md +74 -0
  67. package/localized/zh-CN/skills/fec-alchemy/assets/absorption-plan-template.md +47 -0
  68. package/localized/zh-CN/skills/fec-alchemy/assets/intake-template.md +55 -0
  69. package/localized/zh-CN/skills/fec-alchemy/assets/review-checklist.md +31 -0
  70. package/localized/zh-CN/skills/fec-alchemy/references/methodology.md +94 -0
  71. package/localized/zh-CN/skills/fec-alchemy/references/originality-and-licensing.md +57 -0
  72. package/localized/zh-CN/skills/fec-api-integration/SKILL.md +78 -0
  73. package/localized/zh-CN/skills/fec-api-integration/references/integration-patterns.md +80 -0
  74. package/localized/zh-CN/skills/fec-backend-requirements-handoff/SKILL.md +45 -0
  75. package/localized/zh-CN/skills/fec-browser-storage/SKILL.md +34 -0
  76. package/localized/zh-CN/skills/fec-browser-storage/references/storage-patterns.md +65 -0
  77. package/localized/zh-CN/skills/fec-canvas-threejs/SKILL.md +66 -0
  78. package/localized/zh-CN/skills/fec-canvas-threejs/references/rendering-patterns.md +67 -0
  79. package/localized/zh-CN/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +67 -0
  80. package/localized/zh-CN/skills/fec-code-review/SKILL.md +143 -0
  81. package/localized/zh-CN/skills/fec-code-review/references/report-template.md +29 -0
  82. package/localized/zh-CN/skills/fec-component-testing/SKILL.md +119 -0
  83. package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +62 -0
  84. package/localized/zh-CN/skills/fec-data-fetching/references/query-patterns.md +103 -0
  85. package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +157 -0
  86. package/localized/zh-CN/skills/fec-debug-framework/references/report-template.md +58 -0
  87. package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +34 -0
  88. package/localized/zh-CN/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +56 -0
  89. package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +39 -0
  90. package/localized/zh-CN/skills/fec-drawio-studio/SKILL.md +73 -0
  91. package/localized/zh-CN/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +10 -0
  92. package/localized/zh-CN/skills/fec-drawio-studio/data/brand-icons.json +878 -0
  93. package/localized/zh-CN/skills/fec-drawio-studio/data/shape-index.json +83570 -0
  94. package/localized/zh-CN/skills/fec-drawio-studio/references/data-residency.md +27 -0
  95. package/localized/zh-CN/skills/fec-drawio-studio/references/diagram-patterns.md +60 -0
  96. package/localized/zh-CN/skills/fec-drawio-studio/references/flowchart-quality.md +49 -0
  97. package/localized/zh-CN/skills/fec-drawio-studio/references/layout-and-export.md +72 -0
  98. package/localized/zh-CN/skills/fec-drawio-studio/references/troubleshooting.md +29 -0
  99. package/localized/zh-CN/skills/fec-drawio-studio/references/xml-and-mermaid.md +58 -0
  100. package/localized/zh-CN/skills/fec-drawio-studio/scripts/brand-symbols.mjs +99 -0
  101. package/localized/zh-CN/skills/fec-drawio-studio/scripts/diagram-lint.mjs +205 -0
  102. package/localized/zh-CN/skills/fec-drawio-studio/scripts/diagram-url.mjs +102 -0
  103. package/localized/zh-CN/skills/fec-drawio-studio/scripts/drawio-export.mjs +134 -0
  104. package/localized/zh-CN/skills/fec-drawio-studio/scripts/layout-graph.mjs +107 -0
  105. package/localized/zh-CN/skills/fec-drawio-studio/scripts/png-embed-fix.mjs +26 -0
  106. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-go-packages.mjs +36 -0
  107. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-js-modules.mjs +52 -0
  108. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-python-classes.mjs +30 -0
  109. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-python-modules.mjs +55 -0
  110. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-rust-modules.mjs +35 -0
  111. package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-ts-modules.mjs +7 -0
  112. package/localized/zh-CN/skills/fec-drawio-studio/scripts/shape-query.mjs +121 -0
  113. package/localized/zh-CN/skills/fec-drawio-studio/scripts/studio-core.mjs +139 -0
  114. package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/corporate.json +49 -0
  115. package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/default.json +49 -0
  116. package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/handdrawn.json +49 -0
  117. package/localized/zh-CN/skills/fec-drawio-studio/styles/schema.json +112 -0
  118. package/localized/zh-CN/skills/fec-e2e-testing/SKILL.md +42 -0
  119. package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-ci-reporting.md +62 -0
  120. package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-special-scenarios.md +52 -0
  121. package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-visual-regression.md +60 -0
  122. package/localized/zh-CN/skills/fec-e2e-testing/references/playwright-patterns.md +95 -0
  123. package/localized/zh-CN/skills/fec-form-handling/SKILL.md +76 -0
  124. package/localized/zh-CN/skills/fec-form-handling/references/advanced-form-patterns.md +101 -0
  125. package/localized/zh-CN/skills/fec-image-generation/SKILL.md +80 -0
  126. package/localized/zh-CN/skills/fec-image-generation/assets/interactive-diagram.html +371 -0
  127. package/localized/zh-CN/skills/fec-image-generation/references/artifact-routing.md +80 -0
  128. package/localized/zh-CN/skills/fec-image-generation/references/diagram-workflows.md +74 -0
  129. package/localized/zh-CN/skills/fec-image-generation/references/html-technical-diagrams.md +236 -0
  130. package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +30 -0
  131. package/localized/zh-CN/skills/fec-image-generation/scripts/export-diagram.mjs +364 -0
  132. package/localized/zh-CN/skills/fec-image-generation/scripts/interactive-diagram-server.mjs +654 -0
  133. package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +431 -0
  134. package/localized/zh-CN/skills/fec-image-generation/scripts/tech-diagram-render.mjs +1397 -0
  135. package/localized/zh-CN/skills/fec-implement-from-design/SKILL.md +129 -0
  136. package/localized/zh-CN/skills/fec-implement-from-design/references/design-plan-template.md +36 -0
  137. package/localized/zh-CN/skills/fec-legacy-to-modern-migration/SKILL.md +46 -0
  138. package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +110 -0
  139. package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +41 -0
  140. package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +48 -0
  141. package/localized/zh-CN/skills/fec-legacy-web-standard/SKILL.md +35 -0
  142. package/localized/zh-CN/skills/fec-legacy-web-standard/references/legacy-patterns.md +85 -0
  143. package/localized/zh-CN/skills/fec-list-virtualization/SKILL.md +34 -0
  144. package/localized/zh-CN/skills/fec-list-virtualization/references/virtualization-patterns.md +80 -0
  145. package/localized/zh-CN/skills/fec-monorepo-project-standard/SKILL.md +142 -0
  146. package/localized/zh-CN/skills/fec-motion-interaction/SKILL.md +73 -0
  147. package/localized/zh-CN/skills/fec-motion-interaction/references/motion-patterns.md +112 -0
  148. package/localized/zh-CN/skills/fec-nextjs-project-standard/SKILL.md +123 -0
  149. package/localized/zh-CN/skills/fec-nuxt-project-standard/SKILL.md +122 -0
  150. package/localized/zh-CN/skills/fec-performance-optimization/SKILL.md +80 -0
  151. package/localized/zh-CN/skills/fec-performance-optimization/references/framework-performance-patterns.md +38 -0
  152. package/localized/zh-CN/skills/fec-performance-optimization/references/report-template.md +59 -0
  153. package/localized/zh-CN/skills/fec-pwa-implementation/SKILL.md +35 -0
  154. package/localized/zh-CN/skills/fec-pwa-implementation/references/manifest-and-icons.md +53 -0
  155. package/localized/zh-CN/skills/fec-pwa-implementation/references/service-worker-workbox.md +68 -0
  156. package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +91 -0
  157. package/localized/zh-CN/skills/fec-react-project-standard/references/react-performance-patterns.md +35 -0
  158. package/localized/zh-CN/skills/fec-react-project-standard/references/react-project-structure.md +197 -0
  159. package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +131 -0
  160. package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +293 -0
  161. package/localized/zh-CN/skills/fec-refactor-clean/SKILL.md +51 -0
  162. package/localized/zh-CN/skills/fec-refactor-clean/references/report-template.md +42 -0
  163. package/localized/zh-CN/skills/fec-responsive-layout/SKILL.md +34 -0
  164. package/localized/zh-CN/skills/fec-responsive-layout/references/responsive-layout-patterns.md +70 -0
  165. package/localized/zh-CN/skills/fec-route-protection/SKILL.md +135 -0
  166. package/localized/zh-CN/skills/fec-security-review/SKILL.md +38 -0
  167. package/localized/zh-CN/skills/fec-security-review/references/report-template.md +27 -0
  168. package/localized/zh-CN/skills/fec-security-review/references/security-checklist.md +64 -0
  169. package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +87 -0
  170. package/localized/zh-CN/skills/fec-state-management/SKILL.md +140 -0
  171. package/localized/zh-CN/skills/fec-state-management/references/state-patterns.md +109 -0
  172. package/localized/zh-CN/skills/fec-storybook-component-doc/SKILL.md +37 -0
  173. package/localized/zh-CN/skills/fec-storybook-component-doc/references/story-patterns.md +118 -0
  174. package/localized/zh-CN/skills/fec-svg-animation/SKILL.md +148 -0
  175. package/localized/zh-CN/skills/fec-tailwind-design-system/SKILL.md +34 -0
  176. package/localized/zh-CN/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +59 -0
  177. package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +52 -0
  178. package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +45 -0
  179. package/localized/zh-CN/skills/fec-typescript-project-standard/SKILL.md +54 -0
  180. package/{skills/fec-typescript-type-safety → localized/zh-CN/skills/fec-typescript-project-standard}/references/type-safety-patterns.md +1 -1
  181. package/{skills/fec-typescript-type-safety/SKILL.md → localized/zh-CN/skills/fec-typescript-project-standard/references/type-safety.md} +5 -14
  182. package/localized/zh-CN/skills/fec-ui-design/SKILL.md +108 -0
  183. package/localized/zh-CN/skills/fec-ui-design/data/product-rules.json +231 -0
  184. package/localized/zh-CN/skills/fec-ui-design/data/stack-ui-rules.json +146 -0
  185. package/localized/zh-CN/skills/fec-ui-design/data/style-archetypes.json +373 -0
  186. package/localized/zh-CN/skills/fec-ui-design/data/ux-quality-rules.json +203 -0
  187. package/localized/zh-CN/skills/fec-ui-design/references/design-intelligence.md +97 -0
  188. package/localized/zh-CN/skills/fec-ui-design/references/master-page-overrides.md +30 -0
  189. package/localized/zh-CN/skills/fec-ui-design/references/pre-delivery-checklist.md +39 -0
  190. package/localized/zh-CN/skills/fec-ui-design/scripts/design-system.mjs +648 -0
  191. package/localized/zh-CN/skills/fec-validation-fix/SKILL.md +51 -0
  192. package/localized/zh-CN/skills/fec-validation-fix/references/report-template.md +43 -0
  193. package/localized/zh-CN/skills/fec-vite-project-standard/SKILL.md +83 -0
  194. package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +58 -0
  195. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +162 -0
  196. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +13 -0
  197. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +176 -0
  198. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +216 -0
  199. package/localized/zh-CN/skills/fec-web-video-presentation/SKILL.md +61 -0
  200. package/localized/zh-CN/skills/fec-web-video-presentation/data/starter-themes.json +59 -0
  201. package/localized/zh-CN/skills/fec-web-video-presentation/references/chapter-craft.md +37 -0
  202. package/localized/zh-CN/skills/fec-web-video-presentation/references/content-plan.md +38 -0
  203. package/localized/zh-CN/skills/fec-web-video-presentation/references/recording-and-audio.md +33 -0
  204. package/localized/zh-CN/skills/fec-web-video-presentation/references/theme-system.md +36 -0
  205. package/localized/zh-CN/skills/fec-web-video-presentation/scripts/create-video-presentation.mjs +430 -0
  206. package/localized/zh-CN/skills/fec-web-workers/SKILL.md +35 -0
  207. package/localized/zh-CN/skills/fec-web-workers/references/advanced-workers.md +54 -0
  208. package/localized/zh-CN/skills/fec-web-workers/references/basic-worker.md +67 -0
  209. package/localized/zh-CN/skills/metadata.json +1646 -0
  210. package/localized/zh-CN/skills/relations.json +755 -0
  211. package/localized/zh-CN/templates/claude/CLAUDE.md +106 -0
  212. package/localized/zh-CN/templates/claude/settings.json +62 -0
  213. package/localized/zh-CN/templates/codex/AGENTS.md +105 -0
  214. package/localized/zh-CN/templates/codex/config.toml +32 -0
  215. package/localized/zh-CN/templates/openclaw/AGENTS.md +101 -0
  216. package/localized/zh-CN/templates/openclaw/OPENCLAW-CONFIG.md +12 -0
  217. package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +54 -0
  218. package/localized/zh-CN/templates/shared/rules/fec-api-layer.md +99 -0
  219. package/localized/zh-CN/templates/shared/rules/fec-ci-cd.md +40 -0
  220. package/localized/zh-CN/templates/shared/rules/fec-code-comments.md +33 -0
  221. package/localized/zh-CN/templates/shared/rules/fec-design-system.md +72 -0
  222. package/localized/zh-CN/templates/shared/rules/fec-error-handling.md +56 -0
  223. package/localized/zh-CN/templates/shared/rules/fec-git-conventions.md +73 -0
  224. package/localized/zh-CN/templates/shared/rules/fec-i18n.md +64 -0
  225. package/localized/zh-CN/templates/shared/rules/fec-naming-conventions.md +120 -0
  226. package/localized/zh-CN/templates/shared/rules/fec-performance.md +101 -0
  227. package/localized/zh-CN/templates/shared/rules/fec-react.md +82 -0
  228. package/localized/zh-CN/templates/shared/rules/fec-refactoring.md +47 -0
  229. package/localized/zh-CN/templates/shared/rules/fec-rendering-patterns.md +40 -0
  230. package/localized/zh-CN/templates/shared/rules/fec-responsive-design.md +50 -0
  231. package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +31 -0
  232. package/localized/zh-CN/templates/shared/rules/fec-state-management.md +60 -0
  233. package/localized/zh-CN/templates/shared/rules/fec-testing.md +98 -0
  234. package/localized/zh-CN/templates/shared/rules/fec-typescript.md +112 -0
  235. package/localized/zh-CN/templates/shared/rules/fec-vue.md +64 -0
  236. package/localized/zh-CN/templates/shared/rules/fec-working-modes.md +50 -0
  237. package/openclaw.plugin.json +1 -1
  238. package/package.json +4 -3
  239. package/skills/TEMPLATE.md +74 -74
  240. package/skills/eval_queries.json +717 -619
  241. package/skills/fec-accessibility-check/SKILL.md +21 -21
  242. package/skills/fec-accessibility-check/references/report-template.md +12 -12
  243. package/skills/fec-accessibility-check/references/screen-reader-testing.md +24 -24
  244. package/skills/fec-alchemy/SKILL.md +50 -50
  245. package/skills/fec-alchemy/assets/absorption-plan-template.md +32 -32
  246. package/skills/fec-alchemy/assets/intake-template.md +55 -55
  247. package/skills/fec-alchemy/assets/review-checklist.md +23 -23
  248. package/skills/fec-alchemy/references/methodology.md +66 -66
  249. package/skills/fec-alchemy/references/originality-and-licensing.md +42 -42
  250. package/skills/fec-api-integration/SKILL.md +61 -61
  251. package/skills/fec-api-integration/references/integration-patterns.md +30 -30
  252. package/skills/fec-backend-requirements-handoff/SKILL.md +45 -0
  253. package/skills/fec-browser-storage/SKILL.md +16 -16
  254. package/skills/fec-browser-storage/references/storage-patterns.md +16 -16
  255. package/skills/fec-canvas-threejs/SKILL.md +21 -21
  256. package/skills/fec-canvas-threejs/references/rendering-patterns.md +10 -10
  257. package/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +37 -37
  258. package/skills/fec-code-review/SKILL.md +94 -94
  259. package/skills/fec-code-review/references/report-template.md +13 -13
  260. package/skills/fec-component-testing/SKILL.md +39 -39
  261. package/skills/fec-data-fetching/SKILL.md +16 -16
  262. package/skills/fec-data-fetching/references/query-patterns.md +27 -27
  263. package/skills/fec-debug-framework/SKILL.md +95 -95
  264. package/skills/fec-debug-framework/references/report-template.md +34 -34
  265. package/skills/fec-dependency-upgrade/SKILL.md +17 -17
  266. package/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +31 -31
  267. package/skills/fec-doc-sync/SKILL.md +23 -23
  268. package/skills/fec-drawio-studio/SKILL.md +73 -0
  269. package/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +10 -0
  270. package/skills/fec-drawio-studio/data/brand-icons.json +878 -0
  271. package/skills/fec-drawio-studio/data/shape-index.json +83570 -0
  272. package/skills/fec-drawio-studio/references/data-residency.md +27 -0
  273. package/skills/fec-drawio-studio/references/diagram-patterns.md +60 -0
  274. package/skills/fec-drawio-studio/references/flowchart-quality.md +49 -0
  275. package/skills/fec-drawio-studio/references/layout-and-export.md +72 -0
  276. package/skills/fec-drawio-studio/references/troubleshooting.md +29 -0
  277. package/skills/fec-drawio-studio/references/xml-and-mermaid.md +58 -0
  278. package/skills/fec-drawio-studio/scripts/brand-symbols.mjs +99 -0
  279. package/skills/fec-drawio-studio/scripts/diagram-lint.mjs +205 -0
  280. package/skills/fec-drawio-studio/scripts/diagram-url.mjs +102 -0
  281. package/skills/fec-drawio-studio/scripts/drawio-export.mjs +134 -0
  282. package/skills/fec-drawio-studio/scripts/layout-graph.mjs +107 -0
  283. package/skills/fec-drawio-studio/scripts/png-embed-fix.mjs +26 -0
  284. package/skills/fec-drawio-studio/scripts/scan-go-packages.mjs +36 -0
  285. package/skills/fec-drawio-studio/scripts/scan-js-modules.mjs +52 -0
  286. package/skills/fec-drawio-studio/scripts/scan-python-classes.mjs +30 -0
  287. package/skills/fec-drawio-studio/scripts/scan-python-modules.mjs +55 -0
  288. package/skills/fec-drawio-studio/scripts/scan-rust-modules.mjs +35 -0
  289. package/skills/fec-drawio-studio/scripts/scan-ts-modules.mjs +7 -0
  290. package/skills/fec-drawio-studio/scripts/shape-query.mjs +121 -0
  291. package/skills/fec-drawio-studio/scripts/studio-core.mjs +139 -0
  292. package/skills/fec-drawio-studio/styles/built-in/corporate.json +49 -0
  293. package/skills/fec-drawio-studio/styles/built-in/default.json +49 -0
  294. package/skills/fec-drawio-studio/styles/built-in/handdrawn.json +49 -0
  295. package/skills/fec-drawio-studio/styles/schema.json +112 -0
  296. package/skills/fec-e2e-testing/SKILL.md +24 -22
  297. package/skills/fec-e2e-testing/references/e2e-ci-reporting.md +62 -0
  298. package/skills/fec-e2e-testing/references/e2e-special-scenarios.md +52 -0
  299. package/skills/fec-e2e-testing/references/e2e-visual-regression.md +60 -0
  300. package/skills/fec-e2e-testing/references/playwright-patterns.md +6 -6
  301. package/skills/fec-form-handling/SKILL.md +21 -21
  302. package/skills/fec-form-handling/references/advanced-form-patterns.md +41 -41
  303. package/skills/fec-image-generation/SKILL.md +81 -0
  304. package/skills/fec-image-generation/assets/interactive-diagram.html +371 -0
  305. package/skills/fec-image-generation/references/artifact-routing.md +80 -0
  306. package/skills/fec-image-generation/references/diagram-workflows.md +74 -0
  307. package/skills/fec-image-generation/references/html-technical-diagrams.md +236 -0
  308. package/skills/fec-image-generation/references/png-qa-autofix.md +30 -0
  309. package/skills/fec-image-generation/scripts/export-diagram.mjs +364 -0
  310. package/skills/fec-image-generation/scripts/interactive-diagram-server.mjs +654 -0
  311. package/skills/fec-image-generation/scripts/png-qa.mjs +431 -0
  312. package/skills/fec-image-generation/scripts/tech-diagram-render.mjs +1397 -0
  313. package/skills/fec-implement-from-design/SKILL.md +81 -74
  314. package/skills/fec-implement-from-design/references/design-plan-template.md +16 -16
  315. package/skills/fec-legacy-to-modern-migration/SKILL.md +29 -173
  316. package/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +110 -0
  317. package/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +37 -37
  318. package/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +48 -0
  319. package/skills/fec-legacy-web-standard/SKILL.md +17 -17
  320. package/skills/fec-legacy-web-standard/references/legacy-patterns.md +16 -16
  321. package/skills/fec-list-virtualization/SKILL.md +16 -16
  322. package/skills/fec-list-virtualization/references/virtualization-patterns.md +31 -31
  323. package/skills/fec-monorepo-project-standard/SKILL.md +52 -52
  324. package/skills/fec-motion-interaction/SKILL.md +51 -44
  325. package/skills/fec-motion-interaction/references/motion-patterns.md +11 -11
  326. package/skills/fec-nextjs-project-standard/SKILL.md +64 -58
  327. package/skills/fec-nuxt-project-standard/SKILL.md +57 -57
  328. package/skills/fec-performance-optimization/SKILL.md +54 -50
  329. package/skills/fec-performance-optimization/references/framework-performance-patterns.md +38 -0
  330. package/skills/fec-performance-optimization/references/report-template.md +34 -28
  331. package/skills/fec-pwa-implementation/SKILL.md +17 -17
  332. package/skills/fec-pwa-implementation/references/manifest-and-icons.md +12 -12
  333. package/skills/fec-pwa-implementation/references/service-worker-workbox.md +13 -13
  334. package/skills/fec-react-project-standard/SKILL.md +72 -64
  335. package/skills/fec-react-project-standard/references/react-performance-patterns.md +35 -0
  336. package/skills/fec-react-project-standard/references/react-project-structure.md +197 -0
  337. package/skills/fec-react-project-standard/references/react-quality-patterns.md +131 -0
  338. package/skills/fec-react-project-standard/references/react-runtime-patterns.md +293 -0
  339. package/skills/fec-refactor-clean/SKILL.md +30 -30
  340. package/skills/fec-refactor-clean/references/report-template.md +23 -23
  341. package/skills/fec-responsive-layout/SKILL.md +17 -17
  342. package/skills/fec-responsive-layout/references/responsive-layout-patterns.md +39 -28
  343. package/skills/fec-route-protection/SKILL.md +26 -26
  344. package/skills/fec-security-review/SKILL.md +20 -20
  345. package/skills/fec-security-review/references/report-template.md +12 -12
  346. package/skills/fec-security-review/references/security-checklist.md +27 -27
  347. package/skills/fec-source-driven-development/SKILL.md +66 -40
  348. package/skills/fec-state-management/SKILL.md +34 -34
  349. package/skills/fec-state-management/references/state-patterns.md +19 -19
  350. package/skills/fec-storybook-component-doc/SKILL.md +19 -19
  351. package/skills/fec-storybook-component-doc/references/story-patterns.md +12 -12
  352. package/skills/fec-svg-animation/SKILL.md +32 -32
  353. package/skills/fec-tailwind-design-system/SKILL.md +17 -17
  354. package/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +36 -32
  355. package/skills/fec-tdd-workflow/SKILL.md +28 -28
  356. package/skills/fec-testing-strategy/SKILL.md +29 -29
  357. package/skills/fec-typescript-project-standard/SKILL.md +54 -0
  358. package/skills/fec-typescript-project-standard/references/type-safety-patterns.md +102 -0
  359. package/skills/fec-typescript-project-standard/references/type-safety.md +148 -0
  360. package/skills/fec-ui-design/SKILL.md +90 -72
  361. package/skills/fec-ui-design/data/style-archetypes.json +40 -0
  362. package/skills/fec-ui-design/data/ux-quality-rules.json +35 -0
  363. package/skills/fec-ui-design/references/design-intelligence.md +81 -21
  364. package/skills/fec-ui-design/references/master-page-overrides.md +15 -15
  365. package/skills/fec-ui-design/references/pre-delivery-checklist.md +38 -32
  366. package/skills/fec-ui-design/scripts/design-system.mjs +119 -1
  367. package/skills/fec-validation-fix/SKILL.md +26 -26
  368. package/skills/fec-validation-fix/references/report-template.md +25 -25
  369. package/skills/fec-vite-project-standard/SKILL.md +39 -39
  370. package/skills/fec-vue3-project-standard/SKILL.md +39 -30
  371. package/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +163 -0
  372. package/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +13 -0
  373. package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +177 -0
  374. package/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +216 -0
  375. package/skills/fec-web-video-presentation/SKILL.md +61 -0
  376. package/skills/fec-web-video-presentation/data/starter-themes.json +59 -0
  377. package/skills/fec-web-video-presentation/references/chapter-craft.md +37 -0
  378. package/skills/fec-web-video-presentation/references/content-plan.md +38 -0
  379. package/skills/fec-web-video-presentation/references/recording-and-audio.md +33 -0
  380. package/skills/fec-web-video-presentation/references/theme-system.md +36 -0
  381. package/skills/fec-web-video-presentation/scripts/create-video-presentation.mjs +430 -0
  382. package/skills/fec-web-workers/SKILL.md +16 -16
  383. package/skills/fec-web-workers/references/advanced-workers.md +13 -13
  384. package/skills/fec-web-workers/references/basic-worker.md +8 -8
  385. package/skills/metadata.json +402 -220
  386. package/skills/relations.json +120 -25
  387. package/templates/claude/CLAUDE.md +60 -60
  388. package/templates/codex/AGENTS.md +76 -76
  389. package/templates/codex/config.toml +4 -4
  390. package/templates/openclaw/AGENTS.md +68 -68
  391. package/templates/openclaw/OPENCLAW-CONFIG.md +8 -8
  392. package/templates/shared/rules/fec-agent-workflow.md +40 -40
  393. package/templates/shared/rules/fec-api-layer.md +52 -52
  394. package/templates/shared/rules/fec-ci-cd.md +29 -117
  395. package/templates/shared/rules/fec-code-comments.md +22 -22
  396. package/templates/shared/rules/fec-design-system.md +65 -241
  397. package/templates/shared/rules/fec-error-handling.md +41 -185
  398. package/templates/shared/rules/fec-git-conventions.md +42 -42
  399. package/templates/shared/rules/fec-i18n.md +48 -96
  400. package/templates/shared/rules/fec-naming-conventions.md +91 -91
  401. package/templates/shared/rules/fec-performance.md +78 -78
  402. package/templates/shared/rules/fec-react.md +58 -58
  403. package/templates/shared/rules/fec-refactoring.md +34 -30
  404. package/templates/shared/rules/fec-rendering-patterns.md +40 -183
  405. package/templates/shared/rules/fec-responsive-design.md +37 -214
  406. package/templates/shared/rules/fec-source-driven-development.md +22 -22
  407. package/templates/shared/rules/fec-state-management.md +45 -148
  408. package/templates/shared/rules/fec-testing.md +64 -64
  409. package/templates/shared/rules/fec-typescript.md +98 -341
  410. package/templates/shared/rules/fec-vue.md +42 -42
  411. package/templates/shared/rules/fec-working-modes.md +34 -34
  412. package/skills/fec-e2e-testing/references/e2e-advanced.md +0 -176
  413. package/skills/fec-react-project-standard/references/react-project-details.md +0 -642
  414. package/skills/fec-vue3-project-standard/references/vue3-project-details.md +0 -547
@@ -1,915 +1,1013 @@
1
1
  {
2
2
  "fec-accessibility-check": {
3
3
  "should_trigger": [
4
- "检查这个弹窗的键盘焦点和 aria 是否正确",
5
- "给这个表单做 WCAG 2.2 AA 无障碍审查",
6
- "这个菜单能不能只用键盘操作",
7
- "审查页面标题层级和 landmark",
8
- "按钮只有图标,帮我补可访问名称",
9
- "检查 table 语义和屏幕阅读器体验",
10
- "抽屉关闭后焦点应该回到哪里",
4
+ "Check whether the keyboard focus and aria of this pop-up window are correct",
5
+ "Give this form a WCAG 2.2 AA accessibility review",
6
+ "Can this menu be operated using only the keyboard?",
7
+ "Review page title levels and landmarks",
8
+ "The button only has an icon. Please help me fill in the accessible name.",
9
+ "Check table semantics and screen reader experience",
10
+ "Where should the focus return after the drawer is closed?",
11
11
  "a11y review for this React component"
12
12
  ],
13
13
  "should_not_trigger": [
14
- "给这个 PR 做整体代码评审",
15
- "修复 TypeScript 编译错误",
16
- "写一个 Playwright 登录流程",
17
- "实现 React 项目目录结构",
18
- "检查 XSS 和 token 存储风险",
19
- "优化虚拟列表滚动性能",
20
- "用 Storybook 写组件文档",
21
- "把 jQuery 项目迁移到 Vue"
14
+ "Do an overall code review for this PR",
15
+ "Fix TypeScript compilation errors",
16
+ "Write a Playwright login flow",
17
+ "Implement React project directory structure",
18
+ "Check for XSS and token storage risks",
19
+ "Optimize virtual list scrolling performance",
20
+ "Use Storybook to write component documentation",
21
+ "Migrate jQuery project to Vue"
22
22
  ]
23
23
  },
24
24
  "fec-alchemy": {
25
25
  "should_trigger": [
26
- "分析这个参考仓库,把有价值的能力原创化吸收到当前项目",
27
- "对比这个插件和我们的项目,提炼可以融合的架构思路",
28
- "不要复制代码,帮我借鉴另一个项目的 commands 和 hooks",
29
- "把这个开源项目的工作流改造成适合 frontend-craft 的 skill",
30
- "研究相似产品的实现方式,并给当前仓库制定吸收计划",
31
- "将参考项目里的优秀工程实践迁移成我们自己的方案",
32
- "做一次项目吸收分析,区分可借鉴能力和不该引入的部分",
26
+ "Analyze this reference warehouse and absorb valuable capabilities into the current project.",
27
+ "Compare this plug-in with our project and refine architectural ideas that can be integrated",
28
+ "Don't copy the code, help me borrow commands and hooks from another project",
29
+ "Transform the workflow of this open source project into a skill suitable for frontend-craft",
30
+ "Research how similar products are implemented and develop an absorption plan for the current warehouse",
31
+ "Migrate good engineering practices from reference projects into our own solutions",
32
+ "Conduct a project absorption analysis to distinguish capabilities that can be learned from and parts that should not be introduced",
33
33
  "originally absorb ideas from a reference repo into this project",
34
- "参考后端项目的鉴权和可观测性设计,提炼适合当前服务的吸收方案",
35
- "把另一个 CLI 工具的配置和错误输出体验原创化改造成我们的方案",
36
- "对比这个库项目的公开 API 和版本策略,判断哪些能力适合吸收"
34
+ "Refer to the authentication and observability design of back-end projects to refine absorption solutions suitable for current services.",
35
+ "Adapt the configuration and error output experience of another CLI tool to our solution.",
36
+ "Compare the public API and version strategy of this library project to determine which capabilities are suitable for absorption"
37
37
  ],
38
38
  "should_not_trigger": [
39
- "修复这个组件的 TypeScript 类型错误",
40
- "给 Button 写 React Testing Library 单测",
41
- "只同步 README 里的 skill 数量",
42
- "审查 dangerouslySetInnerHTML 的 XSS 风险",
43
- "把 Vite 从 5 升级到 6",
44
- "优化虚拟列表滚动卡顿",
45
- "按 Figma 设计稿实现页面",
46
- "配置 PWA manifest 和 Service Worker"
39
+ "Fix TypeScript type error for this component",
40
+ "Write React Testing Library single test for Button",
41
+ "Only synchronize the number of skills in README",
42
+ "Review dangerouslySetInnerHTML for XSS risks",
43
+ "Upgrade Vite from 5 to 6",
44
+ "Optimize virtual list scrolling lag",
45
+ "Implement the page according to the Figma design draft",
46
+ "Configure PWA manifest and Service Worker"
47
47
  ]
48
48
  },
49
49
  "fec-api-integration": {
50
50
  "should_trigger": [
51
- "设计前端 typed API client",
52
- "统一处理接口 401 refresh token",
53
- "前后端联调时错误状态怎么映射",
54
- "文件上传用 multipart 还是预签名 URL",
55
- "SSE 和 WebSocket 应该选哪个",
56
- "组件里到处 fetch 想收敛成 API 层",
57
- "API 422 字段错误怎么展示到表单",
51
+ "Design front-end typed API client",
52
+ "Unified processing interface 401 refresh token",
53
+ "How to map error status during front-end and back-end joint debugging",
54
+ "Should I use multipart or pre-signed URL for file upload?",
55
+ "Which one should I choose between SSE and WebSocket?",
56
+ "Fetch everywhere in the component wants to converge into the API layer",
57
+ "How to display API 422 field errors in the form",
58
58
  "frontend API integration with auth refresh"
59
59
  ],
60
60
  "should_not_trigger": [
61
- "TanStack Query queryKey 怎么设计",
62
- "后端服务分层和数据库 repository",
63
- "React 项目目录怎么划分",
64
- "只检查 token 是否能放 localStorage",
65
- "写 Playwright 登录 E2E",
66
- "配置 Vite proxy",
67
- "普通按钮 loading 样式",
68
- "PWA Service Worker 缓存接口"
61
+ "How to design TanStack Query queryKey",
62
+ "Backend service layering and database repository",
63
+ "How to divide the React project directory",
64
+ "Only check whether the token can be placed in localStorage",
65
+ "Write Playwright Login E2E",
66
+ "Configure Vite proxy",
67
+ "Normal button loading style",
68
+ "PWA Service Worker caching interface"
69
+ ]
70
+ },
71
+ "fec-backend-requirements-handoff": {
72
+ "should_trigger": [
73
+ "Help me organize the data requirements of this page to the backend",
74
+ "Write a back-end requirements handover document from a front-end perspective",
75
+ "What backend data is needed for this dashboard? Please help me list it to the API team.",
76
+ "Don’t design the interface, just describe what the UI needs to show and what it can do",
77
+ "Before front-end and back-end joint debugging, sort out user actions, empty states and error states.",
78
+ "Organize the permissions and business rule issues on the order details page into a list of back-end issues",
79
+ "frontend-to-backend requirements handoff for this feature",
80
+ "document backend data needs for the checkout UI",
81
+ "I need to explain the filtering, paging and status requirements of this list page to the backend"
82
+ ],
83
+ "should_not_trigger": [
84
+ "Implement typed API client and error mapping",
85
+ "Encapsulate refresh token queue for interface",
86
+ "Design database table structures and indexes",
87
+ "Write backend controller and service",
88
+ "Fix loading state in React components",
89
+ "Do a complete code review",
90
+ "Synchronize the script instructions in the README",
91
+ "Configure Vite dev server proxy"
69
92
  ]
70
93
  },
71
94
  "fec-browser-storage": {
72
95
  "should_trigger": [
73
- "localStorage 里该怎么存用户偏好",
74
- "IndexedDB 适合缓存这个离线数据吗",
75
- "设计浏览器端缓存清理策略",
76
- "Cookie、sessionStorage、localStorage 选哪个",
77
- "封装带命名空间的客户端持久化",
78
- "审查 token 是否不该放 localStorage",
79
- "大数据量本地缓存用什么方案",
96
+ "How to store user preferences in localStorage",
97
+ "Is IndexedDB suitable for caching this offline data?",
98
+ "Design a browser-side cache cleaning strategy",
99
+ "Which one to choose between Cookie, sessionStorage and localStorage?",
100
+ "Encapsulating client-side persistence with namespaces",
101
+ "Check whether the token should not be placed in localStorage",
102
+ "What solution is used for local caching of large amounts of data?",
80
103
  "client persistence strategy for a web app"
81
104
  ],
82
105
  "should_not_trigger": [
83
- "配置 Service Worker 离线 fallback",
84
- "React Query queryKey 怎么设计",
85
- "修复表单校验错误",
86
- "写路由 RBAC 守卫",
87
- "迁移 jQuery 页面",
88
- "审查 CSP 和 XSS",
89
- "优化 Canvas 渲染",
90
- "配置 Next.js metadata"
106
+ "Configure Service Worker offline fallback",
107
+ "How to design React Query queryKey",
108
+ "Fix form validation errors",
109
+ "Write route RBAC guard",
110
+ "Migrate jQuery pages",
111
+ "Review CSP and XSS",
112
+ "Optimize Canvas rendering",
113
+ "Configure Next.js metadata"
91
114
  ]
92
115
  },
93
116
  "fec-canvas-threejs": {
94
117
  "should_trigger": [
95
- "实现一个 Three.js 产品 3D 预览",
96
- "Canvas 粒子动画卡顿怎么优化",
97
- "React Three Fiber 场景如何清理资源",
98
- "WebGL texture 太大导致掉帧",
99
- "签名板 Canvas 适配高清屏",
100
- "游戏渲染循环怎么写",
101
- "3D 场景 dispose 有哪些必须做",
118
+ "Implement a Three.js product 3D preview",
119
+ "How to optimize Canvas particle animation stuck",
120
+ "How to clean up resources in React Three Fiber scenario",
121
+ "WebGL texture is too large causing frame drops",
122
+ "Signature board Canvas adapted to HD screen",
123
+ "How to write the game rendering loop",
124
+ "What must be done to dispose a 3D scene?",
102
125
  "build a canvas data visualization"
103
126
  ],
104
127
  "should_not_trigger": [
105
- "普通 DOM 表单怎么实现",
106
- "SVG 图标路径描边动画",
107
- "Web Worker 解析大 JSON",
108
- "React 项目模块边界设计",
109
- "优化大列表 DOM 节点数量",
110
- "Playwright 截图测试",
111
- "PWA manifest 配置",
112
- "检查按钮 aria-label"
128
+ "How to implement ordinary DOM form",
129
+ "SVG icon path stroke animation",
130
+ "Web Worker parsing large JSON",
131
+ "React project module boundary design",
132
+ "Optimize the number of DOM nodes in large lists",
133
+ "Playwright screenshot test",
134
+ "PWA manifest configuration",
135
+ "Check button aria-label"
113
136
  ]
114
137
  },
115
138
  "fec-code-review": {
116
139
  "should_trigger": [
117
- "帮我 review 这个前端 PR",
118
- "做一次合并前代码评审",
119
- "检查 React 组件架构和可维护性",
120
- "看看这批改动有没有类型和状态风险",
121
- "输出 frontend code review 报告",
122
- "审查样式一致性和测试缺口",
123
- "评估这个 UI 实现能不能合并",
140
+ "Help me review this front-end PR",
141
+ "Do a pre-merge code review",
142
+ "Check React component architecture and maintainability",
143
+ "Check whether there are type and status risks in this batch of changes",
144
+ "Output frontend code review report",
145
+ "Review style consistency and testing gaps",
146
+ "Evaluate whether this UI implementation can be merged",
124
147
  "general frontend PR review"
125
148
  ],
126
149
  "should_not_trigger": [
127
- "只检查 XSS 和 CSP",
128
- "只做 WCAG 无障碍审查",
129
- "只运行 test 并修复失败",
130
- "写 Playwright E2E",
131
- "设计 Next.js 路由结构",
132
- "迁移 jQuery 到 React",
133
- "优化 WebGL 帧率",
134
- "编写 Storybook 文档"
150
+ "Only checks for XSS and CSP",
151
+ "Only WCAG accessibility review",
152
+ "Just run test and fix the failure",
153
+ "Write Playwright E2E",
154
+ "Designing the Next.js routing structure",
155
+ "Migrate jQuery to React",
156
+ "Optimize WebGL frame rate",
157
+ "Write a Storybook document"
135
158
  ]
136
159
  },
137
160
  "fec-component-testing": {
138
161
  "should_trigger": [
139
- "给这个 React 组件补 RTL 单测",
140
- "Vue Test Utils 测试 emits",
141
- "给这个 composable 写单元测试",
142
- "用 user-event 测试弹窗交互",
143
- "组件 loading empty error 状态怎么测",
144
- "避免 snapshot 测试脆弱断言",
145
- "mock API 后测试组件渲染",
146
- "表单组件加 Router Provider 的轻量集成测试",
147
- "为这个 bug 补组件回归测试"
162
+ "Add RTL single test to this React component",
163
+ "Vue Test Utils test emits",
164
+ "Write unit tests for this composable",
165
+ "Use user-event to test pop-up interaction",
166
+ "How to measure component loading empty error status",
167
+ "Avoid snapshot testing fragile assertions",
168
+ "Test component rendering after mocking API",
169
+ "Lightweight integration testing of form component plus Router Provider",
170
+ "Patch component regression testing for this bug"
148
171
  ],
149
172
  "should_not_trigger": [
150
- "规划这个功能的测试分层",
151
- "写完整登录到支付的 E2E",
152
- "配置 Storybook 文档站",
153
- "跑 lint 并修复失败",
154
- "审查 XSS 风险",
155
- "设计 React 项目结构",
156
- "检查 WCAG 键盘焦点",
157
- "搭建 Playwright CI artifacts",
158
- "迁移 jQuery 项目"
173
+ "Plan the test layering for this feature",
174
+ "Write complete login to E2E for payment",
175
+ "Configuring the Storybook document site",
176
+ "Run lint and fix the failure",
177
+ "Review XSS risks",
178
+ "Design React project structure",
179
+ "Check WCAG keyboard focus",
180
+ "Building Playwright CI artifacts",
181
+ "Migrate jQuery projects"
159
182
  ]
160
183
  },
161
184
  "fec-data-fetching": {
162
185
  "should_trigger": [
163
- "TanStack Query queryKey 怎么设计",
164
- "React Query mutation 成功后如何失效缓存",
165
- "实现乐观更新失败回滚",
166
- "无限滚动数据用 useInfiniteQuery",
186
+ "How to design TanStack Query queryKey",
187
+ "How to invalidate cache after React Query mutation is successful",
188
+ "Implement optimistic update failure rollback",
189
+ "Use useInfiniteQuery for infinite scrolling data",
167
190
  "SSR hydration with React Query",
168
- "封装 typed API hooks",
169
- "替换 useEffect loading state 获取数据",
191
+ "Encapsulating typed API hooks",
192
+ "Replace useEffect loading state to get data",
170
193
  "server state caching strategy"
171
194
  ],
172
195
  "should_not_trigger": [
173
- "Service Worker 缓存静态资源",
174
- "localStorage 存用户偏好",
175
- "表单字段联动校验",
176
- "Pinia 本地 UI 状态设计",
177
- "Next.js 服务端组件 fetch 缓存",
178
- "Web Worker 后台解析 CSV",
179
- "虚拟列表滚动渲染",
180
- "审查 token 存储安全"
196
+ "Service Worker caches static resources",
197
+ "localStorage stores user preferences",
198
+ "Form field linkage verification",
199
+ "Pinia local UI state design",
200
+ "Next.js server-side component fetch cache",
201
+ "Web Worker background parsing CSV",
202
+ "Virtual list scroll rendering",
203
+ "Review token storage security"
181
204
  ]
182
205
  },
183
206
  "fec-debug-framework": {
184
207
  "should_trigger": [
185
- "Vite 构建报错 Module not found,帮我排查",
186
- "页面白屏了,控制台有 TypeError",
187
- "这个组件渲染结果和预期不一致,帮我 debug",
188
- "接口返回 500 但前端没展示错误信息",
189
- "打包后样式丢失,开发环境正常",
190
- "React 组件 hydration mismatch 怎么定位",
191
- "HMR 更新后页面状态丢失",
192
- "排查生产环境偶发性 JS 异常"
208
+ "Vite build error reports Module not found, please help me troubleshoot",
209
+ "The page has a white screen and a TypeError appears in the console.",
210
+ "The rendering result of this component is inconsistent with expectations. Help me debug it.",
211
+ "The interface returns 500 but the front end does not display the error message",
212
+ "Styles are lost after packaging, but the development environment is normal",
213
+ "How to locate hydration mismatch in React components",
214
+ "Page status lost after HMR update",
215
+ "Troubleshoot sporadic JS exceptions in production environments"
193
216
  ],
194
217
  "should_not_trigger": [
195
- "给这个模块写单元测试",
196
- "设计一个新的 React 组件",
197
- "优化首屏加载性能",
198
- "做前端安全审查",
199
- "升级 TypeScript 到最新版本",
200
- "重构这个 hooks 的逻辑",
201
- "写一个 Playwright E2E 测试",
202
- "给这个 API 设计类型定义"
218
+ "Write unit tests for this module",
219
+ "Design a new React component",
220
+ "Optimize first screen loading performance",
221
+ "Do front-end security review",
222
+ "Upgrade TypeScript to the latest version",
223
+ "Refactor the logic of this hooks",
224
+ "Write a Playwright E2E test",
225
+ "Design type definitions for this API"
203
226
  ]
204
227
  },
205
228
  "fec-dependency-upgrade": {
206
229
  "should_trigger": [
207
- "把 Vite 从 5 升级到 6,需要评估破坏性变更",
208
- "package-lock 改了很多,帮我 review 依赖升级风险",
209
- "修复 npm audit 里的前端高危 CVE",
210
- "React 大版本升级前需要迁移计划",
211
- "peer dependency 冲突怎么处理",
212
- "这个包从 CJS 切到 ESM 会影响构建吗",
230
+ "Upgrading Vite from 5 to 6 requires evaluating breaking changes",
231
+ "package-lock has been changed a lot, help me review dependency upgrade risks",
232
+ "Fix front-end high-risk CVE in npm audit",
233
+ "A migration plan is required before a major version upgrade of React",
234
+ "How to deal with peer dependency conflicts",
235
+ "Will switching this package from CJS to ESM affect the build?",
213
236
  "frontend dependency upgrade verification plan",
214
- "升级 Storybook 后 CI build 失败需要分析"
237
+ "CI build fails after upgrading Storybook and needs analysis"
238
+ ],
239
+ "should_not_trigger": [
240
+ "Just run npm test and fix the failure",
241
+ "Clean up components that have proven to be unused",
242
+ "Write React component architecture specifications",
243
+ "Design Tailwind token",
244
+ "Review XSS and CSP",
245
+ "Configure the Playwright login process",
246
+ "Do UI visual polishing",
247
+ "Implement API client error mapping"
248
+ ]
249
+ },
250
+ "fec-drawio-studio": {
251
+ "should_trigger": [
252
+ "Generate an editable draw.io architecture diagram and export it as a PNG",
253
+ "Draw this microservice system as a .drawio file",
254
+ "Use diagrams.net to make ER diagrams, requiring the ability to edit them later.",
255
+ "Check out the official shape style of AWS Lambda in draw.io",
256
+ "Generate a module dependency graph for this TypeScript project and automatically lay it out",
257
+ "Generate UML class diagram and export to SVG using draw.io CLI",
258
+ "draw.io automatically layouts a service topology with more than 20 nodes",
259
+ "Generate diagrams.net editing link after layout with Graphviz",
260
+ "Make an editable sequence diagram and check .drawio for broken edges",
261
+ "create an editable drawio architecture diagram with official cloud shapes"
215
262
  ],
216
263
  "should_not_trigger": [
217
- "只运行 npm test 并修复失败",
218
- "清理已证明未使用的组件",
219
- "写 React 组件架构规范",
220
- "设计 Tailwind token",
221
- "审查 XSS 和 CSP",
222
- "配置 Playwright 登录流程",
223
- "做 UI 视觉打磨",
224
- "实现 API client 错误映射"
264
+ "Generate a product promotional poster image",
265
+ "Edit this photo and replace the background",
266
+ "Implement Three.js interactive 3D topology map",
267
+ "Add path stroke animation to SVG logo",
268
+ "Just write Mermaid into the README",
269
+ "Implement the page according to the Figma design draft",
270
+ "Check dashboard button hover state",
271
+ "Visual regression using Playwright screenshots",
272
+ "Optimize Canvas particle animation performance",
273
+ "Generate comic avatars and brand boards"
225
274
  ]
226
275
  },
227
276
  "fec-doc-sync": {
228
277
  "should_trigger": [
229
- "同步 README 中的 skill 和 agent 数量",
230
- "新增命令后更新多语言文档",
231
- "根据 package.json 生成命令清单",
278
+ "Synchronize the number of skills and agents in README",
279
+ "Update multi-language documentation after adding a new command",
280
+ "Generate command list based on package.json",
232
281
  "docs sync for runtime documentation",
233
- "更新 marketplace 描述里的能力数量",
234
- "检查 README 和 skills metadata 是否一致",
235
- "把报告输出表同步到文档",
236
- "更新项目结构文档中的 commands 列表"
282
+ "Update capability quantity in marketplace description",
283
+ "Check whether README and skills metadata are consistent",
284
+ "Synchronize report output table to document",
285
+ "Update the commands list in the project structure document"
237
286
  ],
238
287
  "should_not_trigger": [
239
- "给组件写 Storybook stories",
240
- "修复 TypeScript 构建失败",
241
- "写登录 E2E 测试",
242
- "审查 XSS 风险",
243
- "规划 React 组件边界",
244
- "清理未使用导出",
245
- "实现 PWA manifest",
246
- "优化虚拟列表滚动"
288
+ "Write Storybook stories for components",
289
+ "Fix TypeScript build failure",
290
+ "Write login E2E test",
291
+ "Review XSS risks",
292
+ "Planning React component boundaries",
293
+ "Clean up unused exports",
294
+ "Implement PWA manifest",
295
+ "Optimize virtual list scrolling"
247
296
  ]
248
297
  },
249
298
  "fec-e2e-testing": {
250
299
  "should_trigger": [
251
- "用 Playwright 写登录购买完整流程",
252
- "治理 flaky E2E 用例",
253
- "配置 Cypress 关键路径测试",
254
- "上传 trace screenshot video 到 CI",
255
- "Page Object 怎么组织",
256
- "写移动端和桌面端 E2E",
257
- "视觉回归测试怎么接入",
300
+ "Use Playwright to write the complete login and purchase process",
301
+ "Governance flaky E2E use cases",
302
+ "Configure Cypress critical path testing",
303
+ "Upload trace screenshot video to CI",
304
+ "How to organize Page Object",
305
+ "Write mobile and desktop E2E",
306
+ "How to access visual regression testing",
258
307
  "debug a failing Playwright test"
259
308
  ],
260
309
  "should_not_trigger": [
261
- "给 Button 写组件单测",
262
- "Storybook 写组件示例",
263
- "React 项目结构设计",
264
- "修复 TypeScript 类型错误",
265
- "审查 XSS 风险",
266
- "配置 PWA manifest",
267
- "选择 localStorage 还是 IndexedDB",
268
- "写 Zod 表单校验"
310
+ "Write component unit test for Button",
311
+ "Storybook writing component example",
312
+ "React project structure design",
313
+ "Fix TypeScript type errors",
314
+ "Review XSS risks",
315
+ "Configure PWA manifest",
316
+ "Choose localStorage or IndexedDB",
317
+ "Write Zod form validation"
269
318
  ]
270
319
  },
271
320
  "fec-form-handling": {
272
321
  "should_trigger": [
273
- "用 React Hook Form 和 Zod 做复杂表单",
274
- "动态字段 useFieldArray 怎么写",
275
- "第三方 Select 如何接入 Controller",
276
- "文件上传表单怎么校验大小和类型",
277
- "多步表单 schema 怎么拆",
278
- "表单输入很卡怎么优化",
279
- "密码确认联动校验",
322
+ "Use React Hook Form and Zod to create complex forms",
323
+ "How to write dynamic field useFieldArray",
324
+ "How to connect third-party Select to Controller",
325
+ "How to verify size and type of file upload form",
326
+ "How to dismantle multi-step form schema",
327
+ "How to optimize form input that is stuck?",
328
+ "Password confirmation linkage verification",
280
329
  "build a typed validation form"
281
330
  ],
282
331
  "should_not_trigger": [
283
- "React 项目目录怎么规划",
284
- "mutation 成功后 invalidation",
285
- "写表单组件单测",
286
- "检查 label 和 aria 错误提示",
287
- "路由未登录重定向",
288
- "审查文件上传安全风险",
289
- "普通两个字段搜索框",
290
- "Vue 组件架构设计"
332
+ "How to plan the React project directory",
333
+ "invalidation after mutation succeeds",
334
+ "Write form component unit test",
335
+ "Check label and aria error messages",
336
+ "Route not logged in redirect",
337
+ "Review file upload security risks",
338
+ "Ordinary two-field search box",
339
+ "Vue component architecture design"
340
+ ]
341
+ },
342
+ "fec-image-generation": {
343
+ "should_trigger": [
344
+ "Help me generate a technical architecture diagram and export it as a PNG, and check whether the labels overlap.",
345
+ "Generate editable sources and images for ER diagrams, UML class diagrams, and sequence diagrams",
346
+ "Create a set of posters and brand board visual explorations for this product",
347
+ "Please generate a UI mockup and self-check whether the exported PNG is cropped.",
348
+ "Put this image into an editing workflow, keep the subject but replace the background",
349
+ "Make ML model structure diagram, standardize tensor shape and avoid connection stacking",
350
+ "Generate information graphics and academic graphics, and automatically repair label truncation after exporting",
351
+ "Generate comic storyboards and avatar assets for this story",
352
+ "run PNG QA on this generated architecture diagram",
353
+ "image generation workflow for posters, product shots, and mockups"
354
+ ],
355
+ "should_not_trigger": [
356
+ "Only polish the spacing and hover state of the existing dashboard",
357
+ "Restore page by Figma pixels",
358
+ "Implement Three.js interactive 3D scenes",
359
+ "Add reduced-motion animation to SVG icons",
360
+ "Check button aria-label and keyboard focus",
361
+ "Fix React Query cache failure",
362
+ "Write Playwright Login E2E",
363
+ "Configure Tailwind token and dark mode",
364
+ "Optimize virtual list scrolling performance"
291
365
  ]
292
366
  },
293
367
  "fec-implement-from-design": {
294
368
  "should_trigger": [
295
- "按 Figma 设计稿实现这个页面",
296
- "从截图还原一个 React 组件",
297
- "把 MasterGo 选区转成前端代码",
298
- "设计 token 应该怎么映射到 CSS 变量",
299
- "实现设计稿里的弹窗和表格",
300
- "检查设计稿和实现的视觉差异",
301
- "用现有组件库还原 Pixso 页面",
369
+ "Realize this page according to Figma design draft",
370
+ "Restore a React component from a screenshot",
371
+ "Convert MasterGo selection to front-end code",
372
+ "How design tokens should be mapped to CSS variables",
373
+ "Implement pop-up windows and tables in design drafts",
374
+ "Check visual differences between design draft and implementation",
375
+ "Restore Pixso pages with existing component library",
302
376
  "design-to-code implementation"
303
377
  ],
304
378
  "should_not_trigger": [
305
- "创建 PWA Service Worker",
306
- "写组件单元测试",
307
- "做通用 PR review",
308
- "配置 React Query",
309
- "维护 jQuery 遗留页面",
310
- "检查 XSS 风险",
311
- "设计 monorepo package 边界",
312
- "写 Web Worker"
379
+ "Create PWA Service Worker",
380
+ "Write component unit tests",
381
+ "Do a general PR review",
382
+ "Configure React Query",
383
+ "Maintain jQuery legacy pages",
384
+ "Check for XSS risks",
385
+ "Designing monorepo package boundaries",
386
+ "Write Web Worker"
313
387
  ]
314
388
  },
315
389
  "fec-legacy-to-modern-migration": {
316
390
  "should_trigger": [
317
- "把 jQuery MPA 迁移到 React TypeScript",
318
- "规划遗留 JSP 页面现代化",
319
- "从服务端模板迁移到 Vue 3 SPA",
320
- "做 legacy frontend migration plan",
321
- "盘点旧系统页面和插件依赖",
322
- "制定渐进式 Strangler Fig 迁移",
323
- "迁移 $.ajax 到 typed request layer",
324
- "jQuery 项目技术栈升级方案"
391
+ "Migrate jQuery MPA to React TypeScript",
392
+ "Plan for legacy JSP page modernization",
393
+ "Migrate from server-side templates to Vue 3 SPA",
394
+ "Make legacy frontend migration plan",
395
+ "Inventory of old system pages and plug-in dependencies",
396
+ "Developing a progressive Strangler Fig migration",
397
+ "Migrate $.ajax to typed request layer",
398
+ "jQuery project technology stack upgrade plan"
325
399
  ],
326
400
  "should_not_trigger": [
327
- "在 jQuery 项目里修一个点击 bug",
328
- "维护现有原生 JS 页面不迁移",
329
- "审查 React PR",
330
- "写 Playwright E2E",
331
- "配置 Nuxt 路由",
332
- "检查 Canvas 内存泄漏",
333
- "设计浏览器存储策略",
334
- "写 Storybook 文档"
401
+ "Fix a click bug in jQuery project",
402
+ "Maintain existing native JS pages without migrating",
403
+ "Review React PR",
404
+ "Write Playwright E2E",
405
+ "Configure Nuxt routing",
406
+ "Check for Canvas memory leaks",
407
+ "Design browser storage strategy",
408
+ "Write a Storybook document"
335
409
  ]
336
410
  },
337
411
  "fec-legacy-web-standard": {
338
412
  "should_trigger": [
339
- "维护一个 jQuery 多页面项目",
340
- "修复原生 JS 事件委托问题",
341
- "传统服务端模板页面怎么安全改",
342
- "审查 .html() 插入用户输入",
343
- "整理 legacy CSS 和 jQuery 插件初始化",
344
- "MPA 页面 Ajax loading 怎么处理",
345
- "不引入框架地改旧页面",
413
+ "Maintain a jQuery multi-page project",
414
+ "Fix native JS event delegation issue",
415
+ "How to safely modify traditional server-side template pages",
416
+ "Review .html() for inserting user input",
417
+ "Clean up legacy CSS and jQuery plugin initialization",
418
+ "How to handle Ajax loading in MPA pages",
419
+ "Modify old pages without introducing frames",
346
420
  "vanilla JS legacy maintenance"
347
421
  ],
348
422
  "should_not_trigger": [
349
- "把 jQuery 迁移到 React",
350
- "制定 Vue 3 重构计划",
351
- "设计 React 项目结构",
352
- "写组件单元测试",
353
- "配置 PWA 离线缓存",
354
- "实现 Three.js 场景",
355
- "做 Next.js App Router 页面",
356
- "配置 TanStack Query"
423
+ "Migrate jQuery to React",
424
+ "Develop a Vue 3 refactoring plan",
425
+ "Design React project structure",
426
+ "Write component unit tests",
427
+ "Configure PWA offline caching",
428
+ "Implement Three.js scenarios",
429
+ "Make the Next.js App Router page",
430
+ "Configure TanStack Query"
357
431
  ]
358
432
  },
359
433
  "fec-list-virtualization": {
360
434
  "should_trigger": [
361
- "十万行列表滚动卡顿怎么优化",
362
- "react-window 固定高度列表",
363
- "TanStack Virtual 动态高度",
364
- "虚拟滚动和无限加载结合",
365
- "表格行太多导致 DOM 爆炸",
366
- "网格 virtualization 怎么做",
435
+ "How to optimize the scrolling lag in a list of 100,000 rows",
436
+ "react-window fixed height list",
437
+ "TanStack Virtual dynamic height",
438
+ "Virtual scrolling and infinite loading combined",
439
+ "Too many table rows cause DOM explosion",
440
+ "How to do grid virtualization",
367
441
  "variable row height measurement",
368
442
  "large list windowing performance"
369
443
  ],
370
444
  "should_not_trigger": [
371
- "React Query 无限分页数据源",
372
- "Web Worker 计算布局",
373
- "Canvas 绘制图表",
374
- "普通短列表组件",
375
- "写 E2E 滚动测试",
376
- "检查 aria 表格语义",
377
- "PWA 缓存图片",
378
- "设计 Vue 项目结构"
445
+ "React Query infinite paginated data source",
446
+ "Web Worker computes layout",
447
+ "Canvas drawing chart",
448
+ "Common short list component",
449
+ "Writing E2E rolling tests",
450
+ "Check aria table semantics",
451
+ "PWA cached images",
452
+ "Design Vue project structure"
379
453
  ]
380
454
  },
381
455
  "fec-monorepo-project-standard": {
382
456
  "should_trigger": [
383
- "设计 pnpm workspace 前端 monorepo",
384
- "Turborepo task pipeline 怎么配置",
385
- "Nx 多包边界怎么划分",
386
- "内部包用 workspace:*",
387
- "检查 monorepo 循环依赖",
388
- "多 package 发布规范",
389
- "共享 UI 包和 app 边界",
457
+ "Design pnpm workspace frontend monorepo",
458
+ "How to configure Turborepo task pipeline",
459
+ "How to divide Nx multi-packet boundaries",
460
+ "Internal packages use workspace:*",
461
+ "Check for monorepo circular dependencies",
462
+ "Multiple package release specifications",
463
+ "Share UI packages and app boundaries",
390
464
  "frontend monorepo restructuring"
391
465
  ],
392
466
  "should_not_trigger": [
393
- "单个 React 组件架构",
394
- "Next.js App Router 页面",
395
- "写表单校验",
396
- "配置 Playwright E2E",
397
- "审查 XSS 风险",
398
- "优化虚拟列表",
467
+ "Single React component architecture",
468
+ "Next.js App Router page",
469
+ "Write form verification",
470
+ "Configure Playwright E2E",
471
+ "Review XSS risks",
472
+ "Optimize virtual lists",
399
473
  "PWA manifest",
400
- "维护 jQuery 页面"
474
+ "Maintain jQuery pages"
401
475
  ]
402
476
  },
403
477
  "fec-motion-interaction": {
404
478
  "should_trigger": [
405
- "给这个产品页设计页面转场动效",
406
- "Framer Motion 和 GSAP 这里该选哪个",
407
- "滚动叙事动画怎么做且不掉帧",
408
- "这个 dashboard 的交互动效太重了帮我降级",
409
- "Lottie 图标动画怎么按需加载",
410
- "设计 reduced-motion 下的动画兜底",
411
- "页面入场 stagger 和布局过渡怎么规划",
479
+ "Design page transition effects for this product page",
480
+ "Framer Motion or GSAP, which one should I choose?",
481
+ "How to make scrolling narrative animation without dropping frames",
482
+ "The interactive effects of this dashboard are too heavy. Please downgrade it.",
483
+ "How to load Lottie icon animation on demand",
484
+ "Design animation under reduced-motion",
485
+ "How to plan page entry stagger and layout transition",
412
486
  "frontend interaction motion strategy"
413
487
  ],
414
488
  "should_not_trigger": [
415
- "SVG 路径描边动画怎么写",
416
- "Three.js 粒子系统怎么优化",
417
- "普通 CSS hover 颜色变化",
418
- "React 项目目录结构设计",
419
- "检查按钮 aria-label",
420
- "写 Playwright 动画截图测试",
421
- "配置 PWA manifest",
422
- "API 错误状态怎么映射"
489
+ "How to write SVG path stroke animation",
490
+ "How to optimize Three.js particle system",
491
+ "Normal CSS hover color change",
492
+ "React project directory structure design",
493
+ "Check button aria-label",
494
+ "Writing Playwright animation screenshot tests",
495
+ "Configure PWA manifest",
496
+ "How to map API error status"
423
497
  ]
424
498
  },
425
499
  "fec-nextjs-project-standard": {
426
500
  "should_trigger": [
427
- "Next.js App Router 项目结构",
428
- "server component 和 client component 边界",
429
- "配置 SSR SSG ISR",
430
- "generateMetadata 怎么写",
431
- "middleware 里做重定向",
432
- "loading.tsx error.tsx 怎么组织",
433
- "Next.js fetch cache 策略",
501
+ "Next.js App Router project structure",
502
+ "server component and client component boundary",
503
+ "Configure SSR SSG ISR",
504
+ "How to write generateMetadata",
505
+ "Redirect in middleware",
506
+ "How to organize loading.tsx error.tsx",
507
+ "Next.js fetch cache strategy",
434
508
  "Next 14 route layout design"
435
509
  ],
436
510
  "should_not_trigger": [
437
- "普通 React 组件拆分",
438
- "React Hook Form 表单",
439
- "TanStack Query 客户端缓存",
440
- "Vue 3 composable 设计",
441
- "Nuxt 页面路由",
511
+ "Common React component splitting",
512
+ "React Hook Form form",
513
+ "TanStack Query client cache",
514
+ "Vue 3 composable design",
515
+ "Nuxt page routing",
442
516
  "Playwright E2E",
443
517
  "PWA Service Worker",
444
- "jQuery 迁移"
518
+ "jQuery migration"
445
519
  ]
446
520
  },
447
521
  "fec-nuxt-project-standard": {
448
522
  "should_trigger": [
449
- "Nuxt 3 项目结构怎么组织",
450
- "useFetch 和 useAsyncData 选择",
451
- "配置 Nuxt SSR SSG SPA",
452
- "Nuxt route middleware 鉴权",
453
- "plugins .client .server 怎么写",
454
- "server/api 路由设计",
455
- "Nuxt layouts 和 pages",
523
+ "How to organize the Nuxt 3 project structure",
524
+ "useFetch and useAsyncData selection",
525
+ "Configure Nuxt SSR SSG SPA",
526
+ "Nuxt route middleware authentication",
527
+ "How to write plugins .client .server",
528
+ "server/api routing design",
529
+ "Nuxt layouts and pages",
456
530
  "Nuxt module setup"
457
531
  ],
458
532
  "should_not_trigger": [
459
- "普通 Vue 3 组件边界",
533
+ "Normal Vue 3 component boundaries",
460
534
  "Next.js App Router",
461
- "React Query 缓存",
462
- "写组件单测",
535
+ "React Query caching",
536
+ "Write component unit test",
463
537
  "PWA manifest",
464
- "jQuery 维护",
465
- "Canvas 渲染",
466
- "Web Worker 性能"
538
+ "jQuery maintenance",
539
+ "Canvas rendering",
540
+ "Web Worker Performance"
467
541
  ]
468
542
  },
469
543
  "fec-performance-optimization": {
470
544
  "should_trigger": [
471
- "页面首屏 LCP 很慢怎么定位",
472
- "优化这个 React 页面重复渲染和长任务",
473
- "bundle size 突然变大帮我分析",
474
- "Core Web Vitals 不达标需要性能预算",
475
- "Lighthouse performance 分数下降",
476
- "滚动卡顿和主线程阻塞排查",
477
- "检查内存泄漏和未清理事件监听",
545
+ "How to locate the first screen of the page where the LCP is very slow?",
546
+ "Optimize this React page for repeated rendering and long tasks",
547
+ "Bundle size suddenly increased. Please help me analyze it.",
548
+ "Core Web Vitals are not up to standard and require performance budget",
549
+ "Lighthouse performance score drops",
550
+ "Troubleshooting scrolling lag and main thread blocking",
551
+ "Check for memory leaks and uncleaned event listeners",
478
552
  "frontend performance optimization with web vitals"
479
553
  ],
480
554
  "should_not_trigger": [
481
- "给 Button 写组件单元测试",
482
- "规划 React 项目目录结构",
483
- "检查 XSS 和 CSP 风险",
484
- "同步 README skill 数量",
485
- "按 Figma 实现页面",
486
- "配置路由权限守卫",
487
- "修复 TypeScript 类型错误",
488
- "迁移 jQuery 到 Vue"
555
+ "Write component unit test for Button",
556
+ "Plan the React project directory structure",
557
+ "Check for XSS and CSP risks",
558
+ "Number of synchronized README skills",
559
+ "Implement the page by Figma",
560
+ "Configure routing permission guards",
561
+ "Fix TypeScript type errors",
562
+ "Migrate jQuery to Vue"
489
563
  ]
490
564
  },
491
565
  "fec-pwa-implementation": {
492
566
  "should_trigger": [
493
- "给应用加 PWA manifest",
494
- "配置 Service Worker 离线 fallback",
495
- "Workbox 缓存策略怎么选",
496
- "实现 beforeinstallprompt 安装提示",
497
- "PWA 更新提示和 skipWaiting",
498
- "maskable icon 怎么配置",
499
- "iOS PWA 有哪些兼容问题",
567
+ "Add PWA manifest to the application",
568
+ "Configure Service Worker offline fallback",
569
+ "How to choose Workbox caching strategy",
570
+ "Implement the beforeinstallprompt installation prompt",
571
+ "PWA update prompts and skipWaiting",
572
+ "How to configure maskable icon",
573
+ "What compatibility issues does iOS PWA have?",
500
574
  "make this web app installable"
501
575
  ],
502
576
  "should_not_trigger": [
503
- "React Query API 缓存",
504
- "localStorage 持久化偏好",
505
- "普通页面性能优化",
577
+ "React Query API cache",
578
+ "localStorage persistence preferences",
579
+ "Ordinary page performance optimization",
506
580
  "Next.js metadata",
507
- "写 Playwright E2E",
508
- "Web Worker 后台计算",
509
- "审查 XSS 风险",
510
- "Vue 项目结构"
581
+ "Write Playwright E2E",
582
+ "Web Worker background calculation",
583
+ "Review XSS risks",
584
+ "Vue project structure"
511
585
  ]
512
586
  },
513
587
  "fec-react-project-standard": {
514
588
  "should_trigger": [
515
- "设计 React TypeScript 项目结构",
516
- "React feature 模块边界怎么划分",
517
- "组件、hooks、services 目录怎么放",
518
- "Context 和局部状态怎么归属",
519
- "React 页面重构成 features",
520
- "设计复合组件 API",
521
- "梳理 React 错误边界和状态层",
589
+ "Designing React TypeScript project structure",
590
+ "How to divide React feature module boundaries",
591
+ "How to place components, hooks, and services directories",
592
+ "How do Context and local state belong?",
593
+ "React page refactoring into features",
594
+ "Design composite component API",
595
+ "Sorting out React error boundaries and state layers",
522
596
  "React component architecture review"
523
597
  ],
524
598
  "should_not_trigger": [
525
- "写 React Hook Form 动态表单",
526
- "TanStack Query mutation 回滚",
527
- "RTL 组件单测",
528
- "只检查 a11y 焦点",
599
+ "Write React Hook Form dynamic form",
600
+ "TanStack Query mutation rollback",
601
+ "RTL component unit test",
602
+ "Only check a11y focus",
529
603
  "Next.js App Router fetch cache",
530
- "虚拟列表滚动性能",
604
+ "Virtual list scrolling performance",
531
605
  "PWA Service Worker",
532
- "XSS 安全审查"
606
+ "XSS security review"
533
607
  ]
534
608
  },
535
609
  "fec-refactor-clean": {
536
610
  "should_trigger": [
537
- "清理未使用的 React 组件",
538
- "用 knip 检查死代码并安全删除",
539
- "删除没有引用的工具函数",
540
- "检查未使用的 npm 依赖",
611
+ "Clean up unused React components",
612
+ "Check for dead code and safely remove it with knip",
613
+ "Remove unreferenced utility functions",
614
+ "Check for unused npm dependencies",
541
615
  "refactor clean unused exports",
542
- "清理过期路由前先做风险分类",
543
- "找出无用 CSS 文件但不要误删动态 class",
544
- "生成 dead code cleanup 报告"
616
+ "Do risk classification before cleaning up expired routes",
617
+ "Find useless CSS files but don’t delete dynamic classes by mistake",
618
+ "Generate dead code cleanup report"
545
619
  ],
546
620
  "should_not_trigger": [
547
- "实现新功能页面",
548
- "写 TDD 失败测试",
549
- "同步 README 命令表",
550
- "修复 lint 失败",
551
- "做安全审查",
552
- "设计 Next.js 路由结构",
553
- "写 Playwright 测试",
554
- "迁移 jQuery 到 React"
621
+ "Implement new function page",
622
+ "Writing TDD failing tests",
623
+ "Synchronize README command list",
624
+ "Fix lint failure",
625
+ "Do a security review",
626
+ "Designing the Next.js routing structure",
627
+ "Writing Playwright tests",
628
+ "Migrate jQuery to React"
555
629
  ]
556
630
  },
557
- "fec-route-protection": {
631
+ "fec-responsive-layout": {
558
632
  "should_trigger": [
559
- "实现未登录跳转登录页",
560
- "RBAC 权限路由怎么设计",
561
- "React Router 私有路由守卫",
562
- "Next middleware 鉴权和 redirect",
563
- "Vue Router beforeEach 权限判断",
564
- "Nuxt route middleware 登录态",
565
- "防止 open redirect",
566
- "route guard with roles"
633
+ "This page overflows horizontally at 375px, help me make a responsive layout",
634
+ "Use container query to change the layout of this component",
635
+ "How to change mobile table to readable view",
636
+ "dashboard jumps between tablet and desktop breakpoints",
637
+ "Check touch target and safe area adaptation",
638
+ "The bottom operation bar blocks the content after switching between horizontal and vertical screens",
639
+ "responsive layout review for this web app",
640
+ "Design a mobile-first multi-column filter page"
567
641
  ],
568
642
  "should_not_trigger": [
569
- "审查 token 是否安全存储",
570
- "设计 React 项目结构",
571
- "配置 TanStack Query",
572
- "写 E2E 登录流程",
573
- "表单校验",
574
- "PWA 离线缓存",
575
- "普通菜单键盘可访问性",
576
- "jQuery 迁移"
643
+ "Define the visual style for product pages",
644
+ "Design Tailwind component variants",
645
+ "Only checks for aria and keyboard focus",
646
+ "Optimize bundle size",
647
+ "Write Playwright E2E",
648
+ "Implement React project directory structure",
649
+ "Review XSS risks",
650
+ "Upgrade dependency version"
577
651
  ]
578
652
  },
579
- "fec-responsive-layout": {
653
+ "fec-route-protection": {
580
654
  "should_trigger": [
581
- "这个页面 375px 下横向溢出,帮我做响应式布局",
582
- "用 container query 改这个组件的布局",
583
- "移动端表格应该怎么改成可读视图",
584
- "dashboard 在平板和桌面断点之间跳变",
585
- "检查触摸目标和安全区域适配",
586
- "横竖屏切换后底部操作栏挡住内容",
587
- "responsive layout review for this web app",
588
- "设计移动优先的多列筛选页面"
655
+ "Implementation of redirecting to the login page when not logged in",
656
+ "How to design RBAC permission routing",
657
+ "React Router private route guard",
658
+ "Next middleware authentication and redirect",
659
+ "Vue Router beforeEach permission judgment",
660
+ "Nuxt route middleware login state",
661
+ "Prevent open redirect",
662
+ "route guard with roles"
589
663
  ],
590
664
  "should_not_trigger": [
591
- "为产品页定义视觉风格",
592
- "设计 Tailwind 组件变体",
593
- "只检查 aria 和键盘焦点",
594
- "优化 bundle size",
595
- "写 Playwright E2E",
596
- "实现 React 项目目录结构",
597
- "审查 XSS 风险",
598
- "升级依赖版本"
665
+ "Check whether the token is stored securely",
666
+ "Design React project structure",
667
+ "Configure TanStack Query",
668
+ "Write E2E login process",
669
+ "form validation",
670
+ "PWA offline cache",
671
+ "Normal menu keyboard accessibility",
672
+ "jQuery migration"
599
673
  ]
600
674
  },
601
675
  "fec-security-review": {
602
676
  "should_trigger": [
603
- "检查 dangerouslySetInnerHTML 是否安全",
604
- "审查 v-html XSS 风险",
605
- "token 存储和刷新流程安全检查",
606
- "文件上传前端安全风险",
607
- "第三方脚本和 CSP 审查",
608
- "检查 CSRF 防护",
609
- "开放重定向风险",
677
+ "Check if dangerouslySetInnerHTML is safe",
678
+ "Review v-html XSS risks",
679
+ "Security check of token storage and refresh process",
680
+ "File upload front-end security risks",
681
+ "Third-party scripts and CSP review",
682
+ "Check CSRF protection",
683
+ "Open redirect risk",
610
684
  "frontend security review"
611
685
  ],
612
686
  "should_not_trigger": [
613
- "普通前端 PR 综合评审",
614
- "WCAG 键盘焦点审查",
615
- "React 组件架构设计",
687
+ "General front-end PR comprehensive review",
688
+ "WCAG Keyboard Focus Review",
689
+ "React component architecture design",
616
690
  "Playwright E2E",
617
- "修复 TypeScript 错误",
691
+ "Fix TypeScript errors",
618
692
  "PWA install prompt",
619
- "Storybook 组件文档",
620
- "虚拟列表性能"
693
+ "Storybook component documentation",
694
+ "Virtual list performance"
621
695
  ]
622
696
  },
623
697
  "fec-source-driven-development": {
624
698
  "should_trigger": [
625
- "这个 Next.js 新版本 API 先查官方文档再决定",
626
- "帮我确认 Vite 配置项当前版本是否还推荐",
627
- "这个浏览器 API 兼容性要以规范和 MDN 为准",
699
+ "For this new version of Next.js API, please check the official documentation before making a decision.",
700
+ "Help me confirm whether the current version of Vite configuration items is still recommended",
701
+ "This browser API compatibility is subject to specifications and MDN",
628
702
  "source-driven decision for a frontend library migration",
629
- "React Router 版本差异需要查文档",
630
- "这个包的 ESM/CJS 行为不要凭记忆判断",
631
- "按项目源码和官方 docs 设计公共接口",
632
- "验证 Nuxt useFetch 最新推荐用法"
703
+ "React Router version differences require checking documentation",
704
+ "Do not judge the ESM/CJS behavior of this package from memory.",
705
+ "Design public interfaces based on project source code and official docs",
706
+ "Verify the latest recommended usage of Nuxt useFetch"
633
707
  ],
634
708
  "should_not_trigger": [
635
- "给表单写 Zod 校验",
636
- "优化大列表虚拟滚动",
637
- "运行 npm test 并修复失败",
638
- "检查按钮 aria-label",
639
- "写 Playwright 登录流程",
640
- "清理未使用依赖",
641
- "设计 UI 视觉方向",
642
- "审查 token 存储安全"
709
+ "Write Zod validation to the form",
710
+ "Optimize virtual scrolling of large lists",
711
+ "Run npm test and fix the failure",
712
+ "Check button aria-label",
713
+ "Writing the Playwright Login Flow",
714
+ "Clean up unused dependencies",
715
+ "Design UI visual direction",
716
+ "Review token storage security"
643
717
  ]
644
718
  },
645
719
  "fec-state-management": {
646
720
  "should_trigger": [
647
- "审计这个 dashboard 的状态归属",
648
- "哪些状态应该放 URL,哪些放 store",
649
- "React 全局状态 Zustand 和 Context 怎么选",
650
- "Pinia store 和本地 ref 应该怎么分工",
651
- "把重复的派生 state 清理掉",
652
- "服务端状态和客户端 store 边界怎么划分",
653
- "设计筛选条件、分页和排序的状态归属",
721
+ "Audit the status of this dashboard",
722
+ "Which states should be put in URL and which in store",
723
+ "How to choose between Zustand and Context in React global state",
724
+ "How should Pinia store and local ref divide the work?",
725
+ "Clean up duplicate derived state",
726
+ "How to divide server state and client store boundaries",
727
+ "Design status attributes for filters, paging, and sorting",
654
728
  "frontend state ownership and store selection"
655
729
  ],
656
730
  "should_not_trigger": [
657
- "TanStack Query queryKey 细节怎么设计",
658
- "localStorage 安全持久化怎么封装",
659
- "React Hook Form 字段校验怎么写",
660
- "只检查 XSS 和 token 泄露",
661
- "设计 React 项目目录结构",
662
- "写 Playwright 登录 E2E",
663
- "配置 PWA Service Worker",
664
- "优化虚拟列表滚动性能"
731
+ "How to design the details of TanStack Query queryKey",
732
+ "How to encapsulate localStorage secure persistence",
733
+ "How to write field verification in React Hook Form",
734
+ "Only checks for XSS and token leaks",
735
+ "Design the React project directory structure",
736
+ "Write Playwright Login E2E",
737
+ "Configure PWA Service Worker",
738
+ "Optimize virtual list scrolling performance"
665
739
  ]
666
740
  },
667
741
  "fec-storybook-component-doc": {
668
742
  "should_trigger": [
669
- "给组件写 Storybook stories",
670
- "配置 Storybook addon-a11y",
671
- "为设计系统写 MDX 文档",
672
- "Storybook decorators 怎么处理 Provider",
673
- "组件状态枚举文档",
674
- "Chromatic 视觉回归接入",
743
+ "Write Storybook stories for components",
744
+ "Configure Storybook addon-a11y",
745
+ "Write MDX documents for design systems",
746
+ "How to deal with Storybook decorators Provider",
747
+ "Component state enum documentation",
748
+ "Chromatic visual regression access",
675
749
  "Storybook interaction test",
676
750
  "document components in Storybook"
677
751
  ],
678
752
  "should_not_trigger": [
679
- "RTL 组件单元测试",
680
- "Playwright 跨页 E2E",
681
- "React 项目结构设计",
682
- "按 Figma 直接实现页面",
683
- "安全审查",
684
- "PWA 配置",
753
+ "RTL component unit testing",
754
+ "Playwright spread E2E",
755
+ "React project structure design",
756
+ "Press Figma to directly implement the page",
757
+ "security clearance",
758
+ "PWA configuration",
685
759
  "Web Worker",
686
- "jQuery 迁移"
760
+ "jQuery migration"
687
761
  ]
688
762
  },
689
- "fec-tailwind-design-system": {
763
+ "fec-svg-animation": {
690
764
  "should_trigger": [
691
- "设计 Tailwind token 和 theme.extend",
692
- "这个组件库的 class 太散,想整理成 variants",
693
- "Tailwind 暗色模式怎么和 CSS 变量对齐",
694
- "检查动态 class 是否会被 purge 掉",
695
- "用 CVA 设计 Button 的 size 和 tone",
696
- "Tailwind safelist 应该怎么治理",
697
- "build a Tailwind design system for this app",
698
- "把硬编码颜色迁移到 Tailwind 语义 token"
765
+ "SVG path stroke animation",
766
+ "How to make logo SVG animation effect",
767
+ "Framer Motion Driver SVG",
768
+ "GSAP control icon motion",
769
+ "Microinteraction SVG animation",
770
+ "prefers-reduced-motion",
771
+ "SMIL and CSS animation options",
772
+ "animate an SVG illustration"
699
773
  ],
700
774
  "should_not_trigger": [
701
- "纯 CSS Grid 响应式布局溢出",
702
- "按 Figma 像素还原页面",
703
- "写组件 RTL 单测",
704
- "审查接口 401 错误映射",
705
- "修复 TypeScript 类型错误",
706
- "配置路由权限守卫",
707
- "升级 npm 依赖",
708
- "做通用前端 PR review"
775
+ "Three.js 3D scene",
776
+ "Canvas particle system",
777
+ "Normal CSS hover",
778
+ "PWA icon configuration",
779
+ "React project structure",
780
+ "Writing E2E tests",
781
+ "Check for XSS",
782
+ "Virtual list performance"
709
783
  ]
710
784
  },
711
- "fec-svg-animation": {
785
+ "fec-tailwind-design-system": {
712
786
  "should_trigger": [
713
- "SVG 路径描边动画",
714
- "logo SVG 动效怎么做",
715
- "Framer Motion 驱动 SVG",
716
- "GSAP 控制 icon motion",
717
- "微交互 SVG 动画",
718
- "prefers-reduced-motion 兜底",
719
- "SMIL 和 CSS animation 选择",
720
- "animate an SVG illustration"
787
+ "Design Tailwind token and theme.extend",
788
+ "The classes of this component library are too scattered and I want to organize them into variants.",
789
+ "How to align Tailwind dark mode with CSS variables",
790
+ "Check whether the dynamic class will be purged away",
791
+ "Use CVA to design the size and tone of Button",
792
+ "How to manage Tailwind safelist",
793
+ "build a Tailwind design system for this app",
794
+ "Migrate hardcoded colors to Tailwind semantic tokens"
721
795
  ],
722
796
  "should_not_trigger": [
723
- "Three.js 3D 场景",
724
- "Canvas 粒子系统",
725
- "普通 CSS hover",
726
- "PWA 图标配置",
727
- "React 项目结构",
728
- "写 E2E 测试",
729
- "检查 XSS",
730
- "虚拟列表性能"
797
+ "Pure CSS Grid responsive layout overflow",
798
+ "Restore page by Figma pixels",
799
+ "Write component RTL unit test",
800
+ "Review interface 401 error mapping",
801
+ "Fix TypeScript type errors",
802
+ "Configure routing permission guards",
803
+ "Upgrade npm dependencies",
804
+ "Do general front-end PR review"
731
805
  ]
732
806
  },
733
807
  "fec-tdd-workflow": {
734
808
  "should_trigger": [
735
- "用 TDD 实现这个 hook",
736
- "先写失败测试再修这个 bug",
737
- "为新组件走红绿重构流程",
738
- "补一个回归测试再改逻辑",
809
+ "Implement this hook using TDD",
810
+ "Write the failing test first and then fix the bug",
811
+ "Go through the refactoring process for new components",
812
+ "Add a regression test and change the logic",
739
813
  "test driven development for this frontend feature",
740
- "这个工具函数先写单测再实现",
741
- "修复表单校验 bug 前先复现测试",
742
- "用测试驱动方式重构状态逻辑"
814
+ "This tool function first writes a single test and then implements it",
815
+ "Reproduce the test before fixing the form validation bug",
816
+ "Reconstruct state logic using a test-driven approach"
743
817
  ],
744
818
  "should_not_trigger": [
745
- "只运行现有测试并修复失败",
746
- "制定测试分层策略",
747
- "写完整 Playwright E2E 流程",
748
- "同步文档能力表",
749
- "清理未使用依赖",
750
- "做 XSS 安全审查",
751
- "设计 Vue 项目结构",
752
- "配置 PWA 离线缓存"
819
+ "Only run existing tests and fix failures",
820
+ "Develop a test tiering strategy",
821
+ "Write the complete Playwright E2E process",
822
+ "Synchronization document capability table",
823
+ "Clean up unused dependencies",
824
+ "Do an XSS security review",
825
+ "Design Vue project structure",
826
+ "Configure PWA offline caching"
753
827
  ]
754
828
  },
755
829
  "fec-testing-strategy": {
756
830
  "should_trigger": [
757
- "为这个前端功能制定测试策略",
758
- "这次 PR 应该补哪些层级的测试",
759
- "按风险给登录重构做测试覆盖矩阵",
760
- "单元测试、组件测试、E2E 怎么分工",
761
- "规划静态检查、组件测试和 E2E 的质量门禁",
762
- "评估这个里程碑的测试债治理优先级",
763
- "测试分层怎么设计",
831
+ "Develop a testing strategy for this front-end feature",
832
+ "What levels of testing should be included in this PR?",
833
+ "Make a test coverage matrix for login refactoring according to risk",
834
+ "How to divide the work between unit testing, component testing and E2E",
835
+ "Plan for static inspection, component testing, and quality gatekeeping for E2E",
836
+ "Evaluate test debt governance priorities for this milestone",
837
+ "How to design test layering",
764
838
  "create a frontend testing strategy for this feature"
765
839
  ],
766
840
  "should_not_trigger": [
767
- "给 Button 写 RTL 单测",
768
- "写 Playwright 登录 E2E",
769
- "运行 npm test 并修复失败",
770
- "配置 Storybook stories",
771
- "只检查 XSS 和 CSP",
772
- "只做 WCAG 键盘焦点审查",
773
- "实现 React 项目目录结构",
774
- "优化虚拟列表滚动性能"
841
+ "Write RTL single test for Button",
842
+ "Write Playwright Login E2E",
843
+ "Run npm test and fix the failure",
844
+ "Configure Storybook stories",
845
+ "Only checks for XSS and CSP",
846
+ "Only WCAG Keyboard Focus review",
847
+ "Implement React project directory structure",
848
+ "Optimize virtual list scrolling performance"
775
849
  ]
776
850
  },
777
- "fec-typescript-type-safety": {
851
+ "fec-typescript-project-standard": {
778
852
  "should_trigger": [
779
- "审查这些 DTO 和 view model 类型边界",
780
- "这个泛型组件类型怎么设计更安全",
781
- "用 type guard 收窄 unknown 输入",
782
- "检查不安全的 as 和非空断言",
783
- "设计判别联合表达异步状态",
784
- "给公共 utility type 加类型测试",
785
- "TypeScript 类型建模和泛型约束 review",
786
- "API 响应类型和运行时校验怎么对齐"
853
+ "How to configure TypeScript project tsconfig strict",
854
+ "Review these DTO and view model type boundaries",
855
+ "How to design this generic component type to be safer",
856
+ "Narrow unknown input with type guard",
857
+ "Design discriminative joint expression of asynchronous state",
858
+ "TypeScript type modeling and generic constraints review",
859
+ "How to publish package exports and d.ts of TS SDK",
860
+ "How to configure project references of monorepo package",
861
+ "How to check the consistency of public API types and declaration files",
862
+ "How to set moduleResolution and type declaration in Node CLI"
787
863
  ],
788
864
  "should_not_trigger": [
789
- "做整个前端 PR 综合评审",
790
- "只修复 tsc 编译失败",
791
- "写 React 组件 UI",
792
- "检查按钮键盘焦点",
793
- "配置 Vite env 变量",
794
- "写 Playwright E2E",
795
- "选择全局 store 方案",
796
- "审查 CSP 和 XSS"
865
+ "How to hierarchize React project component directories",
866
+ "How to organize Vue composable and Pinia store",
867
+ "How to configure Vite dev server proxy",
868
+ "How to design TanStack Query queryKey",
869
+ "How to display form validation errors",
870
+ "Check popup keyboard focus and aria",
871
+ "Writing the Playwright Login Flow",
872
+ "Optimize virtual list scrolling performance"
797
873
  ]
798
874
  },
799
875
  "fec-ui-design": {
800
876
  "should_trigger": [
801
- "这个后台页面应该走什么 UI 设计方向",
802
- "帮我把这个工具界面做得更产品化",
803
- "让这个页面不要那么模板化和泛泛",
804
- "把这个页面做得更有辨识度和高级感",
805
- "这个界面看起来有点粗糙,帮我打磨间距和状态",
806
- "检查按钮 hover active focus disabled 是否完整",
807
- "这个页面局部有模板感,帮我打磨得更精致",
808
- "做一次 UI polish pass",
809
- "为这个美业预约产品生成设计系统建议",
810
- "根据行业和产品类型给 dashboard 做 UI 方向",
811
- "写一个 design-system Master 和 dashboard page override",
812
- "检查这个图表页面的 chart UX 和视觉 QA",
877
+ "What UI design direction should this backend page take?",
878
+ "Help me make this tool interface more product-like",
879
+ "Make this page less templated and generic",
880
+ "Make this page more recognizable and high-end",
881
+ "This interface looks a bit rough. Please help me polish the spacing and status.",
882
+ "Check if the button hover active focus disabled is complete",
883
+ "Part of this page has a template feel, which helps me polish it more beautifully.",
884
+ "Do a UI polish pass",
885
+ "Generate design system suggestions for this beauty industry appointment product",
886
+ "Make UI direction for dashboard according to industry and product type",
887
+ "Write a design-system Master and dashboard page override",
888
+ "Check out this chart page for chart UX and visual QA",
813
889
  "product-specific distinctive UI design and visual QA"
814
890
  ],
815
891
  "should_not_trigger": [
816
- "按 Figma 像素还原组件",
817
- "检查键盘焦点和 aria",
818
- "审查 XSS 和 CSP",
819
- "写 Playwright E2E",
820
- "写 React Hook Form 表单",
821
- "设计浏览器存储策略",
822
- "配置 Vite 环境变量",
823
- "给 React 项目做目录规划",
824
- "实现 Web Worker"
892
+ "Restore components by Figma pixels",
893
+ "Check keyboard focus and aria",
894
+ "Review XSS and CSP",
895
+ "Write Playwright E2E",
896
+ "Write React Hook Form form",
897
+ "Design browser storage strategy",
898
+ "Configure Vite environment variables",
899
+ "Make directory planning for React projects",
900
+ "Implement Web Worker"
825
901
  ]
826
902
  },
827
903
  "fec-validation-fix": {
828
904
  "should_trigger": [
829
- "运行项目测试并修复失败",
830
- "npm run build 报错帮我修",
831
- "typecheck 失败怎么处理",
905
+ "Run project tests and fix failures",
906
+ "npm run build reports an error, help me fix it",
907
+ "How to deal with typecheck failure",
832
908
  "lint failure after changes",
833
- "跑验证命令并分析失败日志",
834
- "修复单元测试失败",
909
+ "Run the verification command and analyze the failure log",
910
+ "Fix unit test failure",
835
911
  "CI build failed locally",
836
912
  "test and fix this frontend repo"
837
913
  ],
838
914
  "should_not_trigger": [
839
- "给 Button 写组件单元测试",
840
- "为登录流程编写 Playwright E2E",
841
- "写新的 Playwright 测试计划",
842
- "做代码 review 报告",
843
- "设计 React 架构",
915
+ "Write component unit test for Button",
916
+ "Writing Playwright E2E for login flow",
917
+ "Writing a new Playwright test plan",
918
+ "Make code review report",
919
+ "Design React architecture",
844
920
  "PWA manifest",
845
- "Web Worker 实现",
846
- "迁移 jQuery"
921
+ "Web Worker implementation",
922
+ "Migrate jQuery"
847
923
  ]
848
924
  },
849
925
  "fec-vite-project-standard": {
850
926
  "should_trigger": [
851
- "配置 vite.config.ts 的 proxy 和 alias",
852
- "Vite 项目 build 通过但 typecheck 没跑怎么办",
853
- "VITE_ 环境变量会不会泄露密钥",
854
- "优化 Vite dev server 启动速度",
855
- "Vite library mode 怎么 external peer deps",
856
- "vite-plugin-checker 该怎么接入",
857
- "配置 optimizeDeps 解决 CJS 依赖问题",
927
+ "Configure proxy and alias of vite.config.ts",
928
+ "What should I do if the Vite project build passes but typecheck does not run?",
929
+ "Will the VITE_ environment variable reveal the key?",
930
+ "Optimize Vite dev server startup speed",
931
+ "Vite library mode how to external peer deps",
932
+ "How to access vite-plugin-checker",
933
+ "Configure optimizeDeps to solve CJS dependency issues",
858
934
  "review a Vite production build config"
859
935
  ],
860
936
  "should_not_trigger": [
861
- "React 组件边界怎么拆",
862
- "Vue Router 页面组织",
937
+ "How to remove the boundaries of React components",
938
+ "Vue Router page organization",
863
939
  "Next.js App Router metadata",
864
940
  "Nuxt useFetch SSR",
865
- "写 Playwright E2E",
866
- "PWA Service Worker 离线缓存",
867
- "按钮视觉 polish",
868
- "审查 XSS DOM 注入"
941
+ "Write Playwright E2E",
942
+ "PWA Service Worker offline cache",
943
+ "button visual polish",
944
+ "Review XSS DOM injection"
869
945
  ]
870
946
  },
871
947
  "fec-vue3-project-standard": {
872
948
  "should_trigger": [
873
- "设计 Vue 3 TypeScript 项目结构",
874
- "Vue SFC 组件边界怎么拆",
875
- "Composables 和 Pinia 怎么分工",
876
- "Vue Router 页面组织",
877
- "Provide Inject 适合这个场景吗",
878
- "Vue 3 API 层和错误处理约定",
879
- "Vue 组件架构 review",
949
+ "Designing Vue 3 TypeScript project structure",
950
+ "How to remove the boundaries of Vue SFC components",
951
+ "How do Composables and Pinia divide their labor?",
952
+ "Vue Router page organization",
953
+ "Is Provide Inject suitable for this scenario?",
954
+ "Vue 3 API layer and error handling conventions",
955
+ "Vue component architecture review",
880
956
  "Composition API project conventions"
881
957
  ],
882
958
  "should_not_trigger": [
883
- "Nuxt useFetch 和 SSR",
884
- "React 组件架构",
885
- "写 Vue Test Utils 单测",
886
- "只做 WCAG 审查",
887
- "TanStack Query 乐观更新",
959
+ "Nuxt useFetch and SSR",
960
+ "React component architecture",
961
+ "Write Vue Test Utils single test",
962
+ "WCAG review only",
963
+ "TanStack Query Optimistic Update",
888
964
  "PWA Service Worker",
889
- "jQuery 迁移",
890
- "XSS 安全审查"
965
+ "jQuery migration",
966
+ "XSS security review"
967
+ ]
968
+ },
969
+ "fec-web-video-presentation": {
970
+ "should_trigger": [
971
+ "Turn this article into a 16:9 web video presentation that can be recorded",
972
+ "I have a spoken script, help me plan it into a dynamic web presentation that can be clicked.",
973
+ "Make a step-driven browser recording deck for this product demo",
974
+ "Convert course syllabus into a React demo page that plays like a video",
975
+ "Generate web video scaffolding, support theme tokens and screen recording",
976
+ "Split technical sharing into scripts, outlines and recordable chapters",
977
+ "Make a 16:9 presentation that advances one spoken beat each time you press space",
978
+ "create a recordable web video presentation from this talk script"
979
+ ],
980
+ "should_not_trigger": [
981
+ "Ordinary landing page visual polishing",
982
+ "Implement a button component from a Figma node",
983
+ "Generate a system architecture diagram PNG",
984
+ "Fix Vite build errors",
985
+ "Write component tests for React forms",
986
+ "Check the WCAG contrast of the dashboard",
987
+ "Migrate jQuery pages to Vue",
988
+ "Plan the API authentication refresh process"
891
989
  ]
892
990
  },
893
991
  "fec-web-workers": {
894
992
  "should_trigger": [
895
- "大 JSON 解析阻塞主线程",
896
- "用 Web Worker 处理图片滤镜",
897
- "Comlink 怎么封装 worker API",
898
- "Transferable Objects 零拷贝",
899
- "Worker pool 处理大量任务",
900
- "SharedWorker 跨 Tab 通信",
901
- "Vite worker import 怎么写",
993
+ "Large JSON parsing blocks main thread",
994
+ "Use Web Worker to process image filters",
995
+ "How Comlink encapsulates worker API",
996
+ "Transferable Objects Zero Copy",
997
+ "Worker pool handles a large number of tasks",
998
+ "SharedWorker cross-Tab communication",
999
+ "How to write Vite worker import",
902
1000
  "move heavy browser computation off main thread"
903
1001
  ],
904
1002
  "should_not_trigger": [
905
- "虚拟列表减少 DOM 节点",
906
- "Canvas 渲染循环",
907
- "Service Worker 离线缓存",
908
- "localStorage 存储",
909
- "React 项目结构",
910
- "普通 5ms 计算",
911
- "操作 DOM 更新 UI",
912
- "写组件测试"
1003
+ "Virtual list reduces DOM nodes",
1004
+ "Canvas render loop",
1005
+ "Service Worker offline cache",
1006
+ "localStorage storage",
1007
+ "React project structure",
1008
+ "Normal 5ms calculation",
1009
+ "Manipulate DOM and update UI",
1010
+ "Write component tests"
913
1011
  ]
914
1012
  }
915
1013
  }