Web
nextjs-best-practices - Claude MCP Skill
Next.js App Router principles. Server Components, data fetching, routing patterns.
SEO Guide: Enhance your AI agent with the nextjs-best-practices tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to next.js app router principles. server components, data fetching, routing patterns.... Download and configure this skill to unlock new capabilities for your AI workflow.
Documentation
SKILL.md# Next.js Best Practices
> Principles for Next.js App Router development.
---
## 1. Server vs Client Components
### Decision Tree
```
Does it need...?
ā
āāā useState, useEffect, event handlers
ā āāā Client Component ('use client')
ā
āāā Direct data fetching, no interactivity
ā āāā Server Component (default)
ā
āāā Both?
āāā Split: Server parent + Client child
```
### By Default
| Type | Use |
|------|-----|
| **Server** | Data fetching, layout, static content |
| **Client** | Forms, buttons, interactive UI |
---
## 2. Data Fetching Patterns
### Fetch Strategy
| Pattern | Use |
|---------|-----|
| **Default** | Static (cached at build) |
| **Revalidate** | ISR (time-based refresh) |
| **No-store** | Dynamic (every request) |
### Data Flow
| Source | Pattern |
|--------|---------|
| Database | Server Component fetch |
| API | fetch with caching |
| User input | Client state + server action |
---
## 3. Routing Principles
### File Conventions
| File | Purpose |
|------|---------|
| `page.tsx` | Route UI |
| `layout.tsx` | Shared layout |
| `loading.tsx` | Loading state |
| `error.tsx` | Error boundary |
| `not-found.tsx` | 404 page |
### Route Organization
| Pattern | Use |
|---------|-----|
| Route groups `(name)` | Organize without URL |
| Parallel routes `@slot` | Multiple same-level pages |
| Intercepting `(.)` | Modal overlays |
---
## 4. API Routes
### Route Handlers
| Method | Use |
|--------|-----|
| GET | Read data |
| POST | Create data |
| PUT/PATCH | Update data |
| DELETE | Remove data |
### Best Practices
- Validate input with Zod
- Return proper status codes
- Handle errors gracefully
- Use Edge runtime when possible
---
## 5. Performance Principles
### Image Optimization
- Use next/image component
- Set priority for above-fold
- Provide blur placeholder
- Use responsive sizes
### Bundle Optimization
- Dynamic imports for heavy components
- Route-based code splitting (automatic)
- Analyze with bundle analyzer
---
## 6. Metadata
### Static vs Dynamic
| Type | Use |
|------|-----|
| Static export | Fixed metadata |
| generateMetadata | Dynamic per-route |
### Essential Tags
- title (50-60 chars)
- description (150-160 chars)
- Open Graph images
- Canonical URL
---
## 7. Caching Strategy
### Cache Layers
| Layer | Control |
|-------|---------|
| Request | fetch options |
| Data | revalidate/tags |
| Full route | route config |
### Revalidation
| Method | Use |
|--------|-----|
| Time-based | `revalidate: 60` |
| On-demand | `revalidatePath/Tag` |
| No cache | `no-store` |
---
## 8. Server Actions
### Use Cases
- Form submissions
- Data mutations
- Revalidation triggers
### Best Practices
- Mark with 'use server'
- Validate all inputs
- Return typed responses
- Handle errors
---
## 9. Anti-Patterns
| ā Don't | ā
Do |
|----------|-------|
| 'use client' everywhere | Server by default |
| Fetch in client components | Fetch in server |
| Skip loading states | Use loading.tsx |
| Ignore error boundaries | Use error.tsx |
| Large client bundles | Dynamic imports |
---
## 10. Project Structure
```
app/
āāā (marketing)/ # Route group
ā āāā page.tsx
āāā (dashboard)/
ā āāā layout.tsx # Dashboard layout
ā āāā page.tsx
āāā api/
ā āāā [resource]/
ā āāā route.ts
āāā components/
āāā ui/
```
---
> **Remember:** Server Components are the default for a reason. Start there, add client only when needed.
## When to Use
This skill is applicable to execute the workflow or actions described in the overview.Signals
Information
- Repository
- arlenagreer/claude_configuration_docs
- Author
- arlenagreer
- Last Sync
- 5/10/2026
- Repo Updated
- 5/7/2026
- Created
- 4/10/2026
Reviews (0)
No reviews yet. Be the first to review this skill!
Related Skills
pr-status
PR Status
next-compile
Check Next.js compilation errors via a running dev server. Turbopack only. MANDATORY after every code edit before reporting work complete. Replaces `next build`.
upgrade-nodejs
Upgrading Bun's Self-Reported Node.js Version
cursorrules
CrewAI Development Rules
Related Guides
Bear Notes Claude Skill: Your AI-Powered Note-Taking Assistant
Learn how to use the bear-notes Claude skill. Complete guide with installation instructions and examples.
Mastering tmux with Claude: A Complete Guide to the tmux Claude Skill
Learn how to use the tmux Claude skill. Complete guide with installation instructions and examples.
OpenAI Whisper API Claude Skill: Complete Guide to AI-Powered Audio Transcription
Learn how to use the openai-whisper-api Claude skill. Complete guide with installation instructions and examples.