Agent Skills: Next.js Community Next.js 16 App Router Best Practices

Next.js 16 App Router performance optimization guidelines (formerly nextjs-16-app-router). This skill should be used when writing Next.js 16 code, configuring caching, implementing Server Components in Next.js, setting up App Router routing, or configuring next.config.js. This skill does NOT cover generic React 19 patterns (use react-19 skill) or non-Next.js server rendering.

UncategorizedID: pproenca/dot-skills/nextjs

Install this agent skill to your local

pnpm dlx add-skill https://github.com/pproenca/dot-skills/tree/HEAD/skills/.curated/nextjs

Skill Files

Browse the full folder contents for nextjs.

Download Skill

Loading file tree…

skills/.curated/nextjs/SKILL.md

Skill Metadata

Name
nextjs
Description
Next.js 16 App Router performance optimization guidelines (formerly nextjs-16-app-router). This skill should be used when writing Next.js 16 code, configuring caching, implementing Server Components in Next.js, setting up App Router routing, or configuring next.config.js. This skill does NOT cover generic React 19 patterns (use react-19 skill) or non-Next.js server rendering.

Next.js Community Next.js 16 App Router Best Practices

Comprehensive performance optimization guide for Next.js 16 App Router applications, maintained by the Next.js Community. Contains 40 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Writing new Next.js 16 App Router code
  • Configuring caching strategies with 'use cache' directive
  • Implementing server components and data fetching
  • Setting up routing with parallel and intercepting routes
  • Creating server actions for form handling and mutations

Rule Categories by Priority

| Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 1 | Build & Bundle Optimization | CRITICAL | build- | | 2 | Caching Strategy | CRITICAL | cache- | | 3 | Server Components & Data Fetching | HIGH | server- | | 4 | Routing & Navigation | HIGH | route- | | 5 | Server Actions & Mutations | MEDIUM-HIGH | action- | | 6 | Streaming & Loading States | MEDIUM | stream- | | 7 | Metadata & SEO | MEDIUM | meta- | | 8 | Client Components | LOW-MEDIUM | client- |

Quick Reference

1. Build & Bundle Optimization (CRITICAL)

  • build-optimize-package-imports - Configure optimizePackageImports for Icon Libraries
  • build-dynamic-imports - Use Dynamic Imports for Heavy Components
  • build-barrel-files - Avoid Barrel File Imports in App Router
  • build-turbopack-config - Enable Turbopack File System Caching
  • build-external-packages - Configure Server External Packages for Node Dependencies

2. Caching Strategy (CRITICAL)

  • cache-use-cache-directive - Use the 'use cache' Directive for Explicit Caching
  • cache-revalidate-tag - Use revalidateTag with cacheLife Profiles
  • cache-fetch-options - Configure Fetch Cache Options Correctly
  • cache-revalidate-path - Use revalidatePath for Route-Level Cache Invalidation
  • cache-react-cache - Use React cache() for Request Deduplication
  • cache-segment-config - Configure Route Segment Caching with Exports

3. Server Components & Data Fetching (HIGH)

  • server-parallel-fetching - Fetch Data in Parallel in Server Components
  • server-component-streaming - Stream Server Components for Progressive Loading
  • server-data-colocation - Colocate Data Fetching with Components
  • server-preload-pattern - Use Preload Pattern for Critical Data
  • server-avoid-client-fetching - Avoid Client-Side Data Fetching for Initial Data
  • server-error-handling - Handle Server Component Errors Gracefully

4. Routing & Navigation (HIGH)

  • route-parallel-routes - Use Parallel Routes for Independent Content
  • route-intercepting-routes - Use Intercepting Routes for Modal Patterns
  • route-prefetching - Configure Link Prefetching Appropriately
  • route-proxy-ts - Use proxy.ts for Network Boundary Logic
  • route-not-found - Use notFound() for Missing Resources

5. Server Actions & Mutations (MEDIUM-HIGH)

  • action-server-action-forms - Use Server Actions for Form Submissions
  • action-pending-states - Show Pending States with useFormStatus
  • action-error-handling - Handle Server Action Errors Gracefully
  • action-optimistic-updates - Use Optimistic Updates for Instant Feedback
  • action-revalidation - Revalidate Cache After Mutations

6. Streaming & Loading States (MEDIUM)

  • stream-suspense-boundaries - Place Suspense Boundaries Strategically
  • stream-loading-tsx - Use loading.tsx for Route-Level Loading States
  • stream-error-tsx - Use error.tsx for Route-Level Error Boundaries
  • stream-skeleton-matching - Match Skeleton Dimensions to Actual Content
  • stream-nested-suspense - Nest Suspense for Progressive Disclosure

7. Metadata & SEO (MEDIUM)

  • meta-generate-metadata - Use generateMetadata for Dynamic Metadata
  • meta-sitemap - Generate Sitemaps Dynamically
  • meta-robots - Configure Robots for Crawl Control
  • meta-opengraph-images - Generate Dynamic OpenGraph Images

8. Client Components (LOW-MEDIUM)

  • client-use-client-boundary - Minimize 'use client' Boundary Scope
  • client-children-pattern - Pass Server Components as Children to Client Components
  • client-hydration-mismatch - Avoid Hydration Mismatches
  • client-third-party-scripts - Load Third-Party Scripts Efficiently

How to Use

Read individual reference files for detailed explanations and code examples:

Related Skills

  • For React 19 fundamentals, see react-19 skill
  • For data fetching patterns, see tanstack-query skill
  • For client-side forms, see react-hook-form skill

Full Compiled Document

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