Agent SkillsJeffallan/claude-skills › nextjs-developer

nextjs-developer

GitHub

Next.js 14+ 高级开发技能,涵盖 App Router、RSC、Server Actions 及部署优化。用于构建高性能全栈应用,指导路由架构、数据获取、SEO 配置及 Vercel 部署流程。

skills/nextjs-developer/SKILL.md Jeffallan/claude-skills

Trigger Scenarios

Next.js 应用开发 App Router 配置 Server Components 实现 Vercel 部署

Install

npx skills add Jeffallan/claude-skills --skill nextjs-developer -g -y
More Options

Use without installing

npx skills use Jeffallan/claude-skills@nextjs-developer

指定 Agent (Claude Code)

npx skills add Jeffallan/claude-skills --skill nextjs-developer -a claude-code -g -y

安装 repo 全部 skill

npx skills add Jeffallan/claude-skills --all -g -y

预览 repo 内 skill

npx skills add Jeffallan/claude-skills --list

SKILL.md

Frontmatter
{
    "name": "nextjs-developer",
    "license": "MIT",
    "metadata": {
        "role": "specialist",
        "scope": "implementation",
        "author": "https:\/\/github.com\/Jeffallan",
        "domain": "frontend",
        "version": "1.1.0",
        "triggers": "Next.js, Next.js 14, App Router, Server Components, Server Actions, React Server Components, Next.js deployment, Vercel, Next.js performance",
        "output-format": "code",
        "related-skills": "typescript-pro"
    },
    "description": "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'

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

Version History

  • 882ef55 Current 2026-08-20 09:04

Same Skill Collection

skills/angular-architect/SKILL.md
skills/api-designer/SKILL.md
skills/atlassian-mcp/SKILL.md
skills/chaos-engineer/SKILL.md
skills/cli-developer/SKILL.md
skills/cloud-architect/SKILL.md
skills/code-documenter/SKILL.md
skills/cpp-pro/SKILL.md
skills/csharp-developer/SKILL.md
skills/database-optimizer/SKILL.md
skills/debugging-wizard/SKILL.md
skills/django-expert/SKILL.md
skills/dotnet-core-expert/SKILL.md
skills/embedded-systems/SKILL.md
skills/fastapi-expert/SKILL.md
skills/feature-forge/SKILL.md
skills/flutter-expert/SKILL.md
skills/golang-pro/SKILL.md
skills/graphql-architect/SKILL.md
skills/java-architect/SKILL.md
skills/javascript-pro/SKILL.md
skills/kotlin-specialist/SKILL.md
skills/kubernetes-specialist/SKILL.md
skills/laravel-specialist/SKILL.md
skills/legacy-modernizer/SKILL.md
skills/mcp-developer/SKILL.md
skills/microservices-architect/SKILL.md
skills/pandas-pro/SKILL.md
skills/php-pro/SKILL.md
skills/playwright-expert/SKILL.md
skills/postgres-pro/SKILL.md
skills/python-pro/SKILL.md
skills/rag-architect/SKILL.md
skills/react-expert/SKILL.md
skills/react-native-expert/SKILL.md
skills/salesforce-developer/SKILL.md
skills/security-reviewer/SKILL.md
skills/spark-engineer/SKILL.md
skills/spring-boot-engineer/SKILL.md
skills/sre-engineer/SKILL.md
skills/swift-expert/SKILL.md
skills/terraform-engineer/SKILL.md
skills/the-fool/SKILL.md
skills/typescript-pro/SKILL.md
skills/vue-expert/SKILL.md
skills/websocket-engineer/SKILL.md
skills/architecture-designer/SKILL.md
skills/code-reviewer/SKILL.md
skills/devops-engineer/SKILL.md

Metadata

Files
0
Version
882ef55
Hash
a8631cf7
Indexed
2026-08-20 09:04

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-21 11:21
浙ICP备14020137号-1 $방문자$