Skip to content
Back to skills

Next Best Practices

ASecurity

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

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 29, 2026
ai-agentsgoreactnextjsnodedockerdebuggingapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add Tekkiiiii/the-agency --skill next-best-practices --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Next Best Practices?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Next Best Practices
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tekkiiiii-next-best-practices/badge)](https://www.skillsdirectory.com/skills/tekkiiiii-next-best-practices)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# 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

---

**Source:** https://officialskills.sh/vercel-labs/skills/next-best-practices

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…