vercel-react-best-practices

Applies Vercel performance optimization rules when writing or refactoring React and Next.js code.

Updated Sep 16, 2026
One-click install
npx skills add https://github.com/jasonviipers/vipers --skill vercel-react-best-practices-jasonviipers
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: vercel-react-best-practices
Source: https://github.com/jasonviipers/vipers/tree/main/.agents/skills/vercel-react-best-practices
Command: npx skills add https://github.com/jasonviipers/vipers --skill vercel-react-best-practices-jasonviipers

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? React and Next.js codebases often suffer from slow load times, unnecessary re-renders, and bloated bundles because developers miss subtle performance pitfalls. This Skill provides a structured, prioritized rule set from Vercel Engineering so AI agents and developers consistently apply proven optimization patterns. ## Core Features & Use Cases - 70 Prioritized Rules Across 8 Categories: Covers eliminating async waterfalls, bundle size optimization, server-side performance, client-side data fetching, re-render optimization, rendering performance, JavaScript micro-optimizations, and advanced hook patterns. - Incorrect vs. Correct Code Examples: Every rule includes concrete before/after TypeScript and TSX snippets with impact ratings from CRITICAL to LOW. - Use Case: When refactoring a Next.js page that fetches data sequentially, the Skill guides you to parallelize requests with Promise.all(), add Suspense boundaries, and lazy-load heavy components like Monaco via next/dynamic. ## Quick Start Review my React component for performance issues and apply the relevant Vercel best practice rules to fix any waterfalls or unnecessary re-renders.

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 async waterfalls in Next.js API routes?▼

Start independent promises immediately and await them later, or use Promise.all() for operations with no interdependencies. For partial dependency chains, the better-all library starts each task at the earliest possible moment, yielding 2-10x improvements.

How to reduce bundle size from icon libraries like lucide-react?▼

Avoid barrel file imports that load thousands of unused modules. In Next.js 13.5+, use the optimizePackageImports config option to automatically transform imports; otherwise import directly from subpaths like @mui/material/Button.

Does this guide cover React Server Components performance?▼

Yes, it includes server-side rules such as per-request deduplication with React.cache(), minimizing serialization at RSC boundaries, avoiding shared module state for request data, and authenticating Server Actions like public API routes.

When should I not use Suspense boundaries for data fetching?▼

Avoid Suspense when data is critical for layout decisions, when content is SEO-critical above the fold, when queries are small and fast, or when you want to prevent layout shift between loading and loaded states.

Why does my React component re-render too often?▼

Common causes include defining components inside components, missing memoization of expensive work, broad effect dependencies, and subscribing to raw state instead of derived values. The re-render rules cover useMemo, useTransition, useDeferredValue, and functional setState fixes.