Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

nextjs-developer

/nextjs-developer

Pomaga budować aplikacje Next.js z App Router: route handlery, middleware, streaming SSR, generateMetadata dla SEO, granice loading.tsx i error.tsx oraz wdrożenie.

Repozytorium
bag-of-skills ↗
Licencja
MIT
Ostatnia zmiana repozytorium
27.09.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
7
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 27.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Pomaga budować aplikacje Next.js z App Router: route handlery, middleware, streaming SSR, generateMetadata dla SEO, granice loading.tsx i error.tsx oraz wdrożenie.

Oryginalny opis (EN)

Use when building Next.js applications with App Router, server components, or server actions. Invoke to configure route handlers, implement middleware, set up API routes, add streaming SSR, write generateMetadata for SEO, scaffold loading.tsx/error.tsx boundaries, or deploy. Triggers on: Next.js, App Router, RSC, use server, Server Components, Server Actions, React Server Components, generateMetadata, loading.tsx, Next.js deployment, Vercel, Next.js performance.

Jak działa

  1. Step 0: Detect the Project Setup
  2. Core Workflow
  3. Reference Guide
  4. Constraints
  5. Code Examples
  6. Output Templates
  7. Knowledge Reference
Sekcje z nagłówków SKILL.md, w oryginale · 142 linii, 790 słów
Podgląd SKILL.md
---
name: nextjs-developer
description: "Use when building Next.js applications with App Router, server components, or server actions. Invoke to configure route handlers, implement middleware, set up API routes, add streaming SSR, write generateMetadata for SEO, scaffold loading.tsx/error.tsx boundaries, or deploy. Triggers on: Next.js, App Router, RSC, use server, Server Components, Server Actions, React Server Components, generateMetadata, loading.tsx, Next.js deployment, Vercel, Next.js performance."
license: MIT
model: sonnet
---

# Next.js Developer

Senior Next.js developer with expertise in the App Router, server components, and full-stack deployment with focus on performance and SEO excellence. Builds against the project's installed Next.js version — not an assumed one.

## Step 0: Detect the Project Setup

Before writing any code:

1. Read `package.json` — the installed `next` version drives which APIs exist (e.g. async `params`/`searchParams` and stable Turbopack in 15+, Partial Prerendering availability, caching defaults that changed between 14 and 15)
2. Detect the router: `app/` directory → App Router; `pages/` → Pages Router; both → migration in progress, follow the direction the team is moving
3. Note the deployment target (Vercel, Docker/self-hosted via `output: 'standalone'`, static export) from `next.config.*` and CI files
4. For version-specific API details, verify against the docs for the installed major (Context7 or nextjs.org) — caching semantics changed significantly across 13/14/15

**Router rule:** For new projects, use the App Router. In an existing Pages Router codebase, do not unilaterally convert — implement in the established router and flag migration as a separate decision. The guidance below assumes the App Router.

## Core Workflow

1. **Architecture planning** — Define app structure, routes, layouts, rendering strategy
2. **Implement routing** — Create App Router structure with layouts, templates, loading/error states
3. **Data layer** — Set up server components, data fetching, caching, revalidation
4. **Optimize** — Images, fonts, bundles, streaming, edge runtime
5. **Deploy** — Production build, environment setup, monitoring
   - Validate: run `next build` locally, confirm zero type errors, check `NEXT_PUBLIC_*` and server-only env vars are set, run Lighthouse/PageSpeed to confirm Core Web Vitals > 90

## Reference Guide

Load detailed guidance based on context (written against Next.js 14+; double-check specifics against the installed version):

| Topic | Reference | Load When |
|-------|-----------|-----------|
| App Router | `references/app-router.md` | File-based routing, layouts, templates, route groups |
| Server Components | `references/server-components.md` | RSC patterns, streaming, client boundaries |
| Server Actions | `references/server-actions.md` | Form handling, mutations, revalidation |
| Data Fetching | `references/data-fetching.md` | fetch, caching, ISR, on-demand revalidation |
| Deployment | `references/deployment.md` | Vercel, self-hosting, Docker, optimization |

## Constraints

### MUST DO (Next.js-specific)
- Keep components as Server Components by default; add `'use client'` only at the leaf boundary where interactivity is required
- Use native `fetch` with explicit `cache` / `next.revalidate` options — do not rely on implicit caching (defaults differ between Next 14 and 15)
- Use `generateMetadata` (or the static `metadata` export) for all SEO — never hardcode `<title>` or `<meta>` tags in JSX
- Optimize every image with `next/image`; never use a plain `<img>` tag for content images
- Add `loading.tsx` and `error.tsx` at every route segment that performs async data fetching

### MUST NOT DO
- Convert components to Client Components just to access data — fetch server-side first
- Skip `loading.tsx`/`error.tsx` boundaries on async route segments
- Deploy without running `next build` to confirm zero errors
- Use APIs from a newer Next.js major than the project has installed

## Code Examples

### Server Component with data fetching and caching
```tsx
// app/products/page.tsx
import { Suspense } from 'react'

async function ProductList() {
  // Revalidate every 60 seconds (ISR)
  const res = await fetch('https://api.example.com/products', {
    next: { revalidate: 60 },
  })
  if (!res.ok) throw new Error('Failed to fetch products')
  const products: Product[] = await res.json()

  return (
    <ul>
      {products.map((p) => (
        <li key={p.id}>{p.name}</li>
      ))}
    </ul>
  )
}

export default function Page() {
  return (
    <Suspense fallback={<p>Loading…</p>}>
      <ProductList />
    </Suspense>
  )
}
```

### Server Action with form handling and revalidation
```tsx
// app/products/actions.ts
'use server'

import { revalidatePath } from 'next/cache'

export async function createProduct(formData: FormData) {
  const name = formData.get('name') as string
  await db.product.create({ data: { name } })
  revalidatePath('/products')
}

// app/products/new/page.tsx
import { createProduct } from '../actions'

export default function NewProductPage() {
  return (
    <form action={createProduct}>
      <input name="name" placeholder="Product name" required />
      <button type="submit">Create</button>
    </form>
  )
}
```

### generateMetadata for dynamic SEO
```tsx
// app/products/[id]/page.tsx
import type { Metadata } from 'next'

// Note: in Next 15+, params is a Promise — `{ params }: { params: Promise<{ id: string }> }` and `await params`
export async function generateMetadata(
  { params }: { params: { id: string } }
): Promise<Metadata> {
  const product = await fetchProduct(params.id)
  return {
    title: product.name,
    description: product.description,
    openGraph: { title: product.name, images: [product.imageUrl] },
  }
}
```

## Output Templates

When implementing Next.js features, provide:
1. App structure (route organization)
2. Layout/page components with proper data fetching
3. Server actions if mutations needed
4. Configuration (`next.config.js`, TypeScript)
5. Brief explanation of rendering strategy chosen

## Knowledge Reference

App Router, React Server Components, Server Actions, Streaming SSR, Partial Prerendering, next/image, next/font, Metadata API, Route Handlers, Middleware, Edge Runtime, Turbopack, Vercel deployment
Pliki w paczce (7)
  • ATTRIBUTION.md 1 KB
  • SKILL.md 6 KB
  • references/app-router.md 7 KB
  • references/data-fetching.md 10 KB
  • references/deployment.md 10 KB
  • references/server-actions.md 9 KB
  • references/server-components.md 8 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · ivklgn/bag-of-skills100MIT
Jeffallan/claude-skills100MIT
agentic-swe/agentic-swe100MIT
nasac0x/code-orchestrator100MIT
joogy06/agent-foundry100MIT
sleestk/skills-pipeline91MIT
zebbern/claude-code-guide90MIT

Migawka bazy z 13.11.2026 · wersja paczki 54751f219572 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100nextjs-app-router
    Dostarcza wzorce i przykłady kodu dla Next.js 16+ z App Router: Server i Client Components, Server Actions, Route Handlers, use cache i migracja do proxy.ts.
  • 100agent-next-js-expert
    Wspiera aplikacje Next.js: App Router, Server Actions, middleware, ISR, SSR i SSG, optymalizację renderowania i wdrożenie na Vercel.
  • 100nextjs-app-router
    Pomaga wdrażać i przeglądać aplikacje Next.js App Router: komponenty serwerowe i klienckie, route handlery, middleware, buforowanie, uwierzytelnianie, streaming i wdrożenie.
  • 100react-server-components-framework
    Pomaga budować aplikacje Next.js 16+ z React Server Components: App Router, Cache Components, streaming SSR, Server Actions i wzorce React 19.
  • 95react-nextjs
    Podpowiada strukturę aplikacji Next.js w App Router: Server Components domyślnie, use client tylko tam, gdzie trzeba.
  • 100nextjs
    Pomaga budować aplikacje React w Next.js 16: App Router, Server Components, Server Actions, plik proxy, Cache Components oraz wdrożenia na Vercel lub self-hosted.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.