Individual skill
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.
plugins/build-web-apps/skills/react-best-practices/SKILL.md
Source commit b767f8fa3be1a22b093127dd59956c91ecffca9d
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 6, 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)
- 7,781
- Repository last updated
- Nov 3, 2026
- License
- Not available
Observed agent integration: codex
- 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.mdruns · 94,496 bytesREADME.mdruns · 3,360 bytesSKILL.mdcore · 6,671 bytesagents/openai.yamlasset · 131 bytesmetadata.jsonruns · 921 bytesrules/_sections.mdruns · 1,554 bytesrules/_template.mdruns · 631 bytesrules/advanced-event-handler-refs.mdruns · 1,483 bytesrules/advanced-init-once.mdruns · 958 bytesrules/advanced-use-latest.mdruns · 1,072 bytesrules/async-api-routes.mdruns · 1,125 bytesrules/async-defer-await.mdruns · 2,028 bytesrules/async-dependencies.mdruns · 1,293 bytesrules/async-parallel.mdruns · 654 bytesrules/async-suspense-boundaries.mdruns · 2,510 bytesrules/bundle-barrel-imports.mdruns · 2,370 bytesrules/bundle-conditional.mdruns · 949 bytesrules/bundle-defer-third-party.mdruns · 920 bytesrules/bundle-dynamic-imports.mdruns · 791 bytesrules/bundle-preload.mdruns · 1,149 bytesrules/client-event-listeners.mdruns · 1,969 bytesrules/client-localstorage-schema.mdruns · 1,950 bytesrules/client-passive-event-listeners.mdruns · 1,644 bytesrules/client-swr-dedup.mdruns · 1,159 bytesrules/js-batch-dom-css.mdruns · 3,266 bytesrules/js-cache-function-results.mdruns · 1,949 bytesrules/js-cache-property-access.mdruns · 532 bytesrules/js-cache-storage.mdruns · 1,651 bytesrules/js-combine-iterations.mdruns · 753 bytesrules/js-early-exit.mdruns · 1,133 bytesrules/js-flatmap-filter.mdruns · 1,411 bytesrules/js-hoist-regexp.mdruns · 1,028 bytesrules/js-index-maps.mdruns · 837 bytesrules/js-length-check-first.mdruns · 1,747 bytesrules/js-min-max-loop.mdruns · 2,290 bytesrules/js-set-map-lookups.mdruns · 532 bytesrules/js-tosorted-immutable.mdruns · 1,782 bytesrules/rendering-activity.mdruns · 564 bytesrules/rendering-animate-svg-wrapper.mdruns · 1,185 bytesrules/rendering-conditional-render.mdruns · 980 bytesrules/rendering-content-visibility.mdruns · 815 bytesrules/rendering-hoist-jsx.mdruns · 1,039 bytesrules/rendering-hydration-no-flicker.mdruns · 2,308 bytesrules/rendering-hydration-suppress-warning.mdruns · 872 bytesrules/rendering-resource-hints.mdruns · 2,549 bytesrules/rendering-script-defer-async.mdruns · 1,868 bytesrules/rendering-svg-precision.mdruns · 588 bytesrules/rendering-usetransition-loading.mdruns · 2,074 bytesrules/rerender-defer-reads.mdruns · 973 bytesrules/rerender-dependencies.mdruns · 824 bytesrules/rerender-derived-state-no-effect.mdruns · 1,201 bytesrules/rerender-derived-state.mdruns · 728 bytesrules/rerender-functional-setstate.mdruns · 2,968 bytesrules/rerender-lazy-state-init.mdruns · 2,016 bytesrules/rerender-memo-with-default-value.mdruns · 1,173 bytesrules/rerender-memo.mdruns · 1,148 bytesrules/rerender-move-effect-to-event.mdruns · 1,268 bytesrules/rerender-no-inline-components.mdruns · 2,135 bytesrules/rerender-simple-expression-in-memo.mdruns · 1,018 bytesrules/rerender-split-combined-hooks.mdruns · 1,844 bytesrules/rerender-transitions.mdruns · 1,055 bytesrules/rerender-use-deferred-value.mdruns · 1,846 bytesrules/rerender-use-ref-transient-values.mdruns · 1,742 bytesrules/server-after-nonblocking.mdruns · 2,012 bytesrules/server-auth-actions.mdruns · 2,649 bytesrules/server-cache-lru.mdruns · 1,353 bytesrules/server-cache-react.mdruns · 2,228 bytesrules/server-dedup-props.mdruns · 2,060 bytesrules/server-hoist-static-io.mdruns · 4,393 bytesrules/server-parallel-fetching.mdruns · 1,554 bytesrules/server-serialization.mdruns · 996 bytes
No licensed excerpt is available. You can inspect the pinned source.