skills/busirocket/agents-skills/busirocket-nextjs-route-handlers

busirocket-nextjs-route-handlers

SKILL.md

Next.js Route Handlers

Patterns for thin, maintainable route handlers in Next.js App Router.

When to Use

Use this skill when:

  • Creating or refactoring app/api/**/route.ts files
  • Implementing API endpoints
  • Validating request inputs
  • Returning standardized JSON responses
  • Deciding server vs client component boundaries

Non-Negotiables (MUST)

  • Route handlers must be thin: validate input, call a services/ function, return a response.
  • No business logic or IO directly in the handler.
  • Never return unvalidated request input.
  • Use standard JSON response shapes: { data } for success, { error: { code, message } } for errors.
  • Use appropriate HTTP status codes (200, 201, 204, 400, 401, 403, 404, 409, 500).

Server vs Client Components

  • app/**/page.tsx and app/**/layout.tsx are Server Components by default.
  • Use Client Components only when you need: state/event handlers, effects, browser-only APIs.
  • 'use client' creates a boundary; keep client islands small.
  • Props from Server -> Client must be serializable.

Rules

Next.js App Router

  • nextjs-server-vs-client - Server vs Client Components (defaults, when to use client)
  • nextjs-serializable-props - Props must be serializable from Server to Client
  • nextjs-protecting-server-code - Protecting server-only code from client imports
  • nextjs-special-file-exports - Allowed extra exports for Next.js special files

Route Handlers

  • nextjs-route-placement - Route handler placement and conflicts with pages
  • nextjs-thin-handler-rule - Thin handler rule (STRICT)
  • nextjs-http-methods - Supported HTTP methods
  • nextjs-caching-model - Caching model for route handlers
  • nextjs-cache-components - Cache Components note for route handlers

API Response Shapes

  • nextjs-response-shapes - Standard JSON response shapes (success/error)
  • nextjs-status-codes - HTTP status codes to use
  • nextjs-response-rules - Rules for API responses (validation, error handling)

Validation

  • nextjs-validation-boundaries - Where validation lives (route handlers, services, utils)
  • nextjs-validation-patterns - Validation patterns (unknown inputs, guards)
  • nextjs-validation-helpers - Recommended validation helpers
  • nextjs-validation-rules - Validation rules (no inline types/helpers)

Related Skills

  • busirocket-react-components-and-hooks - Component patterns and Server/Client boundaries
  • busirocket-validation - Validation strategies (Zod schemas, guard helpers)
  • busirocket-core-conventions - File structure and boundaries

How to Use

Read individual rule files for detailed explanations and code examples:

rules/nextjs-thin-handler-rule.md
rules/nextjs-response-shapes.md
rules/nextjs-validation-boundaries.md

Each rule file contains:

  • Brief explanation of why it matters
  • Code examples (correct and incorrect patterns)
  • Additional context and best practices
Weekly Installs
7
First Seen
Jan 28, 2026
Installed on
mcpjam7
codebuddy7
kilo7
junie7
windsurf7
zencoder7