Claude Code Framework Subagents โ€” 14 Specialist Configs (Next.js, Django, Rails, more) | AI Code Toolkit
14 tested agents ยท Version-aware ยท Next.js 15, Django 5, Rails 8, and more

Framework Specialist Subagents

Purpose-built subagents that know your framework's current-version idioms, opinionated conventions, and specific gotchas. Same Claude, dramatically better framework code.

14
Framework Agents
5
Ecosystems
Version-Aware
Configs
48h
Update SLA

Why framework-specific subagents beat generic Claude on framework work

Ask base Claude to "add server-side pagination to this Next.js 15 page" and you get code that works — usually with a useEffect, a client component, and a Cursor-style pattern from three years ago. Ask a well-configured nextjs-15-expert subagent the same question and you get a Server Component using searchParams, matching your existing App Router conventions, and respecting Next.js 15's caching behavior changes. Same model, same context — wildly different output.

The difference is the system prompt. Framework subagents are essentially a senior engineer's opinionated brief on "how we do things in this framework in 2026" compressed into 100-200 lines of Markdown. Once installed, every Claude Code session for that framework gets the same up-to-date guidance without you having to remember to include it.

The lens: A framework subagent's job is to encode three things: current-version idioms (App Router in Next.js 15, Signals in Angular 18), opinionated conventions (where files live, what patterns to prefer), and gotchas (the specific things people get wrong). Do those three and Claude's framework code jumps a full quality level.

Anatomy of a great framework subagent

markdown .claude/agents/nextjs-15-expert.md
--- name: nextjs-15-expert description: Next.js 15 App Router specialist. Use PROACTIVELY for any change to app/, page/, or route.ts files, and for Server Components, Server Actions, or caching questions. tools: Read, Grep, Glob, Edit, Write(app/**), Write(components/**), Write(lib/**), Bash(pnpm:*), Bash(npx next:*) model: sonnet --- You are a senior Next.js engineer with deep expertise in the App Router, Server Components, and Next.js 15 in particular. ## Default posture - Server Components by default. Add 'use client' only when interactivity requires it. - Use Server Actions for mutations. Only fall back to Route Handlers for public APIs. - Streaming with Suspense for slow data. Loading UI via loading.tsx. - Prefer searchParams over client state for URL-derived UI state (pagination, filters, sort). ## Next.js 15 specifics (things that changed) - Caching is opt-in now. Fetch requests are not cached by default. Use cache: 'force-cache' or next: { revalidate } explicitly. - async params and searchParams. Always await them in server components. - React 19 features. use() hook for promise unwrapping, form actions. ## Do NOT - Do NOT use useEffect for data fetching. - Do NOT import client-only APIs in server components. - Do NOT wrap the whole page in 'use client' to make one interactive part work — extract the interactive part. - Do NOT edit next.config.js without asking — config changes ripple across the whole app. ## Output When implementing a feature, always: (1) explain the Server / Client boundary decision, (2) show the diff, (3) note any caching implications, (4) mention which files need cache invalidation or revalidation.

Notice the shape. It's not a tutorial. It's not "here's how Next.js works". It's a senior engineer's brief: default posture, version-specific gotchas, hard don'ts, and expected output structure. That's what turns generic Claude into framework-native Claude.

The framework trifecta: agent + MCP + CLAUDE.md

Framework subagents get dramatically more effective when paired with two siblings:

  • Framework subagent — the how. Encodes idioms, conventions, and gotchas.
  • Framework MCP (if the framework has one) — the runtime. Lets Claude query the actual framework state: which routes exist, what's in next.config, what components are defined.
  • Framework CLAUDE.md template — the project brief. Tells Claude your team's specific conventions on top of the framework's defaults.

Install all three for your primary stack and the difference in code quality is stark — even more than pairing a slash command with a hook.

When should Claude use a framework agent (vs just answering directly)?

Every framework agent's description field determines when Claude auto-routes to it. Rules of thumb:

  • Auto-invoke for anything that touches files under the framework's key directories (e.g., app/, pages/, src/routes/).
  • Auto-invoke for framework-specific concepts by keyword: Server Components, Suspense, hooks, guards, loaders, Signals, and so on.
  • Do NOT auto-invoke for language-level or general programming questions ("explain what a Promise is").
  • Do NOT auto-invoke for cross-framework decisions ("should we use Next.js or Remix here?") — that's a job for the main conversation.

Include the trigger keywords and the phrase Use PROACTIVELY in the description to encourage auto-routing.

Complete Listing

All 14 framework agents, grouped by ecosystem

Each agent encodes current-version idioms, opinionated conventions, and framework-specific gotchas. Version-matched to what shipped most recently.

Decision Framework

Which framework agent(s) should I install?

A quick guide for the situations teams hit most often.

Working on your app's primary stack
Install the matching framework agent — and pair it with the corresponding CLAUDE.md template and any available MCP server. This is the highest-leverage subagent for the codebase.
Cross-framework migration (Remix → Next.js, Vue → Svelte, etc.)
Install both framework agents. The source agent understands the code you're migrating; the target agent writes the idiomatic new version. Delegate migration file-by-file.
You just upgraded a major framework version
Switch the agent (e.g., nextjs-14-expertnextjs-15-expert). The old one may recommend patterns that are now deprecated. Keep both installed briefly during the transition; delete the old one when done.
Cross-framework or architecture decisions
Do not use a framework agent. Ask the main conversation directly — framework agents are opinionated for good reason, but that's the wrong lens for choosing a framework.
Framework-adjacent tooling (Vite, Turbopack, Webpack)
The framework agent usually knows the tooling defaults. For deep tooling work, delegate to a build-system subagent instead — keeps concerns separated.
Monorepo with multiple frameworks
Install one framework agent per app. Give each a narrow tools restriction scoped to its own directory (e.g., Write(apps/mobile/**)) so agents don't cross-contaminate.

🐛 Hit an error while using these?

Our sister site AI Error Hub covers Claude Code errors, MCP connection failures, and stack traces — cross-referenced with everything on this site.

Visit AI Error Hub →
FAQ

Frequently asked questions

The questions developers ask most about framework specialists.

Yes, noticeably. Generic Claude knows the framework at a mostly-current tutorial level; a framework subagent knows the current-version idioms, opinionated conventions, and specific gotchas.

The gap shows up most on framework-specific features — Server Components in Next.js 15, Signals in Angular 18, Solid Queue in Rails 8 — where generic Claude often defaults to older or cross-framework patterns.

Match your project's actual Next.js version. Next.js 15 changed defaults (caching is opt-in, params are async), so a 15-expert giving 14 advice — or a 14-expert giving 15 advice — will produce code that looks right but breaks at runtime.

Check your package.json version, then install the matching agent.

Via the description field. Claude Code reads all subagent descriptions on session start and routes work to the one whose description best matches your prompt.

Include:

  • Trigger keywords — App Router, Server Components, loaders, guards, Signals, etc.
  • The phrase Use PROACTIVELY.

Vague descriptions won't get auto-routed, and the agent will only fire when explicitly invoked with > use the X agent.

Directory-scoped writes plus framework-specific bash commands. Example for Next.js:

  • Read, Grep, Glob, Edit
  • Write(app/**), Write(components/**), Write(lib/**)
  • Bash(pnpm:*), Bash(npx next:*)

Do not allow general Bash — a framework agent should not be running arbitrary shell commands outside its ecosystem.

Sonnet is the right default for framework work. The task is largely applied — knowing the idioms and applying them correctly — which Sonnet handles well.

Reserve Opus for framework agents when the work is architectural (designing a new module structure, choosing a data-fetching strategy for a complex page). Explicit model routing per-task is a bigger cost lever than tuning the frontmatter default.

Whenever the framework has a meaningful release. Cadence varies:

  • Next.js — majors every ~6 months.
  • Django, Rails — slower cadence.
  • SvelteKit, Astro — frequent minor changes.

Our editorial team refreshes framework agents within 48 hours of a major release and does a full rewrite when defaults or conventions change. If you're maintaining your own, plan for a review every quarter and a rewrite at every major.

Yes, and you should. They're complementary:

  • CLAUDE.md — tells Claude about your project (name, versions, deployment targets, team conventions).
  • Framework agent — tells Claude about the framework itself (default patterns, gotchas, current idioms).

The CLAUDE.md gives project-specific context every session; the agent gives framework-specific expertise on demand.

Install both agents. Give each a directory-scoped tool restriction so they can only write into their part of the codebase:

  • Write(apps/web/**) for the Next.js agent.
  • Write(apps/api/**) for the FastAPI agent.

Cross-cutting work still routes to the main conversation, but framework-specific work goes to the right specialist. Common pattern for full-stack projects.

Occasionally. If both agents' descriptions match a prompt, Claude Code's routing may be ambiguous.

Prevent it by:

  1. Making descriptions non-overlapping — the Next.js agent's description mentions Next.js and App Router; the Remix agent's mentions Remix and loaders.
  2. Adding directory-scoped tool restrictions as a hard boundary even if routing gets it wrong.

Yes. Framework agents cost nothing when idle — they're just Markdown files.

The value shows up the moment you actually work on the framework: correct current-version code without you having to remember what changed in the last release.

For frameworks you use less often, the agent is even more valuable — because your own knowledge is more likely to be stale.

Share with