next-best-practices

GitHub

提供 Next.js 开发最佳实践指南,涵盖文件规范、RSC 边界、异步模式、错误处理及性能优化等规则,用于编写或审查 Next.js 代码。

.claude/skills/next-best-practices/SKILL.md Kiranism/next-shadcn-dashboard-starter

Trigger Scenarios

Next.js 项目开发 Next.js 代码审查

Install

npx skills add Kiranism/next-shadcn-dashboard-starter --skill next-best-practices -g -y
More Options

Non-standard path

npx skills add https://github.com/Kiranism/next-shadcn-dashboard-starter/tree/main/.claude/skills/next-best-practices -g -y

Use without installing

npx skills use Kiranism/next-shadcn-dashboard-starter@next-best-practices

指定 Agent (Claude Code)

npx skills add Kiranism/next-shadcn-dashboard-starter --skill next-best-practices -a claude-code -g -y

安装 repo 全部 skill

npx skills add Kiranism/next-shadcn-dashboard-starter --all -g -y

预览 repo 内 skill

npx skills add Kiranism/next-shadcn-dashboard-starter --list

SKILL.md

Frontmatter
{
    "name": "next-best-practices",
    "description": "Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image\/font optimization, bundling",
    "user-invocable": false
}

Next.js Best Practices

Apply these rules when writing or reviewing Next.js code.

File Conventions

See file-conventions.md for:

  • Project structure and special files
  • Route segments (dynamic, catch-all, groups)
  • Parallel and intercepting routes
  • Middleware rename in v16 (middleware → proxy)

RSC Boundaries

Detect invalid React Server Component patterns.

See rsc-boundaries.md for:

  • Async client component detection (invalid)
  • Non-serializable props detection
  • Server Action exceptions

Async Patterns

Next.js 15+ async API changes.

See async-patterns.md for:

  • Async params and searchParams
  • Async cookies() and headers()
  • Migration codemod

Runtime Selection

See runtime-selection.md for:

  • Default to Node.js runtime
  • When Edge runtime is appropriate

Directives

See directives.md for:

  • 'use client', 'use server' (React)
  • 'use cache' (Next.js)

Functions

See functions.md for:

  • Navigation hooks: useRouter, usePathname, useSearchParams, useParams
  • Server functions: cookies, headers, draftMode, after
  • Generate functions: generateStaticParams, generateMetadata

Error Handling

See error-handling.md for:

  • error.tsx, global-error.tsx, not-found.tsx
  • redirect, permanentRedirect, notFound
  • forbidden, unauthorized (auth errors)
  • unstable_rethrow for catch blocks

Data Patterns

See data-patterns.md for:

  • Server Components vs Server Actions vs Route Handlers
  • Avoiding data waterfalls (Promise.all, Suspense, preload)
  • Client component data fetching

Route Handlers

See route-handlers.md for:

  • route.ts basics
  • GET handler conflicts with page.tsx
  • Environment behavior (no React DOM)
  • When to use vs Server Actions

Metadata & OG Images

See metadata.md for:

  • Static and dynamic metadata
  • generateMetadata function
  • OG image generation with next/og
  • File-based metadata conventions

Image Optimization

See image.md for:

  • Always use next/image over <img>
  • Remote images configuration
  • Responsive sizes attribute
  • Blur placeholders
  • Priority loading for LCP

Font Optimization

See font.md for:

  • next/font setup
  • Google Fonts, local fonts
  • Tailwind CSS integration
  • Preloading subsets

Bundling

See bundling.md for:

  • Server-incompatible packages
  • CSS imports (not link tags)
  • Polyfills (already included)
  • ESM/CommonJS issues
  • Bundle analysis

Scripts

See scripts.md for:

  • next/script vs native script tags
  • Inline scripts need id
  • Loading strategies
  • Google Analytics with @next/third-parties

Hydration Errors

See hydration-error.md for:

  • Common causes (browser APIs, dates, invalid HTML)
  • Debugging with error overlay
  • Fixes for each cause

Suspense Boundaries

See suspense-boundaries.md for:

  • CSR bailout with useSearchParams and usePathname
  • Which hooks require Suspense boundaries

Parallel & Intercepting Routes

See parallel-routes.md for:

  • Modal patterns with @slot and (.) interceptors
  • default.tsx for fallbacks
  • Closing modals correctly with router.back()

Self-Hosting

See self-hosting.md for:

  • output: 'standalone' for Docker
  • Cache handlers for multi-instance ISR
  • What works vs needs extra setup

Debug Tricks

See debug-tricks.md for:

  • MCP endpoint for AI-assisted debugging
  • Rebuild specific routes with --debug-build-paths

Version History

  • 06e83c0 Current 2026-07-25 08:24

Same Skill Collection

.agents/skills/frontend-design/SKILL.md
.agents/skills/migrate-radix-to-base/SKILL.md
.agents/skills/next-best-practices/SKILL.md
.agents/skills/shadcn/SKILL.md
.agents/skills/skill-creator/SKILL.md
.agents/skills/tanstack-form/SKILL.md
.agents/skills/tanstack-query/SKILL.md
.agents/skills/vercel-composition-patterns/SKILL.md
.agents/skills/vercel-react-best-practices/SKILL.md
.agents/skills/web-design-guidelines/SKILL.md
.claude/skills/frontend-design/SKILL.md
.claude/skills/skill-creator/SKILL.md
.claude/skills/vercel-composition-patterns/SKILL.md
.claude/skills/vercel-react-best-practices/SKILL.md
.claude/skills/web-design-guidelines/SKILL.md
.agents/skills/find-skills/SKILL.md
.agents/skills/improve/SKILL.md
.agents/skills/kiranism-shadcn-dashboard/SKILL.md
.claude/skills/find-skills/SKILL.md
.claude/skills/kiranism-shadcn-dashboard/SKILL.md

Metadata

Files
0
Version
5f42819
Hash
dd006923
Indexed
2026-07-25 08:24

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 09:37
浙ICP备14020137号-1 $mapa de visitantes$