@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
package/README.md CHANGED
@@ -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
  Per-runtime paths and caveats live in [`docs/runtimes/`](docs/runtimes/).
34
34
 
35
- It bundles **13 specialized agents**, **40 auto-activated skills**, **8 slash commands**, **5 event-driven hooks**, **MCP integrations** for 6 design-tool endpoints, and a complete **rules library** into a single installable package. Run one command, and every AI session on your team writes React, Vue, Next.js, or Nuxt the same way — typed, accessible, secure, and consistent.
35
+ It bundles **13 specialized agents**, **45 auto-activated skills**, **8 slash commands**, **5 event-driven hooks**, **MCP integrations** for 6 design-tool endpoints, and a complete **rules library** into a single installable package. Run one command, and every AI session on your team writes React, Vue, Next.js, or Nuxt the same way — typed, accessible, secure, and consistent.
36
36
 
37
37
  ---
38
38
 
@@ -40,7 +40,7 @@ It bundles **13 specialized agents**, **40 auto-activated skills**, **8 slash co
40
40
 
41
41
  | Problem | What frontend-craft does |
42
42
  | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
43
- | AI assistants write inconsistent, untyped, or insecure frontend code | **40 skills** encode team standards — auto-activated when the assistant touches matching files |
43
+ | AI assistants write inconsistent, untyped, or insecure frontend code | **45 skills** encode team standards — auto-activated when the assistant touches matching files |
44
44
  | Each AI tool has its own plugin format | **One CLI** installs the same rules, agents, and hooks into 15 runtimes |
45
45
  | Design-to-code handoff is lossy | **MCP integrations** bring in richer context from Figma, Figma Desktop, Sketch, MasterGo, Pixso, and 墨刀 |
46
46
  | Reviews are ad-hoc and shallow | **13 agents** produce graded reports: code, security, a11y, performance, TS, UI fidelity |
@@ -53,45 +53,59 @@ It bundles **13 specialized agents**, **40 auto-activated skills**, **8 slash co
53
53
 
54
54
  Requires **Node.js 22+**. Works on **Windows, macOS, and Linux**.
55
55
 
56
- ### Option 1 - Global CLI project init (recommended)
56
+ ### Option 1 - Install the fec CLI globally (recommended)
57
57
 
58
58
  ```bash
59
- npm install -g frontend-craft@latest
59
+ # 1. Install the fec command globally
60
+ npm install -g @bovinphang/frontend-craft@latest
61
+
62
+ # 2. Go to your frontend project
60
63
  cd your-project
61
- fec init
62
- fec init codex # initialize for a specific runtime
63
- fec init claude # initialize for Claude Code
64
- ```
65
64
 
66
- `fec init` is the terminal CLI command for initializing the current project. In an interactive terminal, omit the runtime to choose one from the prompt; in non-interactive terminals, the CLI defaults to `claude` when no runtime is specified. `init` installs locally by default unless you explicitly pass `--global`, for example `fec init codex --global`. The in-assistant `/fec-init` slash command is separate and runs after frontend-craft is installed in your AI runtime.
65
+ # 3. Choose the AI runtime(s) interactively
66
+ fec setup
67
67
 
68
- ### Option 2 — No-global interactive wizard
68
+ # 4. Connect the current project
69
+ fec setup codex
70
+ fec setup claude
71
+ fec setup all
69
72
 
70
- ```bash
71
- npx frontend-craft@latest
73
+ # 5. Connect globally, available across all projects
74
+ fec setup codex --global
75
+ fec setup claude --global
76
+ fec setup all --global
77
+
78
+ # 6. Preview / query
79
+ fec install --all --dry-run --global
80
+ fec list
72
81
  ```
73
82
 
74
- Use this when you do not want to install a global `fec` command. The wizard walks through the full install flow: choose one or more runtimes, then choose whether to install globally or into the current project.
83
+ `npm install -g` only installs the `fec` terminal command. `fec setup` is the terminal CLI command for connecting frontend-craft to a project; it is not the in-assistant `/fec-init` slash command. In an interactive terminal, running only `fec setup` asks you to choose runtimes. `fec setup <runtime>` and `fec setup all` connect frontend-craft to the current project by default. Only pass `--global` when you want to connect frontend-craft to the selected AI tool's global config directory so it is available across projects.
75
84
 
76
- ### Option 3 — Scripted install
85
+ ### Option 2 — Temporary npx run (no global fec command)
77
86
 
78
87
  ```bash
79
- # Install into the current project
80
- npx frontend-craft@latest install --local claude
81
-
82
- # Install globally for a runtime
83
- npx frontend-craft@latest install --global codex
84
-
85
- # Preview what would be installed across all runtimes
86
- npx frontend-craft@latest install --all --dry-run --global
87
-
88
- # List available runtimes
89
- npx frontend-craft@latest list
88
+ # 1. Interactive wizard
89
+ npx @bovinphang/frontend-craft@latest
90
+
91
+ # 2. Connect the current project
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. Connect globally, available across all projects
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. Preview / query
102
+ npx @bovinphang/frontend-craft@latest install --all --dry-run --global
103
+ npx @bovinphang/frontend-craft@latest list
90
104
  ```
91
105
 
92
- > **CI / scripts:** always pass `--global` / `-g` or `--local` / `-l`. Without a TTY, the CLI defaults to `claude --global` if neither is set.
106
+ Use `npx` when you do not want to install a global `fec` command. Without arguments, it opens the interactive wizard: choose one or more runtimes, then choose whether to connect globally or into the current project. For scripted all-runtime installs, use `install --all --local` or `install --all --global`; do not write `install all`. For CI / scripts, always pass `--global` / `-g` or `--local` / `-l`; in non-TTY environments without an explicit location, the CLI defaults to `claude --global`.
93
107
 
94
- ### Option 4 — Claude Code Marketplace
108
+ ### Option 3 — Claude Code Marketplace
95
109
 
96
110
  For Claude Code users, **Claude Code Marketplace** is the preferred single-source install. Use the CLI for Claude only when you need cross-runtime installs, scripted/offline file copies, or non-Marketplace environments.
97
111
 
@@ -133,7 +147,7 @@ For a complete scenario-based prompt library, see [docs/example-prompts.md](docs
133
147
  ```text
134
148
  You: "Review my recent changes before merge. Focus on architecture, type safety, rendering behavior, styles, accessibility, and missing tests."
135
149
  You: "Before coding, plan the account billing feature: route structure, component boundaries, data flow, state ownership, validation flow, and rollout risks."
136
- You: "Build a multi-step registration form with React Hook Form + Zod, file upload, conditional fields, async validation, and accessible errors."
150
+ You: "Build a multi-step registration form; choose the right form and schema validation approach for this project, with file upload, conditional fields, async validation, and accessible errors."
137
151
  You: "Implement the UI from Figma node 123:456. Use existing design tokens and components, match spacing and responsive states, and document assumptions."
138
152
  You: "`/fec-refactor-clean` Clean up dead code in this module."
139
153
  ```
@@ -155,13 +169,13 @@ Slash commands are the primary entry points for structured workflows. Most produ
155
169
  | `/fec-tdd` | Red → green → refactor loop for frontend TDD | — |
156
170
  | `/fec-debug` | Diagnose and fix frontend issues: build, runtime, UI, and API failures | `debug-*.md` |
157
171
  | `/fec-refactor-clean` | Classify and safely remove dead code, unused exports, styles, and deps | `refactor-clean-*.md` |
158
- | `/fec-doc-sync` | Sync READMEs, runtime docs, capability tables, and metadata | — |
172
+ | `/fec-doc-sync` | Sync READMEs, docs, env notes, scripts, API/route notes, and deploy docs | — |
159
173
 
160
174
  ### Skills (auto-activated)
161
175
 
162
176
  Skills are workflow definitions that activate automatically based on file patterns, frameworks, or task context. They encode review dimensions, output conventions, and report formats.
163
177
 
164
- The skills below are grouped by use case so you can quickly find project standards, implementation, testing, review, design, migration, and documentation workflows.
178
+ The skills below are grouped by use case so you can quickly find project standards, implementation, testing, review, design, migration, project evolution, and documentation workflows.
165
179
 
166
180
  **Project standards** — conventions enforced whenever matching frameworks are detected:
167
181
 
@@ -173,22 +187,23 @@ The skills below are grouped by use case so you can quickly find project standar
173
187
  | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG, composables, data fetching, middleware |
174
188
  | `fec-vite-project-standard` | Vite config, env safety, HMR, dev proxy, build optimization |
175
189
  | `fec-monorepo-project-standard` | pnpm workspace, Turborepo, Nx structure and task orchestration |
190
+ | `fec-typescript-project-standard` | TypeScript config, public API types, declarations, DTOs, generics |
176
191
 
177
192
  **Implementation capabilities** — activated when building specific frontend behavior:
178
193
 
179
194
  | Skill | Scope |
180
195
  | ------------------------- | ------------------------------------------------------------------------- |
181
- | `fec-data-fetching` | TanStack Query / server-state fetching, caching, optimistic updates |
196
+ | `fec-data-fetching` | Server-state fetching, caching, invalidation, SSR, infinite loading |
182
197
  | `fec-api-integration` | Typed API clients, auth refresh, uploads, realtime integration |
183
198
  | `fec-state-management` | State ownership, store selection, URL state, server/form/local boundaries |
184
- | `fec-form-handling` | React Hook Form + Zod, dynamic fields, uploads, multi-step flows |
199
+ | `fec-form-handling` | Framework-aware forms, schema validation, dynamic fields, uploads |
185
200
  | `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies selection |
186
201
  | `fec-route-protection` | Auth and permission routes for React Router, Next.js, Vue Router, Nuxt |
187
202
  | `fec-pwa-implementation` | Manifest, service worker, offline cache, install prompts |
188
203
  | `fec-web-workers` | Web Worker integration, transferables, Comlink, worker pools |
189
204
  | `fec-canvas-threejs` | Canvas 2D, Three.js, React Three Fiber, WebGL |
190
205
  | `fec-svg-animation` | CSS / Framer Motion / GSAP SVG animation with reduced-motion |
191
- | `fec-list-virtualization` | react-window / TanStack Virtual with measurement strategies |
206
+ | `fec-list-virtualization` | Framework-aware list virtualization, measurement, grids, infinite scroll |
192
207
 
193
208
  **Testing** — activated when planning or authoring frontend test coverage:
194
209
 
@@ -204,7 +219,7 @@ The skills below are grouped by use case so you can quickly find project standar
204
219
  | Skill | Scope |
205
220
  | ------------------------------ | ----------------------------------------------------------------------------- |
206
221
  | `fec-code-review` | Architecture, types, rendering, styles, a11y review |
207
- | `fec-typescript-type-safety` | Type contracts, DTO mapping, type guards, generics, type-level checks |
222
+ | `fec-debug-framework` | Systematic diagnostics for build, runtime, UI, and API/data failures |
208
223
  | `fec-security-review` | XSS, CSRF, sensitive data leakage, input validation |
209
224
  | `fec-accessibility-check` | WCAG 2.2, keyboard, focus, touch, and screen-reader behavior |
210
225
  | `fec-dependency-upgrade` | Dependency upgrades, lockfile review, CVE remediation, migration verification |
@@ -216,11 +231,14 @@ The skills below are grouped by use case so you can quickly find project standar
216
231
 
217
232
  | Skill | Scope |
218
233
  | ----------------------------- | ----------------------------------------------------------------------------- |
219
- | `fec-ui-design` | UI direction, visual identity, polish, states, visual QA |
234
+ | `fec-ui-design` | Product-context UI direction, anti-generic design dials, media strategy, states, visual QA |
235
+ | `fec-image-generation` | Diagrams, image generation/editing, visual assets, PNG QA and repair loops |
236
+ | `fec-drawio-studio` | Editable draw.io / diagrams.net technical diagrams, XML/Mermaid/CSV URL handoff, shape lookup, auto-layout, code maps |
237
+ | `fec-web-video-presentation` | Recordable 16:9 step-driven web presentations from articles, scripts, lessons, and demos |
220
238
  | `fec-tailwind-design-system` | Tailwind tokens, theme extension, variants, class governance, dark mode |
221
239
  | `fec-responsive-layout` | Mobile-first layouts, container queries, data-dense responsive UI |
222
- | `fec-motion-interaction` | Interaction motion, page transitions, scroll animation, reduced motion |
223
- | `fec-implement-from-design` | Build UI from Figma/Sketch/MasterGo/Pixso/墨刀 design files, or 摹客 assets |
240
+ | `fec-motion-interaction` | Context-aware motion intensity, page transitions, scroll animation, reduced motion |
241
+ | `fec-implement-from-design` | Build UI from design tools, screenshots, or section-level visual references |
224
242
  | `fec-storybook-component-doc` | Storybook component docs, design-system presentation, isolated state previews |
225
243
 
226
244
  **Legacy migration** — activated during modernization work:
@@ -228,13 +246,20 @@ The skills below are grouped by use case so you can quickly find project standar
228
246
  | Skill | Scope |
229
247
  | -------------------------------- | ---------------------------------------------------------- |
230
248
  | `fec-legacy-web-standard` | Standards for JS + jQuery + HTML maintenance |
231
- | `fec-legacy-to-modern-migration` | jQuery/MPA → React/Vue 3 + TS strategy and phased workflow |
249
+ | `fec-legacy-to-modern-migration` | Legacy frontend modernization, target-stack selection, phased workflow |
250
+
251
+ **Project evolution** — activated when absorbing reference systems into project-native improvements:
252
+
253
+ | Skill | Scope |
254
+ | ------------- | ---------------------------------------------------------------------- |
255
+ | `fec-alchemy` | Absorb reference system ideas through original, project-native redesign |
232
256
 
233
257
  **Maintenance docs** — activated during documentation upkeep:
234
258
 
235
259
  | Skill | Scope |
236
260
  | ------------------------------- | -------------------------------------------------------------------------------------- |
237
- | `fec-doc-sync` | Keep public docs in sync with scripts, skills, agents, commands |
261
+ | `fec-backend-requirements-handoff` | Frontend-to-backend handoff for UI data needs, actions, states, rules, and questions |
262
+ | `fec-doc-sync` | Keep frontend docs in sync with code, config, scripts, routes, APIs, env, and deploy facts |
238
263
  | `fec-source-driven-development` | Verify version-sensitive frontend decisions against project facts and official sources |
239
264
 
240
265
  ### Agents
@@ -365,11 +390,12 @@ $env:MODAO_TOKEN = "your-modao-token"
365
390
  Every review, analysis, and evaluation writes a timestamped Markdown report to `reports/`. These serve as an audit trail and a handoff artifact for PRs.
366
391
 
367
392
  <details>
368
- <summary>Click to see all 15 report types</summary>
393
+ <summary>Click to see all 16 report types</summary>
369
394
 
370
395
  | Report type | Filename pattern | Produced by |
371
396
  | ---------------------- | -------------------------------------------- | ------------------------------------------------------------------- |
372
397
  | Code review | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`, `fec-code-review`, `fec-code-reviewer` |
398
+ | Debug diagnostics | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`, `fec-debug-framework`, `fec-debugger` |
373
399
  | TypeScript / JS review | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
374
400
  | Security review | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`, `fec-security-reviewer` |
375
401
  | Accessibility | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
@@ -393,7 +419,7 @@ Every review, analysis, and evaluation writes a timestamped Markdown report to `
393
419
 
394
420
  ## Update and Remove
395
421
 
396
- `fec` is the short command for `frontend-craft`. If you have not installed the global `fec` command, use the same arguments with `npx frontend-craft@latest`, for example `npx frontend-craft@latest update`.
422
+ `fec` is the short command for `frontend-craft`. If you have not installed the global `fec` command, use the same arguments with `npx @bovinphang/frontend-craft@latest`, for example `npx @bovinphang/frontend-craft@latest update`.
397
423
 
398
424
  ### Update
399
425
 
@@ -437,7 +463,7 @@ npx skills check # preview available updates
437
463
 
438
464
  | CLI | Installs |
439
465
  | -------------------- | ------------------------------------------------------------------- |
440
- | `npx frontend-craft` | Skills + runtime-specific agents, commands, hooks, rules, templates |
466
+ | `npx @bovinphang/frontend-craft` | Skills + runtime-specific agents, commands, hooks, rules, templates |
441
467
  | `npx skills` | Skills only (for existing Skills CLI workflows) |
442
468
 
443
469
  To disable telemetry: `DISABLE_TELEMETRY=1`. Details: [skills.sh CLI docs](https://skills.sh/docs/cli).
@@ -143,31 +143,32 @@ frontend-craft/
143
143
  | `fec-accessibility-check` | WCAG-oriented semantic structure, keyboard support, focus, labels |
144
144
  | `fec-react-project-standard` | React + TypeScript project standards |
145
145
  | `fec-vue3-project-standard` | Vue 3 + TypeScript project standards |
146
+ | `fec-typescript-project-standard` | TypeScript config, public API types, declarations, DTOs, and generics |
146
147
  | `fec-implement-from-design` | Implement UI from Figma, Sketch, MasterGo, Pixso, Modao, or screenshots |
147
148
  | `fec-validation-fix` | Run validation commands, diagnose failures, and fix safely |
148
149
  | `fec-legacy-web-standard` | JavaScript + jQuery + HTML/CSS legacy frontend standards |
149
- | `fec-legacy-to-modern-migration` | jQuery / MPA migration strategy to React or Vue + TypeScript |
150
+ | `fec-legacy-to-modern-migration` | Legacy frontend modernization, target-stack selection, and phased migration |
150
151
  | `fec-testing-strategy` | Testing layer selection, risk matrix, and coverage planning |
151
152
  | `fec-e2e-testing` | Playwright / Cypress E2E structure, artifacts, CI, and flaky test handling |
152
153
  | `fec-nextjs-project-standard` | Next.js App Router, SSR/SSG, routing, metadata, middleware |
153
154
  | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG, composables, routing, middleware |
154
155
  | `fec-monorepo-project-standard` | pnpm workspace, Turborepo, Nx structure and task orchestration |
155
- | `fec-data-fetching` | TanStack Query / server-state fetching, caching, invalidation, optimistic updates |
156
+ | `fec-data-fetching` | Server-state fetching, caching, invalidation, SSR, and infinite loading |
156
157
  | `fec-state-management` | State ownership, store selection, URL/server/form/local state boundaries |
157
- | `fec-form-handling` | React Hook Form + Zod forms, dynamic fields, uploads, multi-step flows |
158
+ | `fec-form-handling` | Framework-aware forms, schema validation, dynamic fields, uploads, multi-step flows |
158
159
  | `fec-tailwind-design-system` | Tailwind tokens, theme extension, variants, class governance, dark mode |
159
160
  | `fec-responsive-layout` | Mobile-first layouts, container queries, data-dense responsive UI |
160
161
  | `fec-browser-storage` | localStorage/sessionStorage/IndexedDB/Cookies selection and safe client persistence |
161
162
  | `fec-route-protection` | Authenticated and permissioned routes for React Router, Next.js, Vue Router, Nuxt |
162
163
  | `fec-component-testing` | React Testing Library / Vue Test Utils component tests and regression scenarios |
163
164
  | `fec-storybook-component-doc` | Storybook component docs, addons, MDX, interaction and visual test integration |
164
- | `fec-list-virtualization` | Large-list windowing with react-window / TanStack Virtual and measurement strategies |
165
+ | `fec-list-virtualization` | Framework-aware virtualization, item measurement, grids, and infinite scrolling |
165
166
  | `fec-pwa-implementation` | Manifest, service worker, offline cache, install prompts, update handling |
166
167
  | `fec-web-workers` | Web Worker integration, transferable objects, Comlink, worker pools |
167
168
  | `fec-canvas-threejs` | Canvas 2D, Three.js, React Three Fiber, WebGL performance and accessibility |
168
169
  | `fec-svg-animation` | SVG animation with CSS, Framer Motion, GSAP, reduced-motion fallbacks |
169
170
  | `fec-ui-design` | UI direction, visual identity, polish, states, visual QA |
170
- | `fec-typescript-type-safety` | Type contracts, DTO mapping, type guards, generics, and type-level checks |
171
+ | `fec-web-video-presentation` | Recordable 16:9 step-driven web presentations from articles, scripts, lessons, demos |
171
172
  | `fec-dependency-upgrade` | Dependency upgrades, lockfile review, CVE remediation, migration verification |
172
173
  | `fec-vite-project-standard` | Vite config, env safety, HMR, dev proxy, build optimization, library mode |
173
174
 
@@ -195,24 +196,25 @@ This section is a quick OpenClaw-oriented sample, not the full prompt catalog. F
195
196
  | Implement from Figma / screenshot | `fec-implement-from-design` | “Implement this screen from Figma node `123:456`: match spacing and design tokens, reuse our `Button`, and note any assumptions.” |
196
197
  | CI red or local script failures | `fec-validation-fix` | “`pnpm lint` and `pnpm test` are failing—find the root causes, fix them, and don’t weaken types or skip checks.” |
197
198
  | Maintain jQuery / MPA legacy pages | `fec-legacy-web-standard` | “For `public/js/legacy/*.js`, suggest safe refactors and patterns that keep current behavior; we still ship this in production.” |
198
- | Plan jQuery → React/Vue migration | `fec-legacy-to-modern-migration` | “We have `static/app.js` in jQuery + MPA. Outline a phased migration to React + TypeScript with risks and milestones.” |
199
+ | Plan legacy frontend modernization | `fec-legacy-to-modern-migration` | “We have `static/app.js` in jQuery + MPA. Evaluate keeping the MPA, local modernization, or moving to our target stack with risks and milestones.” |
199
200
  | Plan frontend test coverage | `fec-testing-strategy` | “For this checkout refactor, map risks to static checks, unit/component tests, E2E, visual, a11y, and security coverage before we write tests.” |
200
201
  | Add or stabilize E2E | `fec-e2e-testing` | “Add a Playwright smoke test for login; use a clear folder layout and Page Objects, and mention how to run it in CI.” |
201
202
  | Next.js App Router feature | `fec-nextjs-project-standard` | “Review `app/(dashboard)/reports/page.tsx` and related server actions for Next.js App Router best practices (data fetching, errors, metadata).” |
202
203
  | Nuxt 3 feature or layout | `fec-nuxt-project-standard` | “Review `pages/admin/*.vue` and `composables/useApi.ts` for Nuxt 3 SSR/data/composables conventions.” |
203
204
  | Monorepo boundaries and tasks | `fec-monorepo-project-standard` | “`apps/web` depends on `packages/ui`—check package boundaries, workspace config, and Turborepo task graph for issues.” |
204
- | Server-state data fetching | `fec-data-fetching` | “Review `src/queries/useReports.ts` for TanStack Query patterns: caching keys, invalidation, and optimistic updates.” |
205
+ | Server-state data fetching | `fec-data-fetching` | “Review `src/data/reports.ts` for server-state fetching, cache keys, invalidation, SSR hydration, and whether a query library is warranted.” |
205
206
  | State ownership and store selection | `fec-state-management` | “Audit our dashboard state: decide what belongs in URL params, TanStack Query, local state, or the global store, then propose a safe migration.” |
206
- | Complex form with validation | `fec-form-handling` | “Build a multi-step registration form with Zod validation, file upload, and dynamic conditional fields using React Hook Form.” |
207
+ | Complex form with validation | `fec-form-handling` | “Build a multi-step registration form; choose the project-appropriate form library and schema validation approach, with uploads and dynamic fields.” |
207
208
  | Add route guards to an app | `fec-route-protection` | “Secure the `/admin` routes in our React Router app: redirect unauthenticated users and enforce role-based access.” |
208
209
  | Write component unit tests | `fec-component-testing` | “Add RTL tests for `src/components/UserCard.tsx`: render, user-event interactions, and snapshot for regression.” |
209
210
  | Document a component library | `fec-storybook-component-doc` | “Set up Storybook for `packages/ui/` with MDX docs, accessibility addon, and interaction tests.” |
210
- | Render thousands of list rows | `fec-list-virtualization` | “Our `ProductList` renders 10k items—virtualize it with react-window or TanStack Virtual and measure scroll performance.” |
211
+ | Render thousands of list rows | `fec-list-virtualization` | “Our `ProductList` renders 10k items—choose a virtualization approach for our framework, dynamic heights, browser search, and SEO constraints.” |
211
212
  | Add offline support | `fec-pwa-implementation` | “Make this React app a PWA: manifest, service worker, offline cache strategy, and install prompt.” |
212
213
  | Heavy computation off main thread | `fec-web-workers` | “Move the image-processing logic to a Web Worker with Comlink to keep the UI responsive.” |
213
214
  | Build an interactive 3D scene | `fec-canvas-threejs` | “Add a Three.js product viewer to `src/components/ProductViewer.tsx` with performance and fallback considerations.” |
214
215
  | Add SVG motion to a landing page | `fec-svg-animation` | “Animate the hero SVG with Framer Motion, and ensure reduced-motion users get a static fallback.” |
215
216
  | Design and polish UI | `fec-ui-design` | “Review `src/components/Dashboard.tsx` for UI direction, visual identity, spacing, states, and motion polish.” |
217
+ | Build a recordable web presentation | `fec-web-video-presentation` | “Turn this product demo script into a 16:9 browser presentation with script beats, chapter steps, theme tokens, and recording guidance.” |
216
218
  | Optimize Vite build config | `fec-vite-project-standard` | “Audit our `vite.config.ts` for HMR, dev proxy, env variable safety, and library mode best practices.” |
217
219
 
218
220
  **Slash commands (markdown under `commands/`)**
@@ -143,31 +143,32 @@ frontend-craft/
143
143
  | `fec-accessibility-check` | 面向 WCAG 的语义结构、键盘支持、焦点、标签检查 |
144
144
  | `fec-react-project-standard` | React + TypeScript 项目规范 |
145
145
  | `fec-vue3-project-standard` | Vue 3 + TypeScript 项目规范 |
146
+ | `fec-typescript-project-standard` | TypeScript 配置、公开类型、声明文件、DTO 和泛型 |
146
147
  | `fec-implement-from-design` | 基于 Figma、Sketch、MasterGo、Pixso、墨刀或截图实现 UI |
147
148
  | `fec-validation-fix` | 执行校验命令、分析失败并安全修复 |
148
149
  | `fec-legacy-web-standard` | JavaScript + jQuery + HTML/CSS 传统前端规范 |
149
- | `fec-legacy-to-modern-migration` | jQuery / MPA 迁移到 React 或 Vue + TypeScript 的策略 |
150
+ | `fec-legacy-to-modern-migration` | 遗留前端现代化、目标栈识别与分阶段迁移策略 |
150
151
  | `fec-testing-strategy` | 测试层级选择、风险矩阵与覆盖规划 |
151
152
  | `fec-e2e-testing` | Playwright / Cypress E2E 结构、产物、CI 与不稳定用例治理 |
152
153
  | `fec-nextjs-project-standard` | Next.js App Router、SSR/SSG、路由、元数据、中间件 |
153
154
  | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG、组合式函数、路由、中间件 |
154
155
  | `fec-monorepo-project-standard` | pnpm workspace、Turborepo、Nx 结构与任务编排 |
155
- | `fec-data-fetching` | TanStack Query / 服务端状态获取、缓存、失效、乐观更新 |
156
+ | `fec-data-fetching` | 服务端状态获取、缓存、失效、SSR 与无限加载 |
156
157
  | `fec-state-management` | 状态归属、store 选型、URL/服务端/表单/本地状态边界 |
157
- | `fec-form-handling` | React Hook Form + Zod 表单、动态字段、上传、多步流程 |
158
+ | `fec-form-handling` | 跨框架表单选型、schema 校验、动态字段、上传、多步流程 |
158
159
  | `fec-tailwind-design-system` | Tailwind token、主题扩展、组件变体、class 治理和暗色模式 |
159
160
  | `fec-responsive-layout` | 移动优先布局、容器查询、数据密集型响应式界面 |
160
161
  | `fec-browser-storage` | localStorage/sessionStorage/IndexedDB/Cookies 选型与安全持久化 |
161
162
  | `fec-route-protection` | React Router、Next.js、Vue Router、Nuxt 的权限路由保护 |
162
163
  | `fec-component-testing` | RTL / Vue Test Utils 组件测试与回归用例 |
163
164
  | `fec-storybook-component-doc` | Storybook 组件文档、Addon、MDX、交互与视觉测试集成 |
164
- | `fec-list-virtualization` | react-window / TanStack Virtual 大列表虚拟滚动 |
165
+ | `fec-list-virtualization` | 按框架选型的大列表虚拟滚动、测量、网格和无限滚动 |
165
166
  | `fec-pwa-implementation` | PWA manifest、Service Worker、离线缓存与安装提示 |
166
167
  | `fec-web-workers` | Web Worker、Transferable、Comlink、Worker 池 |
167
168
  | `fec-canvas-threejs` | Canvas 2D、Three.js、React Three Fiber、WebGL 性能与可访问性 |
168
169
  | `fec-svg-animation` | CSS、Framer Motion、GSAP SVG 动画与 reduced-motion 降级 |
169
170
  | `fec-ui-design` | UI 方向、视觉识别、界面打磨、状态与视觉 QA |
170
- | `fec-typescript-type-safety` | 类型契约、DTO 映射、类型守卫、泛型和类型级检查 |
171
+ | `fec-web-video-presentation` | 将文章、口播稿、课程和 demo 转成可录屏的 16:9 步进网页演示 |
171
172
  | `fec-dependency-upgrade` | 依赖升级、lockfile 评审、CVE 修复和迁移验证 |
172
173
  | `fec-vite-project-standard` | Vite 配置、环境变量安全、HMR、开发代理、构建优化与库模式 |
173
174
 
@@ -195,24 +196,25 @@ frontend-craft/
195
196
  | 按设计稿 / 截图实现 UI | `fec-implement-from-design` | 「请按 Figma 节点 `123:456` 实现该界面:间距与设计 Token 对齐,复用现有 `Button`,并说明假设条件。」 |
196
197
  | CI 或本地脚本失败 | `fec-validation-fix` | 「`pnpm lint` 和 `pnpm test` 都挂了,请定位根因并修复,不要放宽类型或跳过检查。」 |
197
198
  | 维护 jQuery / MPA 老页面 | `fec-legacy-web-standard` | 「`public/js/legacy/*.js` 仍在生产使用,请在保持行为的前提下给出可维护性改进与模式建议。」 |
198
- | 规划 jQuery → React/Vue 迁移 | `fec-legacy-to-modern-migration` | 「我们有 `static/app.js` 的 jQuery + 多页应用,请输出迁到 React + TypeScript 的分阶段方案、风险与里程碑。」 |
199
+ | 规划遗留前端现代化 | `fec-legacy-to-modern-migration` | 「我们有 `static/app.js` 的 jQuery + 多页应用,请评估保留 MPA、局部现代化或迁到目标栈的分阶段方案、风险与里程碑。」 |
199
200
  | 规划前端测试覆盖 | `fec-testing-strategy` | 「这次 checkout 重构先别急着写测试,请把风险映射到静态检查、单元/组件、E2E、视觉、无障碍和安全覆盖。」 |
200
201
  | 补充或稳定 E2E | `fec-e2e-testing` | 「请用 Playwright 给登录流程加冒烟用例:目录清晰、使用 Page Object,并说明如何在 CI 里跑。」 |
201
202
  | Next.js App Router 功能 | `fec-nextjs-project-standard` | 「请评审 `app/(dashboard)/reports/page.tsx` 及相关 server actions 是否符合 Next.js App Router 最佳实践(数据获取、错误、元数据等)。」 |
202
203
  | Nuxt 3 页面或布局 | `fec-nuxt-project-standard` | 「请评审 `pages/admin/*.vue` 与 `composables/useApi.ts` 是否符合 Nuxt 3 的 SSR、数据与组合式用法惯例。」 |
203
204
  | Monorepo 边界与任务编排 | `fec-monorepo-project-standard` | 「`apps/web` 依赖 `packages/ui`,请检查包边界、workspace 配置和 Turborepo 任务图是否有问题。」 |
204
- | 服务端数据获取 | `fec-data-fetching` | 「请评审 `src/queries/useReports.ts` 的 TanStack Query 模式:缓存 key、失效策略和乐观更新。」 |
205
+ | 服务端数据获取 | `fec-data-fetching` | 「请评审 `src/data/reports.ts` 的服务端状态获取:缓存 key、失效策略、SSR 水合,以及是否需要查询库。」 |
205
206
  | 状态归属与 store 选型 | `fec-state-management` | 「请审计 dashboard 的状态:哪些属于 URL 参数、TanStack Query、本地 state 或全局 store,并给出安全迁移方案。」 |
206
- | 复杂表单与校验 | `fec-form-handling` | 「用 React Hook Form + Zod 构建多步注册表单,包含文件上传和动态条件字段。」 |
207
+ | 复杂表单与校验 | `fec-form-handling` | 「构建多步注册表单:按项目框架选择表单库和 schema 校验方案,包含文件上传和动态条件字段。」 |
207
208
  | 为应用添加路由守卫 | `fec-route-protection` | 「为 React Router 的 `/admin` 路由做权限保护:未登录用户重定向,基于角色控制访问。」 |
208
209
  | 编写组件单元测试 | `fec-component-testing` | 「为 `src/components/UserCard.tsx` 编写 RTL 测试:渲染、user-event 交互和快照回归用例。」 |
209
210
  | 组件库文档化 | `fec-storybook-component-doc` | 「为 `packages/ui/` 搭建 Storybook:MDX 文档、无障碍 addon 和交互测试。」 |
210
- | 渲染上万条列表数据 | `fec-list-virtualization` | 「`ProductList` 渲染上万行太卡,请用 react-window 或 TanStack Virtual 做虚拟滚动并测量滚动性能。」 |
211
+ | 渲染上万条列表数据 | `fec-list-virtualization` | 「`ProductList` 渲染上万行太卡,请按现有框架、动态高度、浏览器查找和 SEO 约束选择虚拟滚动方案并测量性能。」 |
211
212
  | 添加离线支持 | `fec-pwa-implementation` | 「把这个 React 应用做成 PWA:manifest、Service Worker、离线缓存策略和安装提示。」 |
212
213
  | 重计算移出主线程 | `fec-web-workers` | 「把图片处理逻辑移到 Web Worker,用 Comlink 通信,保持 UI 响应。」 |
213
214
  | 构建交互式 3D 场景 | `fec-canvas-threejs` | 「在 `src/components/ProductViewer.tsx` 添加 Three.js 产品展示,兼顾性能和降级方案。」 |
214
215
  | 为落地页添加 SVG 动效 | `fec-svg-animation` | 「用 Framer Motion 为 hero 区 SVG 添加动画,并为 reduced-motion 用户提供静态降级方案。」 |
215
216
  | 设计与打磨 UI | `fec-ui-design` | 「请评审 `src/components/Dashboard.tsx` 的 UI 方向、视觉识别、间距、状态和动效打磨。」 |
217
+ | 构建可录屏网页演示 | `fec-web-video-presentation` | 「把这段产品 demo 口播稿转成 16:9 浏览器演示:拆口播节拍、章节 step、主题 token,并给出录屏指引。」 |
216
218
  | 优化 Vite 构建配置 | `fec-vite-project-standard` | 「请审计 `vite.config.ts` 的 HMR、开发代理、环境变量安全和库模式最佳实践。」 |
217
219
 
218
220
  **斜杠命令(`commands/` 下的 Markdown)**