nextjs-16-app-router

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

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "nextjs-16-app-router" with this command: npx skills add pproenca/dot-skills/pproenca-dot-skills-nextjs-16-app-router

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

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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:

  • Section definitions - Category structure and impact levels

  • Rule template - Template for adding new rules

  • build-dynamic-imports - Example rule file

  • cache-use-cache-directive - Example rule file

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

zod

No summary provided by upstream source.

Repository SourceNeeds Review
General

clean-architecture

No summary provided by upstream source.

Repository SourceNeeds Review
General

emilkowal-animations

No summary provided by upstream source.

Repository SourceNeeds Review
General

nuqs

No summary provided by upstream source.

Repository SourceNeeds Review