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.
- Autor
- ivklgn ↗
- Repozytorium
- bag-of-skills ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 27.09.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 7
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 1
Brak sygnałów. Repozytorium zmienione 27.09.2026, bez odwołań do wycofanych modeli i API.
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
- Step 0: Detect the Project Setup
- Core Workflow
- Reference Guide
- Constraints
- Code Examples
- Output Templates
- Knowledge Reference
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
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · ivklgn/bag-of-skills | 100 | MIT |
| Jeffallan/claude-skills | 100 | MIT |
| agentic-swe/agentic-swe | 100 | MIT |
| nasac0x/code-orchestrator | 100 | MIT |
| joogy06/agent-foundry | 100 | MIT |
| sleestk/skills-pipeline | 91 | MIT |
| zebbern/claude-code-guide | 90 | MIT |
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.