fec-accessibility-chec…
Use when reviewing or improving frontend accessibility, semantic structure, keyboard support, focus management, ARIA labels,…
Use when moving expensive browser work off the main thread with Web Workers, SharedWorker, worker pools, Comlink, transferable objects, Vite/Webpack worker integration, or UI responsiveness fixes. Do not use for lightweight synchronous work or DOM manipulation; Chinese triggers
Claude Code
$ npx -y skills add bovinphang/frontend-craft --skill fec-web-workers --agent claude-code
Codex
$ npx skills add bovinphang/frontend-craft --skill fec-web-workers -a codex -y
Cursor
$ npx skills add bovinphang/frontend-craft --skill fec-web-workers -a cursor -y
Gemini CLI
$ npx skills add bovinphang/frontend-craft --skill fec-web-workers -a gemini-cli -y
GitHub Copilot
$ npx skills add bovinphang/frontend-craft --skill fec-web-workers -a github-copilot -y
OpenCode
$ npx skills add bovinphang/frontend-craft --skill fec-web-workers -a opencode -y
Windsurf
$ npx skills add bovinphang/frontend-craft --skill fec-web-workers -a windsurf -y
name: fec-web-workers description: Use when moving expensive browser work off the main thread with Web Workers, SharedWorker, worker pools, Comlink, transferable objects, Vite/Webpack worker integration, or UI responsiveness fixes. Do not use for lightweight synchronous work or DOM manipulation; Chinese triggers include Web Worker, background thread, main thread blocking.
Move expensive calculations off the main thread and keep input, scrolling, and animations responsive.
1. Confirm the bottleneck first: consider workers only if the task exceeds about 10ms, user input delay is obvious, FPS drops, or large file parsing/image processing/encryption calculation. 2. Choose a communication model: use `postMessage` for simple tasks, use Comlink for functional RPC, use Worker pool for a large number of parallel small tasks, and use SharedWorker for cross-Tab synchronization. 3. Design the message protocol: request/response types, error types, cancellation or timeout strategies must be clear. 4. Prioritize Transferable Objects when transferring large objects; don’t let structured cloning swallow up the benefits brought by Worker. 5. `terminate()` when a component or page is unloaded and verify main thread improvements through Profiler, Performance panel or FPS metrics.
Computationally intensive operations are performed on a background thread, main thread input and scrolling resume smoothly, error and cancellation paths are clear, and workers are terminated on unloading without memory leaks.
frontend-craft is a universal frontend plugin that brings the same opinionated engineering standards to all 15 AI coding assistants.
Use when reviewing or improving frontend accessibility, semantic structure, keyboard support, focus management, ARIA labels,…
Use when absorbing ideas, capabilities, workflows, architecture, quality systems, ecosystem extensions, or engineering practices…
Use when designing, implementing, or reviewing frontend-to-backend API integration, typed API clients, REST/tRPC/OpenAPI client…
Use when frontend work needs to communicate data, action, state, permission, validation, or business-rule needs to backend teams…
Use when choosing, implementing, or reviewing browser storage such as localStorage, sessionStorage, IndexedDB, cookies, client…
Use when building or reviewing Canvas 2D, Three.js/WebGL, React Three Fiber, GLSL shaders, ShaderToy-to-WebGL adaptation, 2D/3D…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.