vercel-react-best-practices

Optimize React and Next.js codebases by eliminating waterfalls and reducing bundle size.

Updated Jan 30, 2026
One-click install
npx skills add https://github.com/Rayzerrek/dotfiles --skill vercel-react-best-practices-rayzerrek
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vercel-react-best-practices
Source: https://github.com/Rayzerrek/dotfiles/tree/main/.agents/skills/vercel-react-best-practices
Command: npx skills add https://github.com/Rayzerrek/dotfiles --skill vercel-react-best-practices-rayzerrek

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps teams avoid common React and Next.js performance traps that slow page loads, trigger extra renders, and create fragile server/client code.

Core Features & Use Cases

  • Waterfall elimination: restructure async work to run in parallel and stream UI sooner.
  • Bundle optimization: prefer direct imports, dynamic loading, and intent-based preloading for heavy modules.
  • Render and state tuning: reduce unnecessary re-renders, preserve state, and keep effects, event handlers, and storage reads efficient.
  • Use case: Review a Next.js page that feels sluggish and apply the right rule for data fetching, serialization, hydration, or component structure.

Quick Start

Ask the skill to review your React or Next.js code for performance issues and suggest the best-practice refactors.

Frequently Asked Questions about vercel-react-best-practices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I eliminate data fetching waterfalls in Next.js to speed up page loads?

Reduce React component re-renders by tuning state management to preserve state where possible and keeping effects, event handlers, and storage reads efficient. This approach minimizes unnecessary render cycles and keeps the application responsive.

What is the best way to optimize bundle size in a React application?

Optimize React bundle size by preferring direct imports, utilizing dynamic loading for heavy modules, and implementing intent-based preloading. This ensures only necessary code is shipped to the client, reducing initial load times.

How do I fix hydration and serialization issues in Next.js server actions?

Fix Next.js hydration and serialization issues by establishing serialization-aware prop boundaries between server and client components. This ensures data passed across the network boundary remains compatible and prevents hydration mismatches.

Does this approach work for both client data fetching and server actions in Next.js?

Yes, this approach works for both client data fetching and server actions by applying techniques like React.cache, LRU caching, and parallel awaits across component refactors, route handlers, and server actions to optimize overall performance.

When should I use dynamic imports instead of static imports for React components?

Use dynamic imports instead of static imports for React components when dealing with heavy modules to reduce initial bundle size. Intent-based preloading ensures these modules are fetched only when needed without blocking initial page rendering.