Files
librefang-registry/skills/nextjs-expert/SKILL.md
T
Evan b567db71ba feat(skills): restore 60 bundled skills (#42)
* feat(skills): restore ansible skill

* feat(skills): restore api-tester skill

* feat(skills): restore aws skill

* feat(skills): restore azure skill

* feat(skills): restore ci-cd skill

* feat(skills): restore code-reviewer skill

* feat(skills): restore compliance skill

* feat(skills): restore confluence skill

* feat(skills): restore crypto-expert skill

* feat(skills): restore css-expert skill

* feat(skills): restore data-analyst skill

* feat(skills): restore data-pipeline skill

* feat(skills): restore docker skill

* feat(skills): restore elasticsearch skill

* feat(skills): restore email-writer skill

* feat(skills): restore figma-expert skill

* feat(skills): restore gcp skill

* feat(skills): restore git-expert skill

* feat(skills): restore github skill

* feat(skills): restore golang-expert skill

* feat(skills): restore graphql-expert skill

* feat(skills): restore helm skill

* feat(skills): restore interview-prep skill

* feat(skills): restore jira skill

* feat(skills): restore kubernetes skill

* feat(skills): restore linear-tools skill

* feat(skills): restore linux-networking skill

* feat(skills): restore llm-finetuning skill

* feat(skills): restore ml-engineer skill

* feat(skills): restore mongodb skill

* feat(skills): restore nextjs-expert skill

* feat(skills): restore nginx skill

* feat(skills): restore notion skill

* feat(skills): restore oauth-expert skill

* feat(skills): restore openapi-expert skill

* feat(skills): restore pdf-reader skill

* feat(skills): restore postgres-expert skill

* feat(skills): restore presentation skill

* feat(skills): restore project-manager skill

* feat(skills): restore prometheus skill

* feat(skills): restore prompt-engineer skill

* feat(skills): restore python-expert skill

* feat(skills): restore react-expert skill

* feat(skills): restore redis-expert skill

* feat(skills): restore regex-expert skill

* feat(skills): restore rust-expert skill

* feat(skills): restore security-audit skill

* feat(skills): restore sentry skill

* feat(skills): restore shell-scripting skill

* feat(skills): restore slack-tools skill

* feat(skills): restore sql-analyst skill

* feat(skills): restore sqlite-expert skill

* feat(skills): restore sysadmin skill

* feat(skills): restore technical-writer skill

* feat(skills): restore terraform skill

* feat(skills): restore typescript-expert skill

* feat(skills): restore vector-db skill

* feat(skills): restore wasm-expert skill

* feat(skills): restore web-search skill

* feat(skills): restore writing-coach skill
2026-04-08 15:18:53 +08:00

3.2 KiB

name, description
name description
nextjs-expert Next.js expert for App Router, SSR/SSG, API routes, middleware, and deployment

Next.js Expert

A seasoned Next.js architect with deep expertise in the App Router paradigm, server-side rendering strategies, and production deployment patterns. This skill provides guidance on building performant, SEO-friendly web applications using Next.js 14+ conventions, including Server Components, Streaming, and the full spectrum of data fetching and caching mechanisms.

Key Principles

  • Prefer Server Components by default; only add "use client" when the component requires browser APIs, event handlers, or React state
  • Leverage the app/ directory structure where each folder segment maps to a URL route, using layout.tsx for shared UI and page.tsx for unique content
  • Design data fetching at the server layer using async Server Components and fetch with Next.js caching semantics
  • Use generateStaticParams for static pre-rendering of dynamic routes at build time, falling back to on-demand ISR for long-tail pages
  • Keep client bundles small by pushing logic into Server Components and using dynamic imports for heavy client-only libraries

Techniques

  • Structure routes with app/[segment]/page.tsx, using route groups (parentheses) to organize without affecting URL paths
  • Implement loading.tsx and error.tsx boundaries at each route segment to provide instant loading states and graceful error recovery
  • Use Route Handlers (app/api/.../route.ts) with exported GET, POST, PUT, DELETE functions for API endpoints
  • Configure middleware in middleware.ts at the project root with a matcher config to intercept requests for auth, redirects, or header injection
  • Optimize images with next/image (automatic srcSet, lazy loading, AVIF/WebP) and fonts with next/font (zero layout shift, self-hosted subsets)
  • Enable ISR by returning revalidate values from fetch calls or using revalidatePath/revalidateTag for on-demand cache invalidation
  • Set up next.config.js with redirects, rewrites, headers, and the experimental options appropriate to your deployment target

Common Patterns

  • Parallel Routes: Use @named slots in layouts to render multiple page-level components simultaneously, enabling dashboards and split views
  • Intercepting Routes: Place (..) convention routes to show modals on navigation while preserving the direct URL as a full page
  • Server Actions: Define async functions with "use server" for form submissions and mutations without building separate API routes
  • Streaming with Suspense: Wrap slow data-fetching components in Suspense boundaries to stream HTML progressively and improve TTFB

Pitfalls to Avoid

  • Do not use useEffect for data fetching in Server Components; fetch directly in the component body or use server-side utilities
  • Do not place "use client" at the layout level unless every child truly requires client interactivity, as this opts out the entire subtree from server rendering
  • Do not confuse the Pages Router (pages/ directory) patterns with App Router conventions; they have different data fetching and routing models
  • Do not skip setting proper cache headers and revalidation times, as stale data and unnecessary re-renders degrade both performance and user experience