Individual skill
vercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
skills/react-best-practices/SKILL.md
Source commit 3ae17b2c765ed8534ba9c6f848563db127fc4ca6
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- Yes
- Observed behavior
- Network or broad shell
- Last checked
- Nov 7, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 4,701
- Repository last updated
- Nov 7, 2026
- License
- MIT
Observed agent integration: codex
- ai Repository topic
- ai-agent Repository topic
- ai-agent-tools Repository topic
- claude Repository topic
- claude-ai Repository topic
- claude-api Repository topic
- claude-code Repository topic
- claude-code-communication Repository topic
- claude-commands Repository topic
- claude-desktop Repository topic
- engineering Derived category
- writing Derived category
- data Derived category
- engineering-web Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
AGENTS.mddoc · 81,336 bytesREADME.mddoc · 3,369 bytesSKILL.mdcore · 6,357 bytesmetadata.jsonasset · 921 bytesrules/_sections.mddoc · 1,538 bytesrules/_template.mddoc · 631 bytesrules/advanced-event-handler-refs.mddoc · 1,483 bytesrules/advanced-init-once.mddoc · 958 bytesrules/advanced-use-latest.mddoc · 1,071 bytesrules/async-api-routes.mddoc · 1,113 bytesrules/async-defer-await.mddoc · 2,008 bytesrules/async-dependencies.mddoc · 1,294 bytesrules/async-parallel.mddoc · 646 bytesrules/async-suspense-boundaries.mddoc · 2,506 bytesrules/bundle-barrel-imports.mddoc · 2,372 bytesrules/bundle-conditional.mddoc · 959 bytesrules/bundle-defer-third-party.mddoc · 919 bytesrules/bundle-dynamic-imports.mddoc · 790 bytesrules/bundle-preload.mddoc · 1,120 bytesrules/client-event-listeners.mddoc · 1,982 bytesrules/client-localstorage-schema.mddoc · 1,975 bytesrules/client-passive-event-listeners.mddoc · 1,636 bytesrules/client-swr-dedup.mddoc · 1,161 bytesrules/js-batch-dom-css.mddoc · 3,239 bytesrules/js-cache-function-results.mddoc · 1,931 bytesrules/js-cache-property-access.mddoc · 532 bytesrules/js-cache-storage.mddoc · 1,640 bytesrules/js-combine-iterations.mddoc · 759 bytesrules/js-early-exit.mddoc · 1,129 bytesrules/js-hoist-regexp.mddoc · 1,026 bytesrules/js-index-maps.mddoc · 847 bytesrules/js-length-check-first.mddoc · 1,748 bytesrules/js-min-max-loop.mddoc · 2,278 bytesrules/js-set-map-lookups.mddoc · 532 bytesrules/js-tosorted-immutable.mddoc · 1,782 bytesrules/rendering-activity.mddoc · 564 bytesrules/rendering-animate-svg-wrapper.mddoc · 1,119 bytesrules/rendering-conditional-render.mddoc · 936 bytesrules/rendering-content-visibility.mddoc · 817 bytesrules/rendering-hoist-jsx.mddoc · 989 bytesrules/rendering-hydration-no-flicker.mddoc · 2,242 bytesrules/rendering-hydration-suppress-warning.mddoc · 850 bytesrules/rendering-svg-precision.mddoc · 588 bytesrules/rendering-usetransition-loading.mddoc · 2,070 bytesrules/rerender-defer-reads.mddoc · 973 bytesrules/rerender-dependencies.mddoc · 824 bytesrules/rerender-derived-state-no-effect.mddoc · 1,201 bytesrules/rerender-derived-state.mddoc · 727 bytesrules/rerender-functional-setstate.mddoc · 2,976 bytesrules/rerender-lazy-state-init.mddoc · 2,000 bytesrules/rerender-memo-with-default-value.mddoc · 1,171 bytesrules/rerender-memo.mddoc · 1,148 bytesrules/rerender-move-effect-to-event.mddoc · 1,268 bytesrules/rerender-simple-expression-in-memo.mddoc · 1,018 bytesrules/rerender-transitions.mddoc · 1,055 bytesrules/rerender-use-ref-transient-values.mddoc · 1,742 bytesrules/server-after-nonblocking.mddoc · 2,002 bytesrules/server-auth-actions.mddoc · 2,638 bytesrules/server-cache-lru.mddoc · 1,353 bytesrules/server-cache-react.mddoc · 2,225 bytesrules/server-dedup-props.mddoc · 2,064 bytesrules/server-parallel-fetching.mddoc · 1,554 bytesrules/server-serialization.mddoc · 1,000 bytes
Read excerpt
# Vercel React Best Practices
Comprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Contains 57 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
## When to Apply
Reference these guidelines when:
- Writing new React components or Next.js pages
- Implementing data fetching (client or server-side)
- Reviewing code for performance issues
- Refactoring existing React/Next.js code
- Optimizing bundle size or load times