Back to portfolio
Claude AI Skillv1.2.0 · Next.js 15.3 · May 2026

Next.js apps
that don't rot.

A Claude AI skill that turns Claude into a senior Next.js engineer with strong opinions. It enforces architectural consistency from day one — preventing drift, duplication, and rot that accumulates when AI-generated code has no memory of your conventions.

18
Design Systems
3
Skill Modes
17
Reference Files
839K+
Configurations
Installation

Three ways to use the skill.

Pick whichever fits your workflow. All three end up with the same intelligence available in your Claude session.

Claude Code
CLI · Recommended

Clone into your Claude skills directory. The skill becomes a slash command available in any project.

# clone into skills directory
git clone https://github.com/sonimanish180/nextjs-skill ~/.claude/skills/nextjs-skill
# use in any project
/nextjs-skill build me a SaaS dashboard
Works in any terminal session
Slash command auto-complete
Reads your project files directly
Cowork
Desktop App

Install directly from a local folder. The skill auto-activates when you describe a Next.js task.

# step 1 — clone the repo
git clone https://github.com/sonimanish180/nextjs-skill
  1. 1Open Cowork → Plugins
  2. 2Click "Install from folder"
  3. 3Point to the cloned directory
  4. 4Skill appears in your skill list
Auto-triggers on Next.js tasks
Works with mounted workspace folders
Manual
Any Claude interface

Copy the contents of SKILL.md from the repo and paste it at the start of any Claude conversation. No install required.

works in
claude.ai (web)
Claude desktop app
Claude API / system prompt
Any Claude-powered product
github.com/sonimanish180/nextjs-skill
SKILL.md · 17 reference files · MIT License · v1.2.0
Why It Exists

Vanilla AI produces code that rots.

Without an enforced convention system, every AI-generated session drifts. The 10th screen doesn't look like the 1st.

Mixes App Router and Pages Router

App Router only. Pages Router is in slow deprecation — enforced from file one.

Duplicates components across sessions

Registry check mandatory before creating any component. Extend, don't duplicate.

Ignores i18n until it's expensive to retrofit

next-intl wired from day one, even for single-language apps.

No concept of a living spec

.claude/spec.md is created at Bootstrap and updated after every Build session.

Client state and server state get muddled

TanStack Query owns server/async state. Zustand owns client-only global state. No overlap.

Icons imported from anywhere, inconsistently

All icons go through src/icons/index.ts barrel. Direct lucide imports are banned.

How It Works

Three modes, one consistent codebase.

The skill detects context and switches modes automatically. You never need to explain your project from scratch.

Bootstrap
Trigger: "Build me X"

You have a product brief. The skill runs a 3-question intake, generates a living spec, then scaffolds a full project in one shot — compiles clean, zero TypeScript errors, deploys on first push.

  • Full src/ folder structure per architecture.md
  • Design system tokens + Tailwind config
  • ESLint, Prettier, Husky v9, GitHub Actions CI
  • Vitest + Playwright test scaffolding
  • shadcn/ui components + icon barrel
Build
Trigger: Project exists, add a feature

The skill reads your spec and existing component registry before writing a single line. It checks for reusable components, extends them rather than duplicating, then updates the spec after.

  • Registry check before any new component
  • Reads .claude/spec.md first
  • Correct folder placement per architecture.md
  • All forms via react-hook-form + zod
  • All data fetching via TanStack Query
Audit
Trigger: "Review" / "Audit"

Six quality gates that check TypeScript cleanliness, lint errors, dark mode consistency, registry violations, spec coverage, and Lighthouse readiness. Findings ranked by severity.

  • Gate 1: tsc --noEmit — zero errors
  • Gate 2: ESLint — zero errors
  • Gate 3: Light + dark mode visual check
  • Gate 4: Registry violations (duplicate components)
  • Gate 5: Spec coverage — every screen exists
  • Gate 6: Lighthouse readiness check
The Stack

Non-negotiable. No configuration.

Fixed for v1. This is the promise — every project scaffolded by this skill uses the same stack, forever. No drift between sessions.

LayerChoice
FrameworkNext.js 15 (App Router)
LanguageTypeScript 5 (strict)
StylingTailwind CSS 3 + shadcn/ui
Data fetchingTanStack Query 5
Client stateZustand 5
Formsreact-hook-form 7 + zod 3
i18nnext-intl 3
IconsLucide React (barrel only)
LintingESLint flat config
FormattingPrettier + tailwind plugin
Git hooksHusky v9 + lint-staged
CIGitHub Actions (Node 22)
TestingVitest 2 + Playwright 1.45
Developer Benefits

What you actually get.

Concrete outcomes for developers building production products — not marketing copy.

Architectural consistency at scale

The registry concept prevents component duplication. The 20th screen follows the same patterns as the 1st — because the skill checks what exists before creating anything new.

A spec that updates itself

.claude/spec.md is generated at Bootstrap and updated after every Build session. Audit mode uses it to detect drift between what the spec says and what the code actually does.

DX tooling, always

ESLint flat config, Prettier with Tailwind plugin, Husky v9 pre-commit hooks, and a 5-job GitHub Actions CI pipeline are included in every Bootstrap — never optional, never forgotten.

Tests scaffolded from the start

Vitest config, Testing Library setup, unit tests for the cn utility, component render tests, Playwright config, and two E2E specs are included in every Bootstrap. You ship with a green test suite.

i18n from day one

next-intl 3 is wired in every project — even single-language apps. Retrofitting i18n after launch is one of the most expensive refactors a Next.js codebase can face.

Security boundary enforced

The skill never reads .env files, secret directories, or key files. It announces what it plans to scan before scanning. If a file might contain secrets, it asks first.

React 19 + React Compiler

Targets React 19 with React Compiler enabled. This means memo and useMemo are handled automatically — generated code doesn't pepper manual optimization calls everywhere.

CI that runs on first push

The .github/workflows/ci.yml generated in Bootstrap runs 5 parallel jobs on every push. You don't wire up CI after the fact — it ships with the scaffold and runs immediately.

Migration path for existing projects

First contact with an existing project that wasn't scaffolded by the skill triggers Migration submode — a structured path to bring your conventions in line without a full rewrite.

Design Systems

18 systems. Pick one per project.

Each system has a unique border-radius scale, background texture, and typography treatment. Not just a color swap.

Dark / Cinematic (Veil-family — runtime switchable)

Veil

Cinematic dark — teal/amber, midnight navy, radial glow

Aurora

Glassmorphism — frosted panels, backdrop-filter

Carbon

Terminal grid — cyan, sharp edges, 56px grid overlay

Clay

Organic warmth — terracotta, grain texture

Pulse

High energy — coral, diagonal stripe background

Obsidian

Void aesthetic — lime accent, sub-pixel grid

Neobrutalism

Raw energy — 0px radius, 5px offset shadows

Neon Noir

Cyberpunk — pink grid, glow text-shadow on headings

Synthwave

Retrofuture — CRT scan lines, neon pink/cyan glow

Light / Pastel

Pastel

Soft light — lavender primary, pink accent

Cotton

Airy light — sky blue, mint accent

Blush

Warm light — rose primary, peach accent

Retro / Terminal

Pixel

Retro green terminal — pure pixel aesthetic

DOS

Amber terminal — classic command-line look

Arcade

Dark neon — yellow primary, deep blue-black

Cyberpunk / Acid

Cyberpunk

Hot pink + purple — neon dystopia

Acid

Lime green + magenta — maximum contrast

Glitch

Red + cyan — chromatic aberration aesthetic

Non-portfolio / Standalone

Slate Pro

Enterprise SaaS — dense, blue, authoritative

Carbon Dark

Dev & analytics — dark-first, violet, monospace

Ivory Clean

Premium light — spacious, warm, editorial

Portfolio Mode

6 sections × 6 variants = 839,808 configurations.

For portfolio and showcase sites, the skill includes a runtime layout-switching system. Each section has 6 layout variants, switchable live without a page reload.

6
Portfolio sections
6
Layout variants each
36
Total components
46,656
Page permutations
Hero
cinematicsplitterminalminimalgridglass
About
editorialbentocompactstoryflipcardsresume
Skills
cloudgridshowcasebarsradarmastery
Experience
cardstimelinecompactmagazinekanbantable
Projects
featuredcarouselspotlightpgridlistmasonry
Contact
luxurycenteredsplitminimalcardcli

Combined with 18 design systems: 839,808 possible portfolio configurations. Every combination renders without a page reload, powered by a Zustand-backed floating ⊞ Layout panel.

Who It's For

Solo devs and small teams building real products.

The skill is optimized for developers who own the entire stack and don't want to maintain a separate style guide.

In scope
  • B2B SaaS products
  • Internal tools & admin panels
  • Developer tools & dashboards
  • Portfolio & showcase sites
  • Marketing & landing pages
  • Consumer apps (web)
Not a fit for
  • Mobile-only apps (React Native / Flutter)
  • Static sites with zero interactivity — use Astro
  • Full games or WebGL-heavy 3D — use Three.js directly
  • Projects requiring Pages Router
DX Tooling

Every scaffold ships with production-grade tooling.

None of this is optional. None of it requires a separate setup step. It's all generated in Bootstrap mode.

ESLint flat config
  • next/core-web-vitals
  • next/typescript rules
  • Custom rule overrides
Prettier
  • prettier-plugin-tailwindcss
  • No semis, single quotes
  • 100-char line width
Husky v9
  • Pre-commit: lint-staged
  • Pre-commit: tsc --noEmit
  • Pre-commit: next build
GitHub Actions CI
  • 5 parallel jobs (Node 22)
  • Lint · Format · Typecheck
  • Build · Unit tests
This portfolio was built with the Next.js Skill

See it in action.

Every section on this portfolio — the variant switcher, the design systems, the 3D components, the optimistic UI interactions — was scaffolded and extended using this skill.

Manish Soni — Lead Software Engineer