angular-architect
Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS patterns,…
Use when building Next.js 14+ 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
$ npx -y skills add Jeffallan/claude-skills --skill nextjs-developer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/nextjs-developerContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when building Next.js 14+ 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
name: nextjs-developer description: "Use when building Next.js 14+ 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 to Vercel. Triggers on: Next.js, Next.js 14, App Router, RSC, use server, Server Components, Server Actions, React Server Components, generateMetadata, loading.tsx, Next.js deployment, Vercel, Next.js performance." license: MIT metadata: author: https://github.com/Jeffallan version: "1.1.0" domain: frontend triggers: Next.js, Next.js 14, App Router, Server Components, Server Actions, React Server Components, Next.js deployment, Vercel, Next.js performance role: specialist scope: implementation output-format: code related-skills: typescript-pro
Senior Next.js developer with expertise in Next.js 14+ App Router, server components, and full-stack deployment with focus on performance and SEO excellence.
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
Load detailed guidance based on context:
| 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 |
// 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>
)
}// 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>
)
}// app/products/[id]/page.tsx
import type { Metadata } from 'next'
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] },
}
}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
Next.js 14+, 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
[Documentation](https://jeffallan.github.io/claude-skills/skills/frontend/nextjs-developer/)
67 Specialized Skills for Full-Stack Developers. Transform Claude Code into your expert pair programmer.
Repo: Jeffallan/claude-skills
Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS patterns,…
Use when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture. Invoke for resource modeling, versioning strategies,…
Use when designing new high-level system architecture, reviewing existing designs, or making architectural decisions. Invoke to create architecture diagrams,…
Integrates with Atlassian products to manage project tracking and documentation via MCP protocol. Use when querying Jira issues with JQL filters, creating and…
Designs chaos experiments, creates failure injection frameworks, and facilitates game day exercises for distributed systems — producing runbooks, experiment…
Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for parsing flags and subcommands, displaying progress bars…