Vercel's React and Next.js performance rules for your agent.
Performance guidelines from Vercel Engineering that your agent applies while writing, reviewing or refactoring React and Next.js code: components, pages, data fetching and bundle size.
Install this skill
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practicesRuns the open-source skills CLI in your own terminal. It asks which agents to add the skill to. Read what it tells your agent to do before you install it.
Install for your agent
Claude Code
Run this in your project
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices -a claude-codeAdd
-gto install it for every project instead.Or ask Claude Code to do it
Install the "vercel-react-best-practices" skill from https://github.com/vercel-labs/agent-skills for Claude Code. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .claude/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.claude/skills/for this project, or~/.claude/skills/for all your projects.Picked up in the current session, no restart needed.
Claude Code skills docsClaude.ai
Upload the ZIP
- In Settings > Capabilities, turn on Code execution and file creation.
- Go to Customize > Skills, press +, then Create skill.
- Choose Upload a skill and pick the ZIP you downloaded.
Free, Pro and Max plans. On Team and Enterprise, an owner turns skills on in Organization settings first.
Claude.ai skills docsChatGPT
Upload the ZIP
- Open Skills in ChatGPT and select Create.
- Select Upload from your computer and pick the ZIP you downloaded.
- Wait for ChatGPT's safety scan. A skill marked Needs Review asks you to check it before use.
Skills that rely on scripts or a terminal may not work unchanged in ChatGPT.
ChatGPT skills docsCodex
Run this in your project
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices -a codexAdd
-gto install it for every project instead.Or ask Codex to do it
Install the "vercel-react-best-practices" skill from https://github.com/vercel-labs/agent-skills for Codex. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .agents/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.agents/skills/for this project, or~/.agents/skills/for all your projects.Restart Codex if the skill does not show up.
Codex skills docsCursor
Run this in your project
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices -a cursorAdd
-gto install it for every project instead.Or ask Cursor to do it
Install the "vercel-react-best-practices" skill from https://github.com/vercel-labs/agent-skills for Cursor. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .cursor/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.cursor/skills/for this project, or~/.cursor/skills/for all your projects.Run it by typing / and the skill name in chat.
Cursor skills docsGitHub Copilot
Run this in your project
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices -a github-copilotAdd
-gto install it for every project instead.Or ask GitHub Copilot to do it
Install the "vercel-react-best-practices" skill from https://github.com/vercel-labs/agent-skills for GitHub Copilot. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .github/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.github/skills/for this project, or~/.copilot/skills/for all your projects.Works in Copilot CLI, the cloud agent and agent mode in VS Code and JetBrains.
GitHub Copilot skills docsAntigravity
Run this in your project
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices -a antigravityAdd
-gto install it for every project instead.Or ask Antigravity to do it
Install the "vercel-react-best-practices" skill from https://github.com/vercel-labs/agent-skills for Antigravity. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .agents/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Antigravity skills docsOr copy the folder yourself
Unzip the download into
.agents/skills/for this project, or~/.gemini/config/skills/for all your projects.Gemini CLI
Run this in your project
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices -a gemini-cliAdd
-gto install it for every project instead.Or ask Gemini CLI to do it
Install the "vercel-react-best-practices" skill from https://github.com/vercel-labs/agent-skills for Gemini CLI. Copy the skill folder (the one containing SKILL.md, with any scripts or reference files next to it) into .gemini/skills/ in this project. Before copying, show me the SKILL.md and list any scripts it includes, and wait for me to confirm.
Or copy the folder yourself
Unzip the download into
.gemini/skills/for this project, or~/.gemini/skills/for all your projects.Run /skills to check it was found.
Gemini CLI skills docs
- Installs
- 710.2K via skills.sh
- GitHub
- 31.2K stars ↗
- Last updated
- 28 Aug 2026
Security checks
Run by independent scanners and published on skills.sh. Their results, not a Viberation review.
- 15 Apr 2026
Gen Agent Trust Hub Pass
This skill provides a comprehensive set of React and Next.js performance guidelines from Vercel Engineering. It is composed of educational markdown files and code examples designed to assist agents in optimizing codebases. No security issues were detected.
- 15 Apr 2026
Socket Pass
No alerts
- 15 Apr 2026
Snyk Pass
Risk: LOW · No issues
- 12 Mar 2026
Runlayer Pass
1/68 files flagged
- 15 Apr 2026
ZeroLeaks Pass
Score: 93/100 · 2 sections analyzed
What's inside (76 files)
AGENTS.md108.2K charsmetadata.json921 charsREADME.md3.4K charsrules/_sections.md1.6K charsrules/_template.md631 charsrules/advanced-effect-event-deps.md1.8K charsrules/advanced-event-handler-refs.md1.5K charsrules/advanced-init-once.md958 charsrules/advanced-use-latest.md1.1K charsrules/async-api-routes.md1.1K charsrules/async-cheap-condition-before-await.md1.2K charsrules/async-defer-await.md2.2K charsrules/async-dependencies.md1.3K charsrules/async-parallel.md653 charsrules/async-suspense-boundaries.md2.5K charsrules/bundle-analyzable-paths.md2.4K charsrules/bundle-barrel-imports.md2.8K charsrules/bundle-conditional.md949 charsrules/bundle-defer-third-party.md920 charsrules/bundle-dynamic-imports.md791 charsrules/bundle-preload.md1.1K charsrules/client-event-listeners.md2K charsrules/client-localstorage-schema.md2K charsrules/client-passive-event-listeners.md1.6K charsrules/client-swr-dedup.md1.2K charsrules/js-batch-dom-css.md3.3K charsrules/js-cache-function-results.md1.9K charsrules/js-cache-property-access.md531 charsrules/js-cache-storage.md1.7K charsrules/js-combine-iterations.md753 charsrules/js-early-exit.md1.1K charsrules/js-flatmap-filter.md1.4K charsrules/js-hoist-regexp.md1K charsrules/js-index-maps.md834 charsrules/js-length-check-first.md1.7K charsrules/js-min-max-loop.md2.3K charsrules/js-request-idle-callback.md2.6K charsrules/js-set-map-lookups.md532 charsrules/js-tosorted-immutable.md1.8K charsrules/rendering-activity.md564 charsrules/rendering-animate-svg-wrapper.md1.2K charsrules/rendering-conditional-render.md980 charsrules/rendering-content-visibility.md814 charsrules/rendering-hoist-jsx.md1K charsrules/rendering-hydration-no-flicker.md2.3K charsrules/rendering-hydration-suppress-warning.md870 charsrules/rendering-resource-hints.md2.5K charsrules/rendering-script-defer-async.md1.9K charsrules/rendering-svg-precision.md588 charsrules/rendering-usetransition-loading.md2.1K charsrules/rerender-defer-reads.md973 charsrules/rerender-dependencies.md824 charsrules/rerender-derived-state-no-effect.md1.2K charsrules/rerender-derived-state.md728 charsrules/rerender-functional-setstate.md3K charsrules/rerender-lazy-state-init.md2K charsrules/rerender-memo-with-default-value.md1.2K charsrules/rerender-memo.md1.1K charsrules/rerender-move-effect-to-event.md1.3K charsrules/rerender-no-inline-components.md2.1K charsrules/rerender-simple-expression-in-memo.md1K charsrules/rerender-split-combined-hooks.md1.8K charsrules/rerender-transitions.md1.1K charsrules/rerender-use-deferred-value.md1.8K charsrules/rerender-use-ref-transient-values.md1.7K charsrules/server-after-nonblocking.md2K charsrules/server-auth-actions.md2.6K charsrules/server-cache-lru.md1.4K charsrules/server-cache-react.md2.2K charsrules/server-dedup-props.md2.1K charsrules/server-hoist-static-io.md4.4K charsrules/server-no-shared-module-state.md1.8K charsrules/server-parallel-fetching.md1.6K charsrules/server-parallel-nested-fetching.md990 charsrules/server-serialization.md996 charsSKILL.md7.3K chars
SKILL.md, first part. Shown as plain text.
--- name: vercel-react-best-practices description: 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. license: MIT metadata: author: vercel version: "1.0.0" --- # Vercel React Best Practices Comprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Contains 70 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 ## Rule Categories by Priority | Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 1 | Eliminating Waterfalls | CRITICAL | `async-` | | 2 | Bundle Size Optimization | CRITICAL | `bundle-` | | 3 | Server-Side Performance | HIGH | `server-` | | 4 | Client-Side Data Fetching | MEDIUM-HIGH | `client-` | | 5 | Re-render Optimization | MEDIUM | `rerender-` | | 6 | Rendering Performance | MEDIUM | `rendering-` | | 7 | JavaScript Performance | LOW-MEDIUM | `js-` | | 8 | Advanced Patterns | LOW | `advanced-` | ## Quick Reference ### 1. Eliminating Waterfalls (CRITICAL) - `async-cheap-condition-before-await` - Check cheap sync conditions before awaiting flags or remote values - `async-defer-await` - Move await into branches where actually used - `async-parallel` - Use Promise.all() for independent operations - `async-dependencies` - Use better-all for partial dependencies - `async-api-routes` - Start promises early, await late in API routes - `async-suspense-boundaries` - Use Suspense to stream content ### 2. Bundle Size Optimization (CRITICAL) - `bundle-barrel-imports` - Import directly, avoid barrel files - `bundle-analyzable-paths` - Prefer statically analyzable import and file-system paths to avoid broad bundles and traces - `bundle-dynamic-imports` - Use next/dynamic for heavy components - `bundle-defer-third-party` - Load analytics/logging after hydration - `bundle-conditional` - Load modules only when feature is activated - `bundle-preload` - Preload on hover/focus for perceived speed ### 3. Server-Side Performance (HIGH) - `server-auth-actions` - Authenticate server actions like API routes - `server-cache-react` - Use React.cache() for per-request deduplication - `server-cache-lru` - Use LRU cache for cross-request caching - `server-dedup-props` - Avoid duplicate serialization in RSC props - `server-hoist-static-io` - Hoist static I/O (fonts, logos) to module level - `server-no-shared-module-state` - Avoid module-level mutable request state in RSC/SSR - `server-serialization` - Minimize data passed to client components - `server-parallel-fetching` - Restructure components to parallelize fetches - `server-parallel-nested-fetching` - Chain nested fetches per item in Promise.all - `server-after-nonblocking` - Use after() for non-blocking operations ### 4. Client-Side Data Fetching (MEDIUM-HIGH) - `client-swr-dedup` - Use SWR for automatic request deduplication - `client-event-listeners` - Deduplicate global event listeners - `client-passive-event-listeners` - Use passive listeners for scroll - `client-localstorage-schema` - Version and minimize localStorage data ### 5. Re-render Optimization (MEDIUM) - `rerender-defer-reads` - Don't subscribe to state only used in callbacks - `rerender-memo` - Extract expensive work into memoized components - `rerender-memo-with-default-value` - Hoist default non-primitive props - `rerender-dependencies` - Use primitive dependencies in effects - `rerender-derived-state` - Subscribe to derived booleans, no
Key info
- Pricing
- Free
- Category
- Skills