Skip to content
Back to skills

React Best Practices

ASecurity

React/Next.js best-practices reviewer for TSX/JSX. Triggers when writing or reviewing React components to check structure, hooks, accessibility, performance, and TypeScript patterns.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
developmentjavascripttypescriptgojavareactnextjsrefactoringapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 9 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add jgamaraalv/delivery-loop --skill react-best-practices --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of React Best Practices?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for React Best Practices
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jgamaraalv-react-best-practices/badge)](https://www.skillsdirectory.com/skills/jgamaraalv-react-best-practices)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: react-best-practices
description: React/Next.js best-practices reviewer for TSX/JSX. Triggers when writing or reviewing React components to check structure, hooks, accessibility, performance, and TypeScript patterns.
---

# Vercel React Best Practices

Comprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Contains 64 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

## Rule Categories by Priority

| Priority | Category                  | Impact      | Prefix       | Reference                              |
| -------- | ------------------------- | ----------- | ------------ | -------------------------------------- |
| 1        | Eliminating Waterfalls    | CRITICAL    | `async-`     | `references/eliminating-waterfalls.md` |
| 2        | Bundle Size Optimization  | CRITICAL    | `bundle-`    | `references/bundle-size.md`            |
| 3        | Server-Side Performance   | HIGH        | `server-`    | `references/server-performance.md`     |
| 4        | Client-Side Data Fetching | MEDIUM-HIGH | `client-`    | `references/client-data-fetching.md`   |
| 5        | Re-render Optimization    | MEDIUM      | `rerender-`  | `references/rerender-optimization.md`  |
| 6        | Rendering Performance     | MEDIUM      | `rendering-` | `references/rendering-performance.md`  |
| 7        | JavaScript Performance    | LOW-MEDIUM  | `js-`        | `references/javascript-performance.md` |
| 8        | Advanced Patterns         | LOW         | `advanced-`  | `references/advanced-patterns.md`      |

## References

Each file is loaded on demand — read one only when the task needs that depth (progressive disclosure).

- `references/eliminating-waterfalls.md` — parallelize independent async work (`Promise.all`, `better-all`), defer await into the branch that needs it, stream with Suspense, and start promises early in API routes/Server Actions · read when touching async data flow, `await` chains, API routes, or Server Actions.
- `references/bundle-size.md` — import directly (no barrel files), `next/dynamic` for heavy components, defer third-party scripts past hydration, load modules conditionally, and preload on user intent · read when reducing bundle size, code-splitting, or adding third-party/analytics scripts.
- `references/server-performance.md` — authenticate server actions, dedupe with `React.cache()`/LRU, hoist static I/O, parallelize fetches, minimize RSC prop serialization, and use `after()` for non-blocking work · read when writing Server Components, Server Actions, or RSC data fetching.
- `references/client-data-fetching.md` — SWR request deduplication, shared/passive global event listeners, and versioned, minimal localStorage · read when fetching on the client, attaching window/document listeners, or persisting to storage.
- `references/rerender-optimization.md` — subscribe narrowly (defer reads, derived booleans), derive state during render not effects, functional/lazy `useState`, `React.memo` correctly, split hooks, transitions/`useDeferredValue`, and refs for transient values · read when diagnosing or preventing unnecessary re-renders and effect churn.
- `references/rendering-performance.md` — hoist static JSX, `content-visibility`/`Activity` for offscreen work, animate wrappers not SVGs, SVG precision, explicit conditional rendering, hydration without flicker, and resource/script hints · read when optimizing render cost, hydration flicker, SVG/animation, or `<script>`/preload tags.
- `references/javascript-performance.md` — index maps and Set/Map O(1) lookups, cached property/function/storage reads, single-pass iteration (`flatMap`, combined loops), early exits, hoisted RegExp, loop-based min/max, and `toSorted` · read when optimizing hot loops or data-structure-heavy JS.
- `references/advanced-patterns.md` — store event handlers in refs, initialize once per app load, and `useLatest`/`useEffectEvent` for stable callback refs · read when stabilizing callback identity or guarding one-time initialization.

Files in this skill

  • SKILL.md4 KB
  • references/advanced-patterns.md3.3 KB
  • references/bundle-size.md5.8 KB
  • references/client-data-fetching.md6.3 KB
  • references/eliminating-waterfalls.md7.2 KB
  • references/javascript-performance.md17.4 KB
  • references/rendering-performance.md13.8 KB
  • references/rerender-optimization.md20.3 KB
  • references/server-performance.md16.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…