@bovinphang/frontend-craft 2.5.0 → 2.7.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 (156) hide show
  1. package/.claude-plugin/marketplace.json +7 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +77 -1
  4. package/CHANGELOG.zh-CN.md +77 -1
  5. package/CONTRIBUTING.md +15 -10
  6. package/CONTRIBUTING.zh-CN.md +15 -10
  7. package/README.md +69 -43
  8. package/README.openclaw.md +11 -9
  9. package/README.openclaw.zh-CN.md +11 -9
  10. package/README.zh-CN.md +69 -43
  11. package/agents/fec-typescript-reviewer.md +1 -1
  12. package/commands/fec-doc-sync.md +7 -6
  13. package/dist/bin/frontend-craft.js +30 -27
  14. package/docs/example-prompts.md +82 -69
  15. package/docs/ja-JP/README.md +110 -84
  16. package/docs/ko-KR/README.md +100 -74
  17. package/docs/project-structure.md +8 -4
  18. package/docs/runtimes/antigravity.md +1 -1
  19. package/docs/runtimes/augment.md +1 -1
  20. package/docs/runtimes/claude.md +16 -10
  21. package/docs/runtimes/claude.zh-CN.md +16 -10
  22. package/docs/runtimes/cline.md +1 -1
  23. package/docs/runtimes/codebuddy.md +1 -1
  24. package/docs/runtimes/codex.md +1 -1
  25. package/docs/runtimes/copilot.md +1 -1
  26. package/docs/runtimes/cursor.md +1 -1
  27. package/docs/runtimes/gemini.md +1 -1
  28. package/docs/runtimes/kilo.md +1 -1
  29. package/docs/runtimes/openclaw.md +1 -1
  30. package/docs/runtimes/opencode.md +1 -1
  31. package/docs/runtimes/qoder.md +1 -1
  32. package/docs/runtimes/trae.md +1 -1
  33. package/docs/runtimes/windsurf.md +1 -1
  34. package/docs/zh-CN/example-prompts.md +82 -69
  35. package/docs/zh-CN/project-structure.md +8 -4
  36. package/docs/zh-TW/README.md +88 -62
  37. package/openclaw.plugin.json +1 -1
  38. package/package.json +3 -3
  39. package/skills/eval_queries.json +179 -56
  40. package/skills/fec-accessibility-check/SKILL.md +1 -1
  41. package/skills/fec-alchemy/SKILL.md +74 -0
  42. package/skills/fec-alchemy/assets/absorption-plan-template.md +47 -0
  43. package/skills/fec-alchemy/assets/intake-template.md +55 -0
  44. package/skills/fec-alchemy/assets/review-checklist.md +31 -0
  45. package/skills/fec-alchemy/references/methodology.md +94 -0
  46. package/skills/fec-alchemy/references/originality-and-licensing.md +57 -0
  47. package/skills/fec-backend-requirements-handoff/SKILL.md +45 -0
  48. package/skills/fec-browser-storage/SKILL.md +1 -1
  49. package/skills/fec-canvas-threejs/SKILL.md +1 -1
  50. package/skills/fec-code-review/SKILL.md +11 -3
  51. package/skills/fec-data-fetching/SKILL.md +15 -15
  52. package/skills/fec-data-fetching/references/query-patterns.md +27 -1
  53. package/skills/fec-debug-framework/SKILL.md +14 -19
  54. package/skills/fec-debug-framework/references/report-template.md +58 -0
  55. package/skills/fec-doc-sync/SKILL.md +19 -17
  56. package/skills/fec-drawio-studio/SKILL.md +69 -0
  57. package/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +10 -0
  58. package/skills/fec-drawio-studio/data/brand-icons.json +878 -0
  59. package/skills/fec-drawio-studio/data/shape-index.json.gz +0 -0
  60. package/skills/fec-drawio-studio/references/data-residency.md +27 -0
  61. package/skills/fec-drawio-studio/references/diagram-patterns.md +41 -0
  62. package/skills/fec-drawio-studio/references/layout-and-export.md +57 -0
  63. package/skills/fec-drawio-studio/references/troubleshooting.md +29 -0
  64. package/skills/fec-drawio-studio/references/xml-and-mermaid.md +54 -0
  65. package/skills/fec-drawio-studio/scripts/brand-symbols.mjs +99 -0
  66. package/skills/fec-drawio-studio/scripts/diagram-lint.mjs +143 -0
  67. package/skills/fec-drawio-studio/scripts/diagram-url.mjs +102 -0
  68. package/skills/fec-drawio-studio/scripts/layout-graph.mjs +107 -0
  69. package/skills/fec-drawio-studio/scripts/png-embed-fix.mjs +26 -0
  70. package/skills/fec-drawio-studio/scripts/scan-go-packages.mjs +36 -0
  71. package/skills/fec-drawio-studio/scripts/scan-js-modules.mjs +52 -0
  72. package/skills/fec-drawio-studio/scripts/scan-python-classes.mjs +30 -0
  73. package/skills/fec-drawio-studio/scripts/scan-python-modules.mjs +55 -0
  74. package/skills/fec-drawio-studio/scripts/scan-rust-modules.mjs +35 -0
  75. package/skills/fec-drawio-studio/scripts/scan-ts-modules.mjs +7 -0
  76. package/skills/fec-drawio-studio/scripts/shape-query.mjs +81 -0
  77. package/skills/fec-drawio-studio/scripts/studio-core.mjs +139 -0
  78. package/skills/fec-drawio-studio/styles/built-in/corporate.json +49 -0
  79. package/skills/fec-drawio-studio/styles/built-in/default.json +49 -0
  80. package/skills/fec-drawio-studio/styles/built-in/handdrawn.json +49 -0
  81. package/skills/fec-drawio-studio/styles/schema.json +112 -0
  82. package/skills/fec-e2e-testing/SKILL.md +5 -3
  83. package/skills/fec-e2e-testing/references/e2e-ci-reporting.md +62 -0
  84. package/skills/fec-e2e-testing/references/e2e-special-scenarios.md +52 -0
  85. package/skills/fec-e2e-testing/references/e2e-visual-regression.md +60 -0
  86. package/skills/fec-form-handling/SKILL.md +11 -11
  87. package/skills/fec-form-handling/references/advanced-form-patterns.md +34 -5
  88. package/skills/fec-image-generation/SKILL.md +56 -0
  89. package/skills/fec-image-generation/references/artifact-routing.md +80 -0
  90. package/skills/fec-image-generation/references/diagram-workflows.md +43 -0
  91. package/skills/fec-image-generation/references/png-qa-autofix.md +30 -0
  92. package/skills/fec-image-generation/scripts/png-qa.mjs +431 -0
  93. package/skills/fec-implement-from-design/SKILL.md +9 -2
  94. package/skills/fec-legacy-to-modern-migration/SKILL.md +29 -163
  95. package/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +110 -0
  96. package/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +48 -0
  97. package/skills/fec-legacy-web-standard/SKILL.md +1 -1
  98. package/skills/fec-list-virtualization/SKILL.md +3 -3
  99. package/skills/fec-list-virtualization/references/virtualization-patterns.md +32 -4
  100. package/skills/fec-motion-interaction/SKILL.md +7 -0
  101. package/skills/fec-nextjs-project-standard/SKILL.md +7 -1
  102. package/skills/fec-performance-optimization/SKILL.md +9 -1
  103. package/skills/fec-performance-optimization/references/framework-performance-patterns.md +38 -0
  104. package/skills/fec-performance-optimization/references/report-template.md +59 -0
  105. package/skills/fec-pwa-implementation/SKILL.md +3 -4
  106. package/skills/fec-react-project-standard/SKILL.md +12 -4
  107. package/skills/fec-react-project-standard/references/react-performance-patterns.md +35 -0
  108. package/skills/fec-react-project-standard/references/react-project-structure.md +197 -0
  109. package/skills/fec-react-project-standard/references/react-quality-patterns.md +131 -0
  110. package/skills/fec-react-project-standard/references/react-runtime-patterns.md +293 -0
  111. package/skills/fec-refactor-clean/SKILL.md +4 -1
  112. package/skills/fec-refactor-clean/references/report-template.md +42 -0
  113. package/skills/fec-responsive-layout/references/responsive-layout-patterns.md +11 -0
  114. package/skills/fec-security-review/SKILL.md +3 -3
  115. package/skills/fec-source-driven-development/SKILL.md +26 -0
  116. package/skills/fec-state-management/SKILL.md +1 -1
  117. package/skills/fec-storybook-component-doc/SKILL.md +2 -2
  118. package/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +5 -1
  119. package/skills/fec-typescript-project-standard/SKILL.md +54 -0
  120. package/skills/{fec-typescript-type-safety → fec-typescript-project-standard}/references/type-safety-patterns.md +1 -1
  121. package/skills/{fec-typescript-type-safety/SKILL.md → fec-typescript-project-standard/references/type-safety.md} +1 -10
  122. package/skills/fec-ui-design/SKILL.md +26 -8
  123. package/skills/fec-ui-design/data/style-archetypes.json +40 -0
  124. package/skills/fec-ui-design/data/ux-quality-rules.json +35 -0
  125. package/skills/fec-ui-design/references/design-intelligence.md +66 -6
  126. package/skills/fec-ui-design/references/pre-delivery-checklist.md +6 -0
  127. package/skills/fec-ui-design/scripts/design-system.mjs +119 -1
  128. package/skills/fec-validation-fix/SKILL.md +5 -2
  129. package/skills/fec-validation-fix/references/report-template.md +43 -0
  130. package/skills/fec-vue3-project-standard/SKILL.md +12 -3
  131. package/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +163 -0
  132. package/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +13 -0
  133. package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +177 -0
  134. package/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +216 -0
  135. package/skills/fec-web-video-presentation/SKILL.md +61 -0
  136. package/skills/fec-web-video-presentation/data/starter-themes.json +59 -0
  137. package/skills/fec-web-video-presentation/references/chapter-craft.md +37 -0
  138. package/skills/fec-web-video-presentation/references/content-plan.md +38 -0
  139. package/skills/fec-web-video-presentation/references/recording-and-audio.md +33 -0
  140. package/skills/fec-web-video-presentation/references/theme-system.md +36 -0
  141. package/skills/fec-web-video-presentation/scripts/create-video-presentation.mjs +430 -0
  142. package/skills/fec-web-workers/SKILL.md +3 -4
  143. package/skills/metadata.json +381 -168
  144. package/skills/relations.json +136 -25
  145. package/templates/shared/rules/fec-ci-cd.md +20 -108
  146. package/templates/shared/rules/fec-design-system.md +47 -223
  147. package/templates/shared/rules/fec-error-handling.md +35 -179
  148. package/templates/shared/rules/fec-i18n.md +43 -91
  149. package/templates/shared/rules/fec-refactoring.md +4 -0
  150. package/templates/shared/rules/fec-rendering-patterns.md +28 -171
  151. package/templates/shared/rules/fec-responsive-design.md +34 -211
  152. package/templates/shared/rules/fec-state-management.md +41 -144
  153. package/templates/shared/rules/fec-typescript.md +47 -290
  154. package/skills/fec-e2e-testing/references/e2e-advanced.md +0 -176
  155. package/skills/fec-react-project-standard/references/react-project-details.md +0 -642
  156. package/skills/fec-vue3-project-standard/references/vue3-project-details.md +0 -547
@@ -8,7 +8,7 @@
8
8
 
9
9
  [![Stars](https://img.shields.io/github/stars/bovinphang/frontend-craft?style=flat)](https://github.com/bovinphang/frontend-craft/stargazers)
10
10
  [![CI](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml/badge.svg)](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml)
11
- [![npm version](https://img.shields.io/npm/v/frontend-craft)](https://www.npmjs.com/package/frontend-craft)
11
+ [![npm version](https://img.shields.io/npm/v/@bovinphang/frontend-craft)](https://www.npmjs.com/package/@bovinphang/frontend-craft)
12
12
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](../../LICENSE)
13
13
  ![Node](https://img.shields.io/badge/Node.js-22+-5FA04E?logo=node.js&logoColor=white)
14
14
  ![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white)
@@ -32,7 +32,7 @@
32
32
 
33
33
  各執行時的路徑與注意事項詳見 [`docs/runtimes/`](../runtimes/)。
34
34
 
35
- 它將 **13 個專業 agent**、**40 個自動啟用 skill**、**8 個斜線指令**、**5 個事件驅動 hook**、面向 6 個設計工具端點的 **MCP 整合**以及一整套**規則庫**打包為一個可安裝單元。執行一條指令,團隊裡的每一次 AI 會話都將以相同的方式編寫 React、Vue、Next.js 或 Nuxt——型別安全、可存取、安全、一致。
35
+ 它將 **13 個專業 agent**、**45 個自動啟用 skill**、**8 個斜線指令**、**5 個事件驅動 hook**、面向 6 個設計工具端點的 **MCP 整合**以及一整套**規則庫**打包為一個可安裝單元。執行一條指令,團隊裡的每一次 AI 會話都將以相同的方式編寫 React、Vue、Next.js 或 Nuxt——型別安全、可存取、安全、一致。
36
36
 
37
37
  ---
38
38
 
@@ -40,7 +40,7 @@
40
40
 
41
41
  | 痛點 | frontend-craft 的解法 |
42
42
  | ----------------------------------------------- | --------------------------------------------------------------------------------------- |
43
- | AI 助手寫出的前端程式碼風格不一、缺型別、不安全 | **40 個 skill** 將團隊規範編碼為可自動啟用的工作流 |
43
+ | AI 助手寫出的前端程式碼風格不一、缺型別、不安全 | **45 個 skill** 將團隊規範編碼為可自動啟用的工作流 |
44
44
  | 每款 AI 工具都有自己的插件格式 | **一條 CLI 指令** 把相同的規則、agent 和 hook 安裝到 15 個執行時 |
45
45
  | 設計稿到程式碼的交接總有資訊損失 | **MCP 整合** 從 Figma、Figma Desktop、Sketch、MasterGo、Pixso、墨刀引入更完整設計上下文 |
46
46
  | 程式碼審查隨意、淺層 | **13 個 agent** 輸出分級報告:程式碼、安全、無障礙、效能、TS、UI 還原度 |
@@ -53,45 +53,59 @@
53
53
 
54
54
  需要 **Node.js 22+**。完整支援 **Windows、macOS 和 Linux**(所有鉤子和腳本均使用 Node.js 實作)。
55
55
 
56
- ### 方式一:全域 CLI 初始化專案(推薦)
56
+ ### 方式一:全域安裝 fec CLI(推薦)
57
57
 
58
58
  ```bash
59
- npm install -g frontend-craft@latest
59
+ # 1. 全域安裝 fec 指令
60
+ npm install -g @bovinphang/frontend-craft@latest
61
+
62
+ # 2. 進入你的前端專案
60
63
  cd your-project
61
- fec init
62
- fec init codex # 初始化指定執行時
63
- fec init claude # 初始化 Claude Code
64
- ```
65
64
 
66
- `fec init` 是終端機中的 CLI 初始化指令,用來初始化目前專案。在互動式終端機中,不傳 runtime 時會顯示選擇提示;在非互動環境中,不傳 runtime 時 CLI 預設使用 `claude`。`init` 預設安裝到目前專案,除非明確傳入 `--global`,例如 `fec init codex --global`。AI 助手內的 `/fec-init` 斜線指令是另一個入口,需要先把 frontend-craft 安裝到對應執行時後再使用。
65
+ # 3. 互動選擇要接入的 AI 執行時
66
+ fec setup
67
67
 
68
- ### 方式二:免全域安裝的互動精靈
68
+ # 4. 接入目前專案
69
+ fec setup codex
70
+ fec setup claude
71
+ fec setup all
69
72
 
70
- ```bash
71
- npx frontend-craft@latest
73
+ # 5. 全域接入,適用於所有專案
74
+ fec setup codex --global
75
+ fec setup claude --global
76
+ fec setup all --global
77
+
78
+ # 6. 預覽 / 查詢
79
+ fec install --all --dry-run --global
80
+ fec list
72
81
  ```
73
82
 
74
- 不想全域安裝 `fec` 指令時使用這種方式。精靈會走完整安裝流程:先選擇一個或多個執行時,再決定安裝到全域還是目前專案。
83
+ `npm install -g` 只是安裝 `fec` 終端機指令。`fec setup` 是終端機中的 CLI 專案接入指令,不是 AI 助手內的 `/fec-init` 斜線指令。在互動式終端機中,不帶參數的 `fec setup` 會先讓你選擇 runtime;`fec setup <runtime>` 和 `fec setup all` 會預設接入目前專案。只有傳入 `--global` 時,才會接入對應 AI 工具的全域設定目錄,適用於所有專案。
75
84
 
76
- ### 方式三:腳本化安裝
85
+ ### 方式二:用 npx 臨時執行(免全域安裝 fec)
77
86
 
78
87
  ```bash
79
- # 安裝到目前專案
80
- npx frontend-craft@latest install --local claude
81
-
82
- # 全域安裝到某個執行時
83
- npx frontend-craft@latest install --global codex
84
-
85
- # 預覽所有執行時的安裝內容(不實際寫入)
86
- npx frontend-craft@latest install --all --dry-run --global
87
-
88
- # 列出支援的執行時
89
- npx frontend-craft@latest list
88
+ # 1. 互動精靈
89
+ npx @bovinphang/frontend-craft@latest
90
+
91
+ # 2. 接入目前專案
92
+ npx @bovinphang/frontend-craft@latest install --local codex
93
+ npx @bovinphang/frontend-craft@latest install --local claude
94
+ npx @bovinphang/frontend-craft@latest install --all --local
95
+
96
+ # 3. 全域接入,適用於所有專案
97
+ npx @bovinphang/frontend-craft@latest install --global codex
98
+ npx @bovinphang/frontend-craft@latest install --global claude
99
+ npx @bovinphang/frontend-craft@latest install --all --global
100
+
101
+ # 4. 預覽 / 查詢
102
+ npx @bovinphang/frontend-craft@latest install --all --dry-run --global
103
+ npx @bovinphang/frontend-craft@latest list
90
104
  ```
91
105
 
92
- > **CI / 腳本場景:** 務必帶上 `--global` / `-g` 或 `--local` / `-l`。非 TTY 且未指定時,CLI 預設安裝到 `claude --global`。
106
+ 不想全域安裝 `fec` 指令時使用 `npx`。不帶參數會進入互動精靈:先選擇一個或多個執行時,再決定接入全域還是目前專案。腳本化安裝全部 runtime 時使用 `install --all --local` 或 `install --all --global`,不要寫成 `install all`。CI / 腳本場景請務必帶上 `--global` / `-g` 或 `--local` / `-l`;非 TTY 且未指定時,CLI 預設安裝到 `claude --global`。
93
107
 
94
- ### 方式四:Claude Code Marketplace
108
+ ### 方式三:Claude Code Marketplace
95
109
 
96
110
  對 Claude Code 用戶,**Claude Code Marketplace** 是推薦的單一來源安裝方式。只有在需要跨執行時安裝、腳本化/離線複製檔案,或非 Marketplace 環境時,才建議對 Claude 使用 CLI。
97
111
 
@@ -133,7 +147,7 @@ npx frontend-craft@latest list
133
147
  ```text
134
148
  你:「合併前請審查我最近的改動。重點看架構、型別安全、渲染行為、樣式、可存取性和缺失測試。」
135
149
  你:「先不要寫程式碼,請規劃帳號帳單功能:路由結構、元件邊界、資料流、狀態歸屬、驗證流程和上線風險。」
136
- 你:「請用 React Hook Form + Zod 建構多步註冊表單,包含檔案上傳、條件欄位、非同步驗證和可存取錯誤提示。」
150
+ 你:「請建構多步註冊表單:依專案框架選擇表單與 schema 驗證方案,包含檔案上傳、條件欄位、非同步驗證和可存取錯誤提示。」
137
151
  你:「請按 Figma 節點 123:456 實作 UI。複用現有 design token 和元件,匹配間距與響應式狀態,並說明假設。」
138
152
  你:「`/fec-refactor-clean` 請清理這個模組裡的死程式碼。」
139
153
  ```
@@ -155,40 +169,41 @@ npx frontend-craft@latest list
155
169
  | `/fec-tdd` | 紅 → 綠 → 重構的前端 TDD 循環 | — |
156
170
  | `/fec-debug` | 前端問題診斷與修復:建置失敗、執行時錯誤、UI 異常、介面問題 | `debug-*.md` |
157
171
  | `/fec-refactor-clean` | 分類並安全清理死程式碼、未使用匯出、樣式和依賴 | `refactor-clean-*.md` |
158
- | `/fec-doc-sync` | 同步 README、runtime 文件、能力表和公開 metadata | — |
172
+ | `/fec-doc-sync` | 同步 README、docs、環境變數、腳本、API/路由說明和部署文件 | — |
159
173
 
160
174
  ### 技能(Skills,自動啟用)
161
175
 
162
176
  技能是根據檔案模式、框架或任務上下文**自動啟用**的工作流定義,編碼了審查維度、輸出約定和報告格式。
163
177
 
164
- 下方按使用場景分組列出全部自動啟用的技能,便於快速找到專案規範、實作、測試、審查、設計、遷移和文件維護能力。
178
+ 下方按使用場景分組列出全部自動啟用的技能,便於快速找到專案規範、實作、測試、審查、設計、遷移、專案演進和文件維護能力。
165
179
 
166
180
  **專案規範** — 偵測到對應框架時自動生效:
167
181
 
168
- | 技能 | 範圍 |
169
- | ------------------------------- | ----------------------------------------------------- |
170
- | `fec-react-project-standard` | React + TypeScript(結構、元件、路由、狀態、API 層) |
171
- | `fec-vue3-project-standard` | Vue 3 + TypeScript(結構、元件、路由、Pinia、API 層) |
172
- | `fec-nextjs-project-standard` | Next.js 14+ App Router、SSR/SSG、流式渲染、元資料 |
173
- | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG、組合式 API、資料獲取、中介軟體 |
174
- | `fec-vite-project-standard` | Vite 設定、環境變數安全、HMR、開發代理、建置最佳化 |
175
- | `fec-monorepo-project-standard` | pnpm workspace、Turborepo、Nx 結構與任務編排 |
182
+ | 技能 | 範圍 |
183
+ | --------------------------------- | ----------------------------------------------------- |
184
+ | `fec-react-project-standard` | React + TypeScript(結構、元件、路由、狀態、API 層) |
185
+ | `fec-vue3-project-standard` | Vue 3 + TypeScript(結構、元件、路由、Pinia、API 層) |
186
+ | `fec-nextjs-project-standard` | Next.js 14+ App Router、SSR/SSG、流式渲染、元資料 |
187
+ | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG、組合式 API、資料獲取、中介軟體 |
188
+ | `fec-vite-project-standard` | Vite 設定、環境變數安全、HMR、開發代理、建置最佳化 |
189
+ | `fec-monorepo-project-standard` | pnpm workspace、Turborepo、Nx 結構與任務編排 |
190
+ | `fec-typescript-project-standard` | TypeScript 設定、公開型別、宣告檔、DTO 和泛型 |
176
191
 
177
192
  **實作能力** — 建構特定前端能力時啟用:
178
193
 
179
194
  | 技能 | 範圍 |
180
195
  | ------------------------- | ---------------------------------------------------------- |
181
- | `fec-data-fetching` | TanStack Query / 服務端狀態獲取、快取、樂觀更新 |
196
+ | `fec-data-fetching` | 服務端狀態獲取、快取、失效、SSR、無限載入 |
182
197
  | `fec-api-integration` | 型別化 API client、鑑權刷新、上傳、即時整合 |
183
198
  | `fec-state-management` | 狀態歸屬、store 選型、URL 狀態、伺服器/表單/本地狀態邊界 |
184
- | `fec-form-handling` | React Hook Form + Zod、動態欄位、上傳、多步流程 |
199
+ | `fec-form-handling` | 跨框架表單選型、schema 驗證、動態欄位、上傳 |
185
200
  | `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies 選型 |
186
201
  | `fec-route-protection` | React Router、Next.js、Vue Router、Nuxt 的登入態與權限路由 |
187
202
  | `fec-pwa-implementation` | manifest、Service Worker、離線快取、安裝提示 |
188
203
  | `fec-web-workers` | Web Worker、Transferable、Comlink、Worker 池 |
189
204
  | `fec-canvas-threejs` | Canvas 2D、Three.js、React Three Fiber、WebGL |
190
205
  | `fec-svg-animation` | CSS / Framer Motion / GSAP SVG 動畫與 reduced-motion |
191
- | `fec-list-virtualization` | react-window / TanStack Virtual 大清單虛擬滾動 |
206
+ | `fec-list-virtualization` | 依框架選型的大清單虛擬滾動、測量、網格和無限滾動 |
192
207
 
193
208
  **測試** — 規劃或撰寫前端測試覆蓋時啟用:
194
209
 
@@ -204,7 +219,7 @@ npx frontend-craft@latest list
204
219
  | 技能 | 範圍 |
205
220
  | ------------------------------ | ------------------------------------------------------- |
206
221
  | `fec-code-review` | 架構、型別、渲染、樣式、可存取性審查 |
207
- | `fec-typescript-type-safety` | 型別契約、DTO 對映、型別守衛、泛型和型別級檢查 |
222
+ | `fec-debug-framework` | 系統化診斷建置、執行時、UI 和 API/資料問題 |
208
223
  | `fec-security-review` | XSS、CSRF、敏感資料外洩、輸入驗證 |
209
224
  | `fec-accessibility-check` | WCAG 2.2、鍵盤、焦點、觸控和螢幕閱讀器行為 |
210
225
  | `fec-dependency-upgrade` | 依賴升級、lockfile 審查、CVE 修復和遷移驗證 |
@@ -214,28 +229,38 @@ npx frontend-craft@latest list
214
229
 
215
230
  **設計 UI** — 設計實作、設計系統或視覺打磨時啟用:
216
231
 
217
- | 技能 | 範圍 |
218
- | ----------------------------- | ------------------------------------------------------------ |
219
- | `fec-ui-design` | UI 方向、視覺識別、界面打磨、狀態、視覺 QA |
220
- | `fec-tailwind-design-system` | Tailwind token、主題擴展、元件變體、class 治理和暗色模式 |
221
- | `fec-responsive-layout` | 移動優先布局、容器查詢、資料密集型響應式界面 |
222
- | `fec-motion-interaction` | 互動動效、頁面轉場、滾動動畫、reduced-motion |
223
- | `fec-implement-from-design` | 基於 Figma/Sketch/MasterGo/Pixso/墨刀設計稿或摹客素材實現 UI |
224
- | `fec-storybook-component-doc` | Storybook 元件文件、設計系統呈現、隔離狀態預覽 |
232
+ | 技能 | 範圍 |
233
+ | ----------------------------- | ------------------------------------------------------------------------------------------------ |
234
+ | `fec-ui-design` | 產品語境 UI 方向、反模板設計撥盤、媒體策略、狀態、視覺 QA |
235
+ | `fec-image-generation` | 圖表、圖片生成/編輯、視覺資產、PNG 自檢和修復循環 |
236
+ | `fec-drawio-studio` | 可編輯 draw.io / diagrams.net 技術圖、XML/Mermaid/CSV URL 交付、形狀檢索、自動布局和程式碼結構圖 |
237
+ | `fec-web-video-presentation` | 將文章、口播稿、課程和 demo 轉成可錄屏的 16:9 步進網頁演示 |
238
+ | `fec-tailwind-design-system` | Tailwind token、主題擴展、元件變體、class 治理和暗色模式 |
239
+ | `fec-responsive-layout` | 移動優先布局、容器查詢、資料密集型響應式界面 |
240
+ | `fec-motion-interaction` | 場景化動效強度、頁面轉場、滾動動畫、reduced-motion |
241
+ | `fec-implement-from-design` | 基於設計工具、截圖或分區級視覺參考實現 UI |
242
+ | `fec-storybook-component-doc` | Storybook 元件文件、設計系統呈現、隔離狀態預覽 |
225
243
 
226
244
  **遺留遷移** — 現代化遷移時啟用:
227
245
 
228
246
  | 技能 | 範圍 |
229
247
  | -------------------------------- | ---------------------------------------------- |
230
248
  | `fec-legacy-web-standard` | JS + jQuery + HTML 傳統專案的開發與維護規範 |
231
- | `fec-legacy-to-modern-migration` | jQuery/MPA → React/Vue 3 + TS 策略與分階段流程 |
249
+ | `fec-legacy-to-modern-migration` | 遺留前端現代化、目標技術棧識別與分階段遷移流程 |
250
+
251
+ **專案演進** — 吸收參考系統並原創化落到目前專案時啟用:
252
+
253
+ | 技能 | 範圍 |
254
+ | ------------- | ------------------------------------------ |
255
+ | `fec-alchemy` | 將參考系統能力原創化吸收到目前專案原生體系 |
232
256
 
233
257
  **文件維護** — 文件維護時啟用:
234
258
 
235
- | 技能 | 範圍 |
236
- | ------------------------------- | ------------------------------------------ |
237
- | `fec-doc-sync` | 讓公開文件與腳本、技能、代理、指令保持同步 |
238
- | `fec-source-driven-development` | 以專案事實和官方來源驗證版本敏感的前端決策 |
259
+ | 技能 | 範圍 |
260
+ | ---------------------------------- | --------------------------------------------------------------------- |
261
+ | `fec-backend-requirements-handoff` | 前端向後端交接 UI 資料需求、使用者動作、狀態、業務規則與待確認問題 |
262
+ | `fec-doc-sync` | 讓前端文件與程式碼、設定、腳本、路由、API、環境變數和部署事實保持同步 |
263
+ | `fec-source-driven-development` | 以專案事實和官方來源驗證版本敏感的前端決策 |
239
264
 
240
265
  ### 代理(Agents)
241
266
 
@@ -365,11 +390,12 @@ $env:MODAO_TOKEN = "your-modao-token"
365
390
  每一次審查、分析和評估都會輸出帶時間戳記的 Markdown 報告到 `reports/`,可作為稽核記錄和 PR 交付物。
366
391
 
367
392
  <details>
368
- <summary>查看全部 15 種報告類型</summary>
393
+ <summary>查看全部 16 種報告類型</summary>
369
394
 
370
395
  | 報告類型 | 檔名模式 | 來源 |
371
396
  | -------------- | -------------------------------------------- | ------------------------------------------------------------------- |
372
397
  | 程式碼審查 | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`、`fec-code-review`、`fec-code-reviewer` |
398
+ | 除錯診斷 | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`、`fec-debug-framework`、`fec-debugger` |
373
399
  | TS/JS 專項審查 | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
374
400
  | 安全審查 | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`、`fec-security-reviewer` |
375
401
  | 無障礙檢查 | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
@@ -393,7 +419,7 @@ $env:MODAO_TOKEN = "your-modao-token"
393
419
 
394
420
  ## 更新與移除
395
421
 
396
- `fec` 是 `frontend-craft` 的短命令。如果沒有全域安裝 `fec`,可以把同樣參數接在 `npx frontend-craft@latest` 後使用,例如 `npx frontend-craft@latest update`。
422
+ `fec` 是 `frontend-craft` 的短命令。如果沒有全域安裝 `fec`,可以把同樣參數接在 `npx @bovinphang/frontend-craft@latest` 後使用,例如 `npx @bovinphang/frontend-craft@latest update`。
397
423
 
398
424
  ### 更新
399
425
 
@@ -435,10 +461,10 @@ npx skills update # 更新至最新版本
435
461
  npx skills check # 預覽可用更新
436
462
  ```
437
463
 
438
- | CLI | 安裝內容 |
439
- | -------------------- | --------------------------------------------- |
440
- | `npx frontend-craft` | 技能 + 執行時專屬代理、指令、鉤子、規則、範本 |
441
- | `npx skills` | 僅技能(適用於已有 Skills CLI 工作流) |
464
+ | CLI | 安裝內容 |
465
+ | -------------------------------- | --------------------------------------------- |
466
+ | `npx @bovinphang/frontend-craft` | 技能 + 執行時專屬代理、指令、鉤子、規則、範本 |
467
+ | `npx skills` | 僅技能(適用於已有 Skills CLI 工作流) |
442
468
 
443
469
  關閉遙測:`DISABLE_TELEMETRY=1`。詳見 [skills.sh CLI 文件](https://skills.sh/docs/cli)。
444
470
 
@@ -2,7 +2,7 @@
2
2
  "id": "frontend-craft",
3
3
  "name": "Frontend Craft",
4
4
  "description": "Frontend team skills, OpenClaw workspace templates, optional init tool, exec safety hooks, and design MCP reference.",
5
- "version": "2.5.0",
5
+ "version": "2.7.0",
6
6
  "skills": [
7
7
  "skills",
8
8
  "commands"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bovinphang/frontend-craft",
3
- "version": "2.5.0",
3
+ "version": "2.7.0",
4
4
  "description": "Universal frontend plugin for Claude Code, Codex, Cursor, OpenCode, Gemini CLI, Qoder, Windsurf, Copilot, OpenClaw, and more — skills, agents, commands, hooks, and MCP templates.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -54,9 +54,9 @@
54
54
  "clean": "node scripts/clean-dist.mjs",
55
55
  "typecheck": "npm run typecheck:ts && npm run typecheck:skill-scripts",
56
56
  "typecheck:ts": "tsc --noEmit -p tsconfig.json",
57
- "typecheck:skill-scripts": "tsc --allowJs --checkJs --noEmit --strict --module NodeNext --moduleResolution NodeNext --target ES2022 skills/fec-ui-design/scripts/design-system.mjs",
57
+ "typecheck:skill-scripts": "tsc --allowJs --checkJs --noEmit --strict --module NodeNext --moduleResolution NodeNext --target ES2022 skills/fec-ui-design/scripts/design-system.mjs skills/fec-image-generation/scripts/png-qa.mjs",
58
58
  "build": "npm run clean && npm run typecheck && tsx scripts/build-dist.ts",
59
- "test:only": "node --import tsx --test --test-concurrency=1 tests/converters/codex-agents.test.ts tests/install/cli.test.ts tests/install/end-to-end.test.ts tests/install/update.test.ts tests/install/all-runtimes-dry.test.ts tests/install/metadata-consistency.test.ts tests/install/npm-pack.test.ts tests/install/skill-package.test.ts tests/install/ui-design-intelligence.test.ts tests/install/sync-version.test.ts tests/install/claude-cache.test.ts",
59
+ "test:only": "node --import tsx --test --test-concurrency=1 tests/converters/codex-agents.test.ts tests/install/cli.test.ts tests/install/end-to-end.test.ts tests/install/update.test.ts tests/install/all-runtimes-dry.test.ts tests/install/metadata-consistency.test.ts tests/install/npm-pack.test.ts tests/install/skill-package.test.ts tests/install/ui-design-intelligence.test.ts tests/install/image-generation-skill.test.ts tests/install/drawio-studio-skill.test.ts tests/install/sync-version.test.ts tests/install/claude-cache.test.ts",
60
60
  "test": "npm run build && npm run test:only",
61
61
  "build:openclaw:bundle": "tsx scripts/openclaw/build.ts",
62
62
  "build:openclaw": "npm run build && npm run build:openclaw:bundle",
@@ -21,6 +21,31 @@
21
21
  "把 jQuery 项目迁移到 Vue"
22
22
  ]
23
23
  },
24
+ "fec-alchemy": {
25
+ "should_trigger": [
26
+ "分析这个参考仓库,把有价值的能力原创化吸收到当前项目",
27
+ "对比这个插件和我们的项目,提炼可以融合的架构思路",
28
+ "不要复制代码,帮我借鉴另一个项目的 commands 和 hooks",
29
+ "把这个开源项目的工作流改造成适合 frontend-craft 的 skill",
30
+ "研究相似产品的实现方式,并给当前仓库制定吸收计划",
31
+ "将参考项目里的优秀工程实践迁移成我们自己的方案",
32
+ "做一次项目吸收分析,区分可借鉴能力和不该引入的部分",
33
+ "originally absorb ideas from a reference repo into this project",
34
+ "参考后端项目的鉴权和可观测性设计,提炼适合当前服务的吸收方案",
35
+ "把另一个 CLI 工具的配置和错误输出体验原创化改造成我们的方案",
36
+ "对比这个库项目的公开 API 和版本策略,判断哪些能力适合吸收"
37
+ ],
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"
47
+ ]
48
+ },
24
49
  "fec-api-integration": {
25
50
  "should_trigger": [
26
51
  "设计前端 typed API client",
@@ -43,6 +68,29 @@
43
68
  "PWA Service Worker 缓存接口"
44
69
  ]
45
70
  },
71
+ "fec-backend-requirements-handoff": {
72
+ "should_trigger": [
73
+ "帮我把这个页面的数据需求整理给后端",
74
+ "写一份前端视角的后端需求交接文档",
75
+ "这个 dashboard 需要哪些后端数据,帮我列给 API 团队",
76
+ "不要设计接口,只描述 UI 需要展示什么和能做什么",
77
+ "前后端联调前先梳理用户动作、空态和错误态",
78
+ "把订单详情页的权限和业务规则问题整理成后端问题清单",
79
+ "frontend-to-backend requirements handoff for this feature",
80
+ "document backend data needs for the checkout UI",
81
+ "我需要向后端说明这个列表页的筛选、分页和状态需求"
82
+ ],
83
+ "should_not_trigger": [
84
+ "实现 typed API client 和错误映射",
85
+ "给接口封装 refresh token 队列",
86
+ "设计数据库表结构和索引",
87
+ "写后端 controller 和 service",
88
+ "修复 React 组件里的 loading 状态",
89
+ "做一次完整代码审查",
90
+ "同步 README 里的脚本说明",
91
+ "配置 Vite dev server proxy"
92
+ ]
93
+ },
46
94
  "fec-browser-storage": {
47
95
  "should_trigger": [
48
96
  "localStorage 里该怎么存用户偏好",
@@ -199,6 +247,32 @@
199
247
  "实现 API client 错误映射"
200
248
  ]
201
249
  },
250
+ "fec-drawio-studio": {
251
+ "should_trigger": [
252
+ "生成一个可编辑的 draw.io 架构图并导出 PNG",
253
+ "把这个微服务系统画成 .drawio 文件",
254
+ "用 diagrams.net 做 ER 图,要求后续能编辑",
255
+ "查一下 AWS Lambda 在 draw.io 里的官方 shape style",
256
+ "给这个 TypeScript 项目生成模块依赖图并自动布局",
257
+ "生成 UML 类图并用 draw.io CLI 导出 SVG",
258
+ "draw.io 自动布局一个超过 20 个节点的服务拓扑",
259
+ "用 Graphviz 布局后生成 diagrams.net 编辑链接",
260
+ "制作可编辑序列图并检查 .drawio 是否有断边",
261
+ "create an editable drawio architecture diagram with official cloud shapes"
262
+ ],
263
+ "should_not_trigger": [
264
+ "生成一张产品宣传海报图片",
265
+ "编辑这张照片并替换背景",
266
+ "实现 Three.js 交互式 3D 拓扑图",
267
+ "给 SVG logo 加路径描边动画",
268
+ "只写 Mermaid 到 README 中",
269
+ "按 Figma 设计稿实现页面",
270
+ "检查 dashboard 的按钮 hover 状态",
271
+ "用 Playwright 截图做视觉回归",
272
+ "优化 Canvas 粒子动画性能",
273
+ "生成漫画头像和品牌板"
274
+ ]
275
+ },
202
276
  "fec-doc-sync": {
203
277
  "should_trigger": [
204
278
  "同步 README 中的 skill 和 agent 数量",
@@ -265,6 +339,31 @@
265
339
  "Vue 组件架构设计"
266
340
  ]
267
341
  },
342
+ "fec-image-generation": {
343
+ "should_trigger": [
344
+ "帮我生成一张技术架构图并导出 PNG,还要检查标签有没有重叠",
345
+ "生成 ER 图、UML 类图和序列图的可编辑源与图片",
346
+ "给这个产品做一组海报和品牌板视觉探索",
347
+ "请生成一个 UI 样机图并自检导出的 PNG 是否裁切",
348
+ "把这张图片做编辑工作流,保留主体但替换背景",
349
+ "制作 ML 模型结构图,标清 tensor shape 并避免连线堆叠",
350
+ "生成信息图和学术图,导出后自动修复标签截断",
351
+ "为这个故事生成漫画分镜和头像资产",
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
+ "只打磨现有 dashboard 的间距和 hover 状态",
357
+ "按 Figma 像素还原页面",
358
+ "实现 Three.js 交互式 3D 场景",
359
+ "给 SVG 图标加 reduced-motion 动画",
360
+ "检查按钮 aria-label 和键盘焦点",
361
+ "修复 React Query 缓存失效",
362
+ "写 Playwright 登录 E2E",
363
+ "配置 Tailwind token 和 dark mode",
364
+ "优化虚拟列表滚动性能"
365
+ ]
366
+ },
268
367
  "fec-implement-from-design": {
269
368
  "should_trigger": [
270
369
  "按 Figma 设计稿实现这个页面",
@@ -529,28 +628,6 @@
529
628
  "迁移 jQuery 到 React"
530
629
  ]
531
630
  },
532
- "fec-route-protection": {
533
- "should_trigger": [
534
- "实现未登录跳转登录页",
535
- "RBAC 权限路由怎么设计",
536
- "React Router 私有路由守卫",
537
- "Next middleware 鉴权和 redirect",
538
- "Vue Router beforeEach 权限判断",
539
- "Nuxt route middleware 登录态",
540
- "防止 open redirect",
541
- "route guard with roles"
542
- ],
543
- "should_not_trigger": [
544
- "审查 token 是否安全存储",
545
- "设计 React 项目结构",
546
- "配置 TanStack Query",
547
- "写 E2E 登录流程",
548
- "表单校验",
549
- "PWA 离线缓存",
550
- "普通菜单键盘可访问性",
551
- "jQuery 迁移"
552
- ]
553
- },
554
631
  "fec-responsive-layout": {
555
632
  "should_trigger": [
556
633
  "这个页面 375px 下横向溢出,帮我做响应式布局",
@@ -573,6 +650,28 @@
573
650
  "升级依赖版本"
574
651
  ]
575
652
  },
653
+ "fec-route-protection": {
654
+ "should_trigger": [
655
+ "实现未登录跳转登录页",
656
+ "RBAC 权限路由怎么设计",
657
+ "React Router 私有路由守卫",
658
+ "Next middleware 鉴权和 redirect",
659
+ "Vue Router beforeEach 权限判断",
660
+ "Nuxt route middleware 登录态",
661
+ "防止 open redirect",
662
+ "route guard with roles"
663
+ ],
664
+ "should_not_trigger": [
665
+ "审查 token 是否安全存储",
666
+ "设计 React 项目结构",
667
+ "配置 TanStack Query",
668
+ "写 E2E 登录流程",
669
+ "表单校验",
670
+ "PWA 离线缓存",
671
+ "普通菜单键盘可访问性",
672
+ "jQuery 迁移"
673
+ ]
674
+ },
576
675
  "fec-security-review": {
577
676
  "should_trigger": [
578
677
  "检查 dangerouslySetInnerHTML 是否安全",
@@ -661,28 +760,6 @@
661
760
  "jQuery 迁移"
662
761
  ]
663
762
  },
664
- "fec-tailwind-design-system": {
665
- "should_trigger": [
666
- "设计 Tailwind token 和 theme.extend",
667
- "这个组件库的 class 太散,想整理成 variants",
668
- "Tailwind 暗色模式怎么和 CSS 变量对齐",
669
- "检查动态 class 是否会被 purge 掉",
670
- "用 CVA 设计 Button 的 size 和 tone",
671
- "Tailwind safelist 应该怎么治理",
672
- "build a Tailwind design system for this app",
673
- "把硬编码颜色迁移到 Tailwind 语义 token"
674
- ],
675
- "should_not_trigger": [
676
- "纯 CSS Grid 响应式布局溢出",
677
- "按 Figma 像素还原页面",
678
- "写组件 RTL 单测",
679
- "审查接口 401 错误映射",
680
- "修复 TypeScript 类型错误",
681
- "配置路由权限守卫",
682
- "升级 npm 依赖",
683
- "做通用前端 PR review"
684
- ]
685
- },
686
763
  "fec-svg-animation": {
687
764
  "should_trigger": [
688
765
  "SVG 路径描边动画",
@@ -705,6 +782,28 @@
705
782
  "虚拟列表性能"
706
783
  ]
707
784
  },
785
+ "fec-tailwind-design-system": {
786
+ "should_trigger": [
787
+ "设计 Tailwind token 和 theme.extend",
788
+ "这个组件库的 class 太散,想整理成 variants",
789
+ "Tailwind 暗色模式怎么和 CSS 变量对齐",
790
+ "检查动态 class 是否会被 purge 掉",
791
+ "用 CVA 设计 Button 的 size 和 tone",
792
+ "Tailwind safelist 应该怎么治理",
793
+ "build a Tailwind design system for this app",
794
+ "把硬编码颜色迁移到 Tailwind 语义 token"
795
+ ],
796
+ "should_not_trigger": [
797
+ "纯 CSS Grid 响应式布局溢出",
798
+ "按 Figma 像素还原页面",
799
+ "写组件 RTL 单测",
800
+ "审查接口 401 错误映射",
801
+ "修复 TypeScript 类型错误",
802
+ "配置路由权限守卫",
803
+ "升级 npm 依赖",
804
+ "做通用前端 PR review"
805
+ ]
806
+ },
708
807
  "fec-tdd-workflow": {
709
808
  "should_trigger": [
710
809
  "用 TDD 实现这个 hook",
@@ -749,26 +848,28 @@
749
848
  "优化虚拟列表滚动性能"
750
849
  ]
751
850
  },
752
- "fec-typescript-type-safety": {
851
+ "fec-typescript-project-standard": {
753
852
  "should_trigger": [
853
+ "TypeScript 项目 tsconfig strict 怎么配置",
754
854
  "审查这些 DTO 和 view model 类型边界",
755
855
  "这个泛型组件类型怎么设计更安全",
756
856
  "用 type guard 收窄 unknown 输入",
757
- "检查不安全的 as 和非空断言",
758
857
  "设计判别联合表达异步状态",
759
- "给公共 utility type 加类型测试",
760
858
  "TypeScript 类型建模和泛型约束 review",
761
- "API 响应类型和运行时校验怎么对齐"
859
+ "TS SDK 的 package exports 和 d.ts 怎么发布",
860
+ "monorepo package 的 project references 怎么配置",
861
+ "public API 类型和声明文件一致性怎么检查",
862
+ "Node CLI 的 moduleResolution 和类型声明怎么设"
762
863
  ],
763
864
  "should_not_trigger": [
764
- "做整个前端 PR 综合评审",
765
- "只修复 tsc 编译失败",
766
- "写 React 组件 UI",
767
- "检查按钮键盘焦点",
768
- "配置 Vite env 变量",
769
- "写 Playwright E2E",
770
- "选择全局 store 方案",
771
- "审查 CSP 和 XSS"
865
+ "React 项目组件目录怎么分层",
866
+ "Vue composable 和 Pinia store 怎么组织",
867
+ "Vite dev server proxy 怎么配置",
868
+ "TanStack Query queryKey 怎么设计",
869
+ "表单校验错误怎么展示",
870
+ "检查弹窗键盘焦点和 aria",
871
+ "写 Playwright 登录流程",
872
+ "优化虚拟列表滚动性能"
772
873
  ]
773
874
  },
774
875
  "fec-ui-design": {
@@ -865,6 +966,28 @@
865
966
  "XSS 安全审查"
866
967
  ]
867
968
  },
969
+ "fec-web-video-presentation": {
970
+ "should_trigger": [
971
+ "把这篇文章做成可以录屏的 16:9 网页视频演示",
972
+ "我有一段口播稿,帮我规划成点击推进的动态网页 presentation",
973
+ "为这个产品 demo 做一个 step-driven browser recording deck",
974
+ "把课程大纲转成像视频一样播放的 React 演示页面",
975
+ "生成网页视频脚手架,支持主题 token 和录屏",
976
+ "把技术分享拆成 script、outline 和可录制章节",
977
+ "做一个每次按空格推进一个口播节拍的 16:9 演示",
978
+ "create a recordable web video presentation from this talk script"
979
+ ],
980
+ "should_not_trigger": [
981
+ "普通 landing page 视觉打磨",
982
+ "从 Figma 节点实现一个按钮组件",
983
+ "生成一张系统架构图 PNG",
984
+ "修复 Vite 构建错误",
985
+ "给 React 表单写组件测试",
986
+ "检查 dashboard 的 WCAG 对比度",
987
+ "把 jQuery 页面迁移到 Vue",
988
+ "规划 API 鉴权刷新流程"
989
+ ]
990
+ },
868
991
  "fec-web-workers": {
869
992
  "should_trigger": [
870
993
  "大 JSON 解析阻塞主线程",
@@ -20,7 +20,7 @@ description: Use when reviewing or improving frontend accessibility, semantic st
20
20
  7. 复核 WCAG 2.2 新增高频风险:可见焦点不被遮挡、拖拽操作有替代路径、目标尺寸过小、帮助入口和认证流程不依赖记忆负担。
21
21
  8. 输出分级报告;报告格式见 [references/report-template.md](references/report-template.md)。
22
22
 
23
- ## Detailed References
23
+ ## 详细参考
24
24
 
25
25
  撰写无障碍审查报告时,加载 [references/report-template.md](references/report-template.md)。需要验证屏幕阅读器公告、焦点读法和动态区域时,加载 [references/screen-reader-testing.md](references/screen-reader-testing.md)。
26
26