Skip to content
Back to skills

Nextjs Patterns

ASecurity

Comprehensive Next.js development patterns for App Router, Server Components, TypeScript, and Tailwind CSS. Covers foundational principles, data fetching, routing, performance, and an 8-phase development workflow. Also includes Server Actions and Metadata patterns.

  • 71 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
developmenttypescriptbashreactnextjsnodetestingapifrontendperformance

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add tranhieutt/software_development_department --skill nextjs-patterns --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nextjs Patterns?

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

Security grade badge for Nextjs Patterns
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tranhieutt-nextjs-patterns/badge)](https://www.skillsdirectory.com/skills/tranhieutt-nextjs-patterns)

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
---
name: nextjs-patterns
type: reference
description: "Comprehensive Next.js development patterns for App Router, Server Components, TypeScript, and Tailwind CSS. Covers foundational principles, data fetching, routing, performance, and an 8-phase development workflow. Also includes Server Actions and Metadata patterns."
paths: ["**/*.tsx", "**/*.jsx", "**/next.config.*", "**/app/**/*.ts", "**/tailwind.config.*"]
when_to_use: "Building or optimizing Next.js 14+ / 15+ applications with App Router, Server Components, streaming, or Server Actions."
allowed-tools: Read, Glob, Grep, Write, Edit, Bash
user-invocable: true
effort: 3
---

# Next.js Development Patterns

Comprehensive patterns and best practices for Next.js 14+ / 15+ App Router architecture, Server Components, and modern full-stack React development.

---

## 1. Foundational Principles

### Server vs Client Components
- **Server (Default):** Use for data fetching, layouts, and static content.
- **Client ('use client'):** Use for interactivity (useState, useEffect), event handlers, and browser-only APIs.
- **Decision Rule:** Stay on the server as long as possible. Split components so the interactive "leaf nodes" are client-side while the data-heavy "branch nodes" remain on the server.

### Routing & Organization
- **App Router:** Use the `app/` directory for file-based routing.
- **Route Groups:** `(group-name)` for organization without affecting URL structure.
- **Special Files:** `page.tsx`, `layout.tsx`, `loading.tsx`, `error.tsx`, `not-found.tsx`.
- **Advanced Routing:** Parallel routes (`@slot`) and Intercepting routes (`(.)`).

---

## 2. Data Fetching & Caching

### Strategy Matrix
| Pattern | Use Case | Implementation |
|---------|----------|----------------|
| **Static** | Blog posts, marketing | Cached at build time |
| **ISR** | Products, news | `revalidate: 60` |
| **Dynamic** | User dashboards, search | `no-store` or `force-dynamic` |

### Patterns
- **Server Fetching:** Fetch data directly in Server Components using `async/await`.
- **Streaming:** Use `Suspense` and `loading.tsx` to stream UI to the client.
- **Server Actions:** Perform mutations with `use server` functions. Validate with Zod.

---

## 3. 8-Phase Development Workflow

### Phase 1: Project Setup
Scaffold with `@app-builder`, configure TypeScript, and set up ESLint/Prettier.

### Phase 2: Component Architecture
Design hierarchy and implement base layout components using `@frontend-developer` and `@react-patterns`.

### Phase 3: Styling & Design
Configure Tailwind CSS v4 and design tokens using `@tailwind-patterns` and `@frontend-design`.

### Phase 4: Data Fetching
Implement Server Component data fetching and set up React Query/SWR if client-side fetching is needed.

### Phase 5: Routing & Navigation
Set up file-based routing, dynamic routes, and handle redirects/guards.

### Phase 6: Forms & Validation
Use React Hook Form and Zod for robust, type-safe data entry.

### Phase 7: Testing
Write unit/integration tests with Vitest and E2E flows with `@playwright-skill`.

### Phase 8: Optimization & Deploy
Analyze bundle size, optimize images with `next/image`, and deploy to Vercel/similar.

---

## 4. Performance & Metadata

- **Images:** Always use `next/image`. Set `priority` for LCP elements.
- **Dynamic Imports:** Use for heavy client-side libraries.
- **Metadata API:** Use `generateMetadata` for dynamic SEO tags per route.

---

## Resources & Anti-Patterns

- **implementation-playbook.md:** Detailed code examples for every pattern.
- **Anti-Pattern:** Using `'use client'` at the top level of every file.
- **Anti-Pattern:** Fetching data inside `useEffect` for information available on first load.

> **Guidance:** If you need deeper walkthroughs, refer to the `resources/` folder within this skill.

Files in this skill

  • SKILL.md3.7 KB
  • resources/implementation-playbook.md13 KB

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.