New to Claude Skills? Learn how to install them →

Vdavila7 on GitHub

Vercel React Best Practices

Free

Optimize your React and Next.js applications with expert guidelines.

Get this skill

Free · Opens the source repo

What Vercel React Best Practices does

The Vercel React Best Practices skill provides a comprehensive set of performance optimization guidelines specifically tailored for React and Next.js applications. Maintained by Vercel Engineering, this skill encompasses 45 rules categorized into eight distinct areas, each prioritized by its impact on application performance. This structure allows developers to focus on the most critical optimizations first, ensuring that their code is efficient and adheres to best practices in modern web development.

When engaging in tasks such as writing new React components, implementing data fetching, or reviewing existing code, this skill serves as an essential reference. It offers actionable insights into various aspects of performance, including eliminating waterfall effects in asynchronous operations, optimizing bundle sizes, and enhancing server-side performance. Each rule is accompanied by detailed explanations, incorrect code examples, and the correct implementations, making it easy for developers to understand the rationale behind each guideline.

This skill is particularly beneficial for developers and designers who are looking to improve the performance of their React and Next.js applications. Whether you are refactoring existing code or starting a new project, the Vercel React Best Practices skill equips you with the knowledge needed to make informed decisions that enhance user experience through faster load times and reduced resource consumption. By following these guidelines, you can ensure that your applications are not only functional but also performant and scalable.

In summary, the Vercel React Best Practices skill is a vital tool for developers aiming to implement optimal performance patterns in their React and Next.js projects. With its structured approach and practical examples, it empowers users to write efficient code that meets the demands of modern web applications.

When to use it

Use this skill when writing, reviewing, or refactoring React components and Next.js pages, particularly when performance is a concern.

When not to use it

This skill may not be necessary for simple projects or static sites where performance is not a critical factor.

What you can build with it

Optimizing a New React Component

When developing a new React component, reference the skill to apply best practices for performance from the start.

Reviewing Existing Code

Use the guidelines to identify and correct performance issues in existing React or Next.js applications during code reviews.

Refactoring for Performance

When refactoring code, leverage the skill to ensure that optimizations are made according to the latest performance standards.

How to install Vercel React Best Practices

View source

1. Install with the skills CLI

npx skills add davila7/claude-code-templates/react-best-practices --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by davila7

Vercel React Best Practices

Comprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Contains 45 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

PriorityCategoryImpactPrefix
1Eliminating WaterfallsCRITICALasync-
2Bundle Size OptimizationCRITICALbundle-
3Server-Side PerformanceHIGHserver-
4Client-Side Data FetchingMEDIUM-HIGHclient-
5Re-render OptimizationMEDIUMrerender-
6Rendering PerformanceMEDIUMrendering-
7JavaScript PerformanceLOW-MEDIUMjs-
8Advanced PatternsLOWadvanced-

Quick Reference

1. Eliminating Waterfalls (CRITICAL)

  • 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-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-cache-react - Use React.cache() for per-request deduplication
  • server-cache-lru - Use LRU cache for cross-request caching
  • server-serialization - Minimize data passed to client components
  • server-parallel-fetching - Restructure components to parallelize fetches
  • 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

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-dependencies - Use primitive dependencies in effects
  • rerender-derived-state - Subscribe to derived booleans, not raw values
  • rerender-functional-setstate - Use functional setState for stable callbacks
  • rerender-lazy-state-init - Pass function to useState for expensive values
  • rerender-transitions - Use startTransition for non-urgent updates

6. Rendering Performance (MEDIUM)

  • rendering-animate-svg-wrapper - Animate div wrapper, not SVG element
  • rendering-content-visibility - Use content-visibility for long lists
  • rendering-hoist-jsx - Extract static JSX outside components
  • rendering-svg-precision - Reduce SVG coordinate precision
  • rendering-hydration-no-flicker - Use inline script for client-only data
  • rendering-activity - Use Activity component for show/hide
  • rendering-conditional-render - Use ternary, not && for conditionals

7. JavaScript Performance (LOW-MEDIUM)

  • js-batch-dom-css - Group CSS changes via classes or cssText
  • js-index-maps - Build Map for repeated lookups
  • js-cache-property-access - Cache object properties in loops
  • js-cache-function-results - Cache function results in module-level Map
  • js-cache-storage - Cache localStorage/sessionStorage reads
  • js-combine-iterations - Combine multiple filter/map into one loop
  • js-length-check-first - Check array length before expensive comparison
  • js-early-exit - Return early from functions
  • js-hoist-regexp - Hoist RegExp creation outside loops
  • js-min-max-loop - Use loop for min/max instead of sort
  • js-set-map-lookups - Use Set/Map for O(1) lookups
  • js-tosorted-immutable - Use toSorted() for immutability

8. Advanced Patterns (LOW)

  • advanced-event-handler-refs - Store event handlers in refs
  • advanced-use-latest - useLatest for stable callback refs

How to Use

Read individual rule files for detailed explanations and code examples:

rules/async-parallel.md
rules/bundle-barrel-imports.md
rules/_sections.md

Each rule file contains:

  • Brief explanation of why it matters
  • Incorrect code example with explanation
  • Correct code example with explanation
  • Additional context and references

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

Frequently asked questions about Vercel React Best Practices

Similar skills