К основному содержанию
скилл Claude Code CX Codex Cursor

nextjs-app-router-patterns — скилл для Next.js: что делает

Помогает строить приложения на Next.js App Router: выбирать режим рендеринга, организовывать маршруты и получать данные. Подойдёт при миграции с Pages Router или работе с Server Components.

Установить в Claude Code · Через маркетплейс плагинов Все способы и платформы ↓
/plugin marketplace add wshobson/agents
/plugin install frontend-mobile-development@claude-code-workflows
Открыть на GitHub

Что делает nextjs-app-router-patterns

Скилл описывает Server и Client Components, статический и динамический рендеринг, потоковую загрузку и соглашения по файлам в app/. Также разбирает параллельные и перехватывающие маршруты, кеширование и Server Actions. Примеры охватывают загрузку данных через fetch и настройку корневого layout.

Подробные примеры вынесены в references/details.md. Начинать предлагается с Server Components, добавляя 'use client' только для интерактивности и браузерных API. Для медленных источников данных нужны границы Suspense и состояния загрузки. Ставьте скилл, если проект использует App Router; для проекта на другом фреймворке он не по адресу.

Какие задачи решает

  • перенести приложение с Pages Router на App Router
  • выбрать Server или Client Component для страницы
  • настроить потоковую загрузку медленных данных
  • организовать параллельные маршруты с отдельными состояниями загрузки
  • добавить мутации через Server Actions

Примеры запросов агенту

  • Перенеси этот раздел с Pages Router на App Router и предложи структуру файлов.
  • Проверь, какие компоненты здесь должны быть Server Components, а где нужен `'use client'`.
  • Настрой загрузку данных через `fetch` и добавь Suspense для медленного источника.

Как установить nextjs-app-router-patterns

1Через маркетплейс плагинов

/plugin marketplace add wshobson/agents
/plugin install frontend-mobile-development@claude-code-workflows

2Через Skills CLI (Vercel)

npx skills add wshobson/agents --skill nextjs-app-router-patterns -a claude-code

3Вручную: положить файлы

~/.claude/skills/nextjs-app-router-patterns/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/nextjs-app-router-patterns/

Похожие

prototype Matt Pocock Создаёт временный прототип, чтобы проверить логику, модель состояния или вид интерфейса до работы над основным кодом. Claude Code 986 201установок webapp-testing официальный anthropics Скилл запускает проверки локальных веб-приложений через Playwright: помогает отлаживать UI, делать скриншоты и смотреть логи браузера. Claude Code Claude.ai 186 758установок web-artifacts-builder официальный anthropics Скилл собирает сложные HTML-артефакты для claude.ai на React, Tailwind CSS и shadcn/ui. Подходит для интерфейсов с состоянием и маршрутизацией. Claude Code Claude.ai 112 122установок theme-factory официальный anthropics Применяет готовые цветовые палитры и пары шрифтов к слайдам, документам и HTML-страницам. Подходит, когда материалу нужен единый стиль. Claude Code Claude.ai 94 921установок algorithmic-art официальный anthropics Создаёт генеративное искусство на p5.js с seed-случайностью и настройкой параметров. Подходит для flow fields, частиц и кодовых арт-экспериментов. Claude Code Claude.ai 89 081установок chrome-devtools официальный github Управляет живым Chrome через Chrome DevTools MCP: открывает страницы, проверяет ошибки и пишет трассы производительности. Нужен для отладки интерфейса прямо из агента. GitHub Copilot 15 258установок

Вопросы о nextjs-app-router-patterns

Как установить nextjs-app-router-patterns в Claude Code?

Выполните npx skills add wshobson/agents --skill nextjs-app-router-patterns -a claude-code.

Что делает nextjs-app-router-patterns?

Подсказывает, как строить приложения на Next.js App Router: работать с компонентами, маршрутами, рендерингом, загрузкой данных и Server Actions.

Можно ли использовать скилл при миграции с Pages Router?

Да. Среди описанных сценариев есть переход с Pages Router на App Router.

Исходный текст

SKILL.md · MIT
---
name: nextjs-app-router-patterns
description: Master Next.js 14+ App Router with Server Components, streaming, parallel routes, and advanced data fetching. Use when building Next.js applications, implementing SSR/SSG, or optimizing React Server Components.
---

# Next.js App Router Patterns

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

## When to Use This Skill

- Building new Next.js applications with App Router
- Migrating from Pages Router to App Router
- Implementing Server Components and streaming
- Setting up parallel and intercepting routes
- Optimizing data fetching and caching
- Building full-stack features with Server Actions

## Core Concepts

### 1. Rendering Modes

| Mode                  | Where        | When to Use                               |
| --------------------- | ------------ | ----------------------------------------- |
| **Server Components** | Server only  | Data fetching, heavy computation, secrets |
| **Client Components** | Browser      | Interactivity, hooks, browser APIs        |
| **Static**            | Build time   | Content that rarely changes               |
| **Dynamic**           | Request time | Personalized or real-time data            |
| **Streaming**         | Progressive  | Large pages, slow data sources            |

### 2. File Conventions

```
app/
├── layout.tsx       # Shared UI wrapper
├── page.tsx         # Route UI
├── loading.tsx      # Loading UI (Suspense)
├── error.tsx        # Error boundary
├── not-found.tsx    # 404 UI
├── route.ts         # API endpoint
├── template.tsx     # Re-mounted layout
├── default.tsx      # Parallel route fallback
└── opengraph-image.tsx  # OG image generation
```

## Quick Start

```typescript
// app/layout.tsx
import { Inter } from 'next/font/google'
import { Providers } from './providers'

const inter = Inter({ subsets: ['latin'] })

export const metadata = {
  title: { default: 'My App', template: '%s | My App' },
  description: 'Built with Next.js App Router',
}

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en" suppressHydrationWarning>
      <body className={inter.className}>
        <Providers>{children}</Providers>
      </body>
    </html>
  )
}

// app/page.tsx - Server Component by default
async function getProducts() {
  const res = await fetch('https://api.example.com/products', {
    next: { revalidate: 3600 }, // ISR: revalidate every hour
  })
  return res.json()
}

export default async function HomePage() {
  const products = await getProducts()

  return (
    <main>
      <h1>Products</h1>
      <ProductGrid products={products} />
    </main>
  )
}
```

## Detailed patterns and worked examples

Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient.

## Best Practices

### Do's

- **Start with Server Components** - Add 'use client' only when needed
- **Colocate data fetching** - Fetch data where it's used
- **Use Suspense boundaries** - Enable streaming for slow data
- **Leverage parallel routes** - Independent loading states
- **Use Server Actions** - For mutations with progressive enhancement

### Don'ts

- **Don't pass serializable data** - Server → Client boundary limitations
- **Don't use hooks in Server Components** - No useState, useEffect
- **Don't fetch in Client Components** - Use Server Components or React Query
- **Don't over-nest layouts** - Each layout adds to the component tree
- **Don't ignore loading states** - Always provide loading.tsx or Suspense

© Seth Hobson · MIT · wshobson/agents

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой