Next.js App Router Patterns
SkillAI & modelsThis skill gives an AI agent a reference guide on Next.js 14+ App Router patterns. It covers Server Components, streaming, parallel routes, file conventions, and data fetching with caching. The agent consults it to write or review App Router code correctly, including worked examples and best practices.
Use Next.js App Router Patterns in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Next.js App Router Patterns and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Next.js App Router Patterns skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have a Next.js 14 or later project, or a plan to start one, that uses the App Router.
What your AI can do with it
- Explain Server Components and Client Components and when to use each
- Show App Router file conventions like layout.tsx, page.tsx, and loading.tsx
- Describe streaming and Suspense for large pages with slow data
- Cover parallel and intercepting routes with fallback files
- Guide data fetching and caching, including revalidation
- Point to references/details.md for deeper patterns and examples
Getting started
- Have a Next.js 14 or later project, or a plan to start one, that uses the App Router.
- Add the skill to your agent so it can load the reference guide when you ask about App Router work.
- Ask the agent to build, review, or migrate App Router code, naming the pattern you need such as Server Components or streaming.
- If the guide's navigation tier is not enough, have the agent read references/details.md for deeper patterns.
What this skill tells your AI
The instructions your AI receives, as published by wshobson/agents in plugins/frontend-mobile-development/skills/nextjs-app-router-patterns/SKILL.md and read by ahel’s review.
Comprehensive patterns for Next.js 14+ App Router architecture, Server Components, and modern full-stack React development.
When to Use This Skill
- Building new Next.js applications with App Router
- Migrating from Pages Router to App Router
- Implementing Server Components and streaming
- Setting up parallel and intercepting routes
- Optimizing data fetching and caching
- Building full-stack features with Server Actions
Core Concepts
1. Rendering Modes
| Mode | Where | When to Use |
|---|---|---|
| Server Components | Server only | Data fetching, heavy computation, secrets |
| Client Components | Browser | Interactivity, hooks, browser APIs |
| Static | Build time | Content that rarely changes |
| Dynamic | Request time | Personalized or real-time data |
| Streaming | Progressive | Large pages, slow data sources |
2. File Conventions
app/
├── layout.tsx # Shared UI wrapper
├── page.tsx # Route UI
├── loading.tsx # Loading UI (Suspense)
├── error.tsx # Error boundary
├── not-found.tsx # 404 UI
├── route.ts # API endpoint
├── template.tsx # Re-mounted layout
├── default.tsx # Parallel route fallback
└── opengraph-image.tsx # OG image generation
Quick Start
// app/layout.tsx
import { Inter } from 'next/font/google'
import { Providers } from './providers'
const inter = Inter({ subsets: ['latin'] })
export const metadata = {
title: { default: 'My App', template: '%s | My App' },
description: 'Built with Next.js App Router',
}
export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en" suppressHydrationWarning>
<body className={inter.className}>
<Providers>{children}</Providers>
</body>
</html>
)
}
// app/page.tsx - Server Component by default
async function getProducts() {
const res = await fetch('https://api.example.com/products', {
next: { revalidate: 3600 }, // ISR: revalidate every hour
})
return res.json()
}
export default async function HomePage() {
const products = await getProducts()
return (
<main>
<h1>Products</h1>
<ProductGrid products={products} />
</main>
)
}
Detailed patterns and worked examples
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
Best Practices
Do's
- Start with Server Components - Add 'use client' only when needed
- Colocate data fetching - Fetch data where it's used
- Use Suspense boundaries - Enable streaming for slow data
- Leverage parallel routes - Independent loading states
- Use Server Actions - For mutations with progressive enhancement
Don'ts
- Don't pass serializable data - Server → Client boundary limitations
- Don't use hooks in Server Components - No useState, useEffect
- Don't fetch in Client Components - Use Server Components or React Query
- Don't over-nest layouts - Each layout adds to the component tree
- Don't ignore loading states - Always provide loading.tsx or Suspense
Signals
- GitHub stars
- 40k
- Forks
- 4k
- Last commit
- Sep 2026
Others that do the same job
Questions
- What does this skill cover?
- It covers Next.js 14+ App Router patterns: Server Components, streaming, parallel routes, file conventions, and data fetching with caching, plus worked examples and best practices.
- When should I use this skill?
- Use it when building Next.js applications, migrating from Pages Router, implementing SSR or SSG, setting up parallel or intercepting routes, or optimizing data fetching and caching.
- Does it include examples?
- Yes. It includes worked examples and best practices, and points to references/details.md for deeper patterns when the main guide is not enough.
Advanced
- Item type
- skill
- Key
nextjs-app-router-patterns-wshobson- Source
- github.com/wshobson/agents
Related picks
Skill · davila7
Does the same job in other wordslegacy-js
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScriptsetup-ts-deep-modules
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScriptclerk-nextjs-patterns
Skill · clerk
The pick for Next.js