← Back to list
🛠️

nextjs-developer Checked

Use when building Next.js 14+ applications with App Router, server components, or server actions.…
🛠️ Developer Tools skills By Jeffallan Version v1.0.0 Added 2026-09-07 Updated 2026-09-07 Source ↗
9.0Overall rating
1Views
7Downloads
11.3kStars

Installation

🤖 Install via AI

Copy the prompt below and send it to your AI assistant (e.g. Claude Code) — it will follow the instructions and install automatically.

Install the "nextjs-developer" skill by following the instructions at https://skill123.me/install/nextjs-developer.
⌨️ Command line install

Run in your terminal — downloads and installs to ~/.claude/skills/.

curl -fsSL https://skill123.me/install/nextjs-developer.sh | bash
📦 Download ZIP

Download the zip and extract it into your skills directory (e.g. ~/.claude/skills/), then restart your session.

⬇ Download v1.0.0 · 18 KB
📊 Static rating
9.0/10
Trigger
8.0
Structure
10.0
Workflow
8.0
Content
9.0
Engineering
10.0
Security
10.0

Six-dimension rubric with reviewer rationale.

View scorecard ↓
🛡 Dynamic test
—

Not live-tested yet — this skill is rated on static analysis only.

About this skill

Use when building Next.js 14+ applications with App Router, server components, or server actions. Invoke to configure route handlers, implement middleware, set up API routes, add streaming SSR, write generateMetadata for SEO, scaffold loading.tsx/error.tsx boundaries, or deploy to Vercel. Triggers on: Next.js, Next.js 14, App Router, RSC, use server, Server Components, Server Actions, React Server Components, generateMetadata, loading.tsx, Next.js deployment, Vercel, Next.js performance.

Next.js Developer

Senior Next.js developer with expertise in Next.js 14+ App Router, server components, and full-stack deployment with focus on performance and SEO excellence.

Documentation

Use when building Next.js 14+ applications with App Router, server components, or server actions. Invoke to configure route handlers, implement middleware, set up API routes, add streaming SSR, write generateMetadata for SEO, scaffold loading.tsx/error.tsx boundaries, or deploy to Vercel. Triggers on: Next.js, Next.js 14, App Router, RSC, use server, Server Components, Server Actions, React Server Components, generateMetadata, loading.tsx, Next.js deployment, Vercel, Next.js performance.

Next.js Developer

Senior Next.js developer with expertise in Next.js 14+ App Router, server components, and full-stack deployment with focus on performance and SEO excellence.

Core Workflow

1. **Architecture planning** — Define app structure, routes, layouts, rendering strategy

2. **Implement routing** — Create App Router structure with layouts, templates, loading/error states

3. **Data layer** — Set up server components, data fetching, caching, revalidation

4. **Optimize** — Images, fonts, bundles, streaming, edge runtime

5. **Deploy** — Production build, environment setup, monitoring

  • Validate: run next build locally, confirm zero type errors, check NEXT_PUBLIC_* and server-only env vars are set, run Lighthouse/PageSpeed to confirm Core Web Vitals > 90

Reference Guide

Load detailed guidance based on context:

| Topic | Reference | Load When |

|-------|-----------|-----------|

| App Router | references/app-router.md | File-based routing, layouts, templates, route groups |

| Server Components | references/server-components.md | RSC patterns, streaming, client boundaries |

| Server Actions | references/server-actions.md | Form handling, mutations, revalidation |

| Data Fetching | references/data-fetching.md | fetch, caching, ISR, on-demand revalidation |

| Deployment | references/deployment.md | Vercel, self-hosting, Docker, optimization |

Constraints

### MUST DO (Next.js-specific)

  • Use App Router (app/ directory), never Pages Router (pages/)
  • Keep components as Server Components by default; add 'use client' only at the leaf boundary where interactivity is required
  • Use native fetch with explicit cache / next.revalidate options — do not rely on implicit caching
  • Use generateMetadata (or the static metadata export) for all SEO — never hardcode <title> or <meta> tags in JSX
  • Optimize every image with next/image; never use a plain <img> tag for content images
  • Add loading.tsx and error.tsx at every route segment that performs async data fetching

### MUST NOT DO

  • Convert components to Client Components just to access data — fetch server-side first
  • Skip loading.tsx/error.tsx boundaries on async route segments
  • Deploy without running next build to confirm zero errors

Code Examples

### Server Component with data fetching and caching


// app/products/page.tsx
import { Suspense } from 'react'
View full documentation

async function ProductList() {

// Revalidate every 60 seconds (ISR)

const res = await fetch('https://api.example.com/products', {

next: { revalidate: 60 },

})

if (!res.ok) throw new Error('Failed to fetch products')

const products: Product[] = await res.json()

return (

<ul>

{products.map((p) => (

<li key={p.id}>{p.name}</li>

))}

</ul>

)

}

export default function Page() {

return (

<Suspense fallback={<p>Loading…</p>}>

<ProductList />

</Suspense>

)

}



### Server Action with form handling and revalidation

// app/products/actions.ts

'use server'

import { revalidatePath } from 'next/cache'

export async function createProduct(formData: FormData) {

const name = formData.get('name') as string

await db.product.create({ data: { name } })

revalidatePath('/products')

}

// app/products/new/page.tsx

import { createProduct } from '../actions'

export default function NewProductPage() {

return (

<form action={createProduct}>

<input name="name" placeholder="Product name" required />

<button type="submit">Create</button>

</form>

)

}



### generateMetadata for dynamic SEO

// app/products/[id]/page.tsx

import type { Metadata } from 'next'

export async function generateMetadata(

{ params }: { params: { id: string } }

): Promise<Metadata> {

const product = await fetchProduct(params.id)

return {

title: product.name,

description: product.description,

openGraph: { title: product.name, images: [product.imageUrl] },

}

}



## Output Templates

When implementing Next.js features, provide:
1. App structure (route organization)
2. Layout/page components with proper data fetching
3. Server actions if mutations needed
4. Configuration (`next.config.js`, TypeScript)
5. Brief explanation of rendering strategy chosen

## Knowledge Reference

Next.js 14+, App Router, React Server Components, Server Actions, Streaming SSR, Partial Prerendering, next/image, next/font, Metadata API, Route Handlers, Middleware, Edge Runtime, Turbopack, Vercel deployment

[Documentation](https://jeffallan.github.io/claude-skills/skills/frontend/nextjs-developer/)

Score breakdown

Trigger
8.0
Explicit Triggers-on keyword list and clear When; no exclusion boundary.
Structure
10.0
145-line SKILL.md, five scoped references, clean Load-When table.
Workflow
8.0
Deploy step enforces build, env, and Core Web Vitals validation gates; MUST/MUST-NOT rules are concrete.
Content
9.0
Concise imperative; complete RSC, server action, and metadata examples.
Engineering
10.0
Valid frontmatter; all reference paths exist.
Security
10.0
No secrets, no egress, no injection; only api.example.com placeholder.
Focused Next.js 14 App Router skill with a deploy validation checklist (next build zero errors, env var audit, Lighthouse over 90) and crisp MUST/MUST-NOT constraints; no When-Not trigger exclusions.