plugins/vercel/skills/react-best-practices/SKILL.md
React best-practices reviewer for TSX files. Triggers after editing multiple TSX components to run a condensed quality checklist covering component structure, hooks usage, accessibility, performance, and TypeScript patterns.
npx skillsauth add openai/plugins react-best-practicesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
After editing several TSX/JSX files, run through this condensed checklist to catch common issues before they compound.
types.ts unless sharedfunction Card({ title, children }: CardProps)index.ts re-exports) in large projects — they hurt tree-shakinguse* functions when two or more components share itreact-hooks/exhaustive-depsuseCallback / useMemo — use only when passing to memoized children or expensive computations, not by defaultuseEffect cleanup — return a cleanup function for subscriptions, timers, and abort controllersuseEffect to mirror state<button>, <a>, <nav>, <main>, etc. before reaching for <div onClick>alt on every <img> — decorative images get alt=""aria-* attributes — only when native semantics are insufficient; don't redundantly labelReact.memo — wrap pure display components that re-render due to parent changesReact.lazy + Suspense for route-level code splittingnext/image or responsive srcSet; avoid unoptimized <img> in Next.jsReact.FC is optional — prefer plain function declarations with explicit return typesPropsWithChildren — use when the component accepts children but has no other custom propsReact.MouseEvent<HTMLButtonElement>, not anyfunction List<T>({ items, renderItem }: ListProps<T>)as const for config objects — ensures literal types for discriminated unions and enumsdiv rounded-xl border p-6 blocks usually mean stronger composition primitives are missing.tools
Top-level workflow skill for USD performance diagnosis and optimization. Use for slow loading, high memory, low FPS, or 'optimize my scene' requests; delegates auth/runtime setup to Phase 0 owners.
data-ai
Use when the user mentions MagicPath, designs, UI components, themes, canvas selections, or repo-to-canvas UI work; run magicpath-ai to search, inspect, install, or author components.
documentation
Use as the top-level router for Omniverse Realtime Viewer USD app requests and focused viewer reference documents.
tools
Turn Notion specs into implementation plans, tasks, and progress tracking; use when implementing PRDs/feature specs and creating Notion plans + tasks from them.