Shortlist

Best Agent Skills for Frontend Development (2026)

Frontend work is where an agent most often re-invents a Button, ships an inaccessible modal, or breaks the mid-breakpoint. Skills are the fix: small SKILL.md files that teach the agent your primitives, your a11y checklist, and how to review its own UI before it opens a PR. Here is the shortlist worth adopting.

By Kylian Migot · Updated July 2026 · 11 min read

Quick answer

The best agent skills for frontend are the ones that stop the agent from re-inventing what your repo already ships and from missing what a human reviewer would catch. In practice that means a design-system lookup skill (reuse tokens and primitives), an a11y audit skill (run axe/lighthouse output through a checklist), a responsive review skill (screenshot at three breakpoints), a CSS modernizer, and a small set of scaffolders for stories and end-to-end tests. Each is a SKILL.md the model loads only when the task calls for it.
Format
SKILL.md: YAML frontmatter (name + description) + Markdown instructions, optional scripts
Highest-leverage first skill
design-system-lookup, prevents the 'agent re-built the Button' failure mode
Skills vs MCP
Skills add procedure (how); MCP adds capability (browser, Figma, DevTools). Use both
In AIDEN
Inherited from ~/.claude/skills and repo .claude/skills automatically; nothing extra to configure
01

Quick Recap: What a SKILL.md Is

An agent skill is a folder with a SKILL.md file that a coding agent loads on demand. The file opens with YAML frontmatter declaring a name and a description, then Markdown instructions the model follows once the skill fires. The mechanism that matters here: the model reads only each skill's short description at session start, and pulls the full instructions into context only when a task matches that description. A responsive-review skill costs you nothing while the agent is fixing a build script; it shows up the moment the task is “polish the pricing page.”

That on-demand loading is what makes skills right for frontend. Frontend work has a huge surface area, tokens, primitives, accessibility, responsive behavior, motion, e2e, but any given task touches only a slice of it. A monolithic CLAUDE.md that tries to encode everything a frontend engineer knows would drown every unrelated task. Skills split that knowledge into targeted procedures the agent only sees when relevant, which is textbook context engineering.

02

The Frontend Shortlist

The skills below are the categories most worth writing (or adopting, as the ecosystem matures) for a React/Vue/Svelte codebase. Names are conventional; use whatever your team wants, as long as the description in the frontmatter is sharp about when the skill applies. The ecosystem of published skills is still young, so treat this as a menu of procedures to author yourselves, not a directory of packages to install.

SkillWhen it firesWhat it does
design-system-lookupAny UI task: new component, page, or restyleReads your tokens/primitives and tells the agent which existing component to reuse. Prevents the 'agent invented a Button from scratch when we already have one' failure.
a11y-auditBefore opening a PR for a UI changeRuns axe or Lighthouse against the changed route and pipes the output through a checklist (labels, roles, focus order, contrast, keyboard nav). Fails loudly with a fix list.
responsive-reviewAfter UI work, before PRUses a browser MCP server (or a bundled Playwright script) to screenshot the changed route at three breakpoints, then walks a checklist of overflow, wrapping, target size, and layout shift.
css-modernizeRefactor tasks touching stylesheetsReplaces legacy patterns with modern CSS: flex hacks into grid, media queries into container queries where scope is local, descendant selectors into :has() where support allows.
framework-migrationExplicit migration storyEncodes a specific migration you keep doing: class components to hooks, React Router v5 to v6, styled-components to a token-based system. The steps you keep forgetting, in order.
storybook-writerNew or changed component with no storyScaffolds a Storybook file from the component's props and default state, including a controls-driven story and one interaction test. The story matches your team's story conventions.
e2e-scaffoldNew feature reached by a user flowGenerates a Playwright (or Cypress) spec that walks the happy path of a feature: navigate, act, assert. A skeleton the human tightens, not a substitute for real test design.
route-inventoryOnboarding a new agent to the appWalks the app's route tree and produces a page/route map with a one-line purpose per route. A cheap way to hand a fresh agent a mental model before it starts making changes.
03

How to Write One: A Real Example

The single highest-leverage frontend skill for most codebases is design-system-lookup, because “the agent just rebuilt the Button” is the most common frontend failure mode. Here is a complete SKILL.md for it. Note the description: it enumerates the trigger tasks explicitly, so the model can tell from that alone when to load the skill.

---
name: design-system-lookup
description: >
  Before creating any UI primitive (button, input, card, modal, badge,
  tooltip, layout container), check the repo's design system for an
  existing component or token to reuse. Use whenever the task is to
  add or modify a React/Vue/Svelte component, style a page, or build
  a new screen.
---

# Design system lookup

Before you write a new component or ad-hoc styles:

1. Read src/design-system/tokens.ts and list the semantic tokens
   relevant to this task (color, spacing, radius, typography).
2. Grep src/components/ui/ for an existing primitive that matches
   the intent (Button, Input, Dialog, ...). If one exists, use it.
   Never re-implement a primitive that already ships.
3. If a primitive is close but not quite right, extend it via its
   documented props first. Only fork if the extension would break
   its existing API.
4. In the PR body, list every design-system component and token you
   reused, under a "## Design system" heading.

Drop this at .claude/skills/design-system-lookup/SKILL.md inside the repo and commit it. The next time an agent picks up a card that touches UI, it reads the description, sees the enumerated triggers, loads the body, and follows the four steps before typing new JSX. The same shape works for every other category above:

  1. 1

    Name it after the trigger

    Folder and skill name are the first signal. Prefer a11y-audit over a11y (which fires too eagerly), design-system-lookup over design (which never fires).
  2. 2

    Write a description that lists triggers

    The description in the frontmatter is what the model reads to decide whether to load the skill. List the tasks it applies to explicitly ('use whenever the task is to add or modify a component, style a page, or build a new screen'). Fuzzy descriptions produce silent skills.
  3. 3

    Keep the body imperative and short

    Numbered steps or bullets. Concrete file paths, exact commands, and named artifacts (a heading in the PR body, a screenshot named a certain way). Every extra paragraph is context the agent has to wade through once the skill loads.
  4. 4

    Bundle scripts for the deterministic parts

    For steps that must be exact, running axe against a URL, screenshotting at fixed viewports, ship a script in the skill folder and have the instructions call it. Prose asks the model to reproduce a procedure; a script removes the guesswork.
  5. 5

    Test that it fires, and that it stays quiet

    Give the agent a matching request (an a11y-audit skill should fire on 'polish the login page'), and confirm it loads. Then give it an unrelated request ('fix the CI script'), and confirm it stays quiet. If it misfires either way, tighten the description before touching the body.

Your AI workspace for shipping software.

Download AIDEN free and point it at your existing Claude Code or Codex setup. No credit card, running in minutes.

Download AIDEN free

Free to start · macOS 12+ · No credit card required

04

Skills vs Rules Files (CLAUDE.md, .cursorrules)

A conventions file, CLAUDE.md, AGENTS.md, .cursorrules, is loaded on every task. That is the right home for rules that apply everywhere: the package manager to use, the test command, the branch naming convention, one-line taste rules like “prefer server components by default.” The moment a rule stops applying to every task, it starts costing you context on the tasks it does not apply to. That is when it should move into a skill.

Frontend is the clearest example. “How we write an accessible modal” is a five-page procedure that matters on maybe one card in ten. In CLAUDE.md it sits in every window, whether the agent is building a modal or bumping a dependency; in an a11y-audit skill it appears only when a UI change is about to ship. Same knowledge, ten times less noise.

05

Skills vs MCP: When to Reach for Which

MCP servers give the agent capabilities it otherwise lacks: driving a browser, reading a Figma file, pulling Chrome DevTools traces, querying a component library's docs. Skills give the agent procedural knowledge for what to do with those capabilities. On a frontend project you almost always want both, and they compose cleanly.

Frontend needReach for a skillReach for MCP
Reuse existing UI primitives instead of rebuildingdesign-system-lookup skill: reads your tokens and componentsNot needed, the codebase already has the answer
Screenshot the changed route at breakpointsresponsive-review skill: what to check on each screenshotA browser MCP server (Playwright / headless Chromium) to take them
Fail a PR that regresses accessibilitya11y-audit skill: which axe rules block, how to fix common onesA browser MCP server or a bundled script that runs axe
Pull the latest MUI / shadcn / Radix docs on demandNot needed if the agent knows to consult a live sourceA docs MCP server (Context7 or similar) exposing current library docs
Enforce a house Storybook story shapestorybook-writer skill: the exact story template your team shipsNot needed, Storybook lives in the repo

A useful mental model: MCP is a set of new verbs your agent gains; a skill is a checklist that tells it when and how to use them. The most powerful frontend setups pair a browser MCP server with an a11y-audit and a responsive-review skill, the server takes the screenshot and runs axe, the skills tell the agent what a green result looks like and how to write the fix.

06

How to Distribute Skills Across a Team

Individual skills live at ~/.claude/skills/<name>/, which is fine for personal habits (“how I like my commit bodies”) but wrong for anything the team should share. Team skills belong in the repo, under .claude/skills/<name>/SKILL.md, committed to git. Then every teammate (and every agent AIDEN or another harness launches for the project) gets them automatically on clone.

Repo-level for anything project-specific

design-system-lookup, framework-migration, storybook-writer, route-inventory. Anything that references your files or your conventions ships in the repo, so it evolves with the code and is reviewed like code.

Machine-level for personal habits

Your PR body style, your commit format, the way you like tests structured. Lives in ~/.claude/skills, follows you across every project, invisible to teammates.

Treat skills like code

Review changes to .claude/skills in PRs. A vague description or an over-eager trigger will show up as agents doing the wrong thing on unrelated cards; catch it at review time, not in production.
07

How AIDEN Loads Frontend Skills

AIDEN is a cockpit over your local Claude Code and Codex, a spec-first kanban with a PR per story, running on your inference (your Claude or Codex subscription or API key). Because it launches your existing CLIs rather than replacing them, it inherits every skill you already have. Anything in ~/.claude/skills or the current project's .claude/skills is available to every agent AIDEN starts, exactly as it is when you run Claude Code by hand. There is no separate skill store to sync.

In practice, a frontend story on the AIDEN board fires the skills that match its spec. “Add the new pricing tier card” loads design-system-lookup before the agent starts, then a11y-audit and responsive-review before it opens the PR. The AIDEN Method skill pack (spec-first, worktree-per-story, PR-per-story) covers the workflow layer; your frontend skills cover the craft layer. Same session, same window, both applied where relevant.

If you are new to authoring skills, the agent skills explainer walks through the SKILL.md format in more depth, and the MCP servers guide covers the capability layer these skills lean on. Pair a browser MCP server with the shortlist above and you have a coding agent that ships frontend the way your team would.

FAQ

What's the difference between an agent skill and an MCP server for frontend work?
An MCP server gives the agent a new capability, like driving a headless browser, querying a Figma file, or reading Chrome DevTools traces. A skill gives the agent procedural knowledge, like how your team writes accessible components or which design tokens to reuse. For frontend work you usually want both: an MCP server so the agent can actually screenshot the page, and a skill so it knows what to check on that screenshot. They compose; a skill can even instruct the model to reach for a specific MCP tool as one of its steps.
Where do I put a SKILL.md for a frontend project?
For skills that should apply on every project on your machine (personal habits, general frontend hygiene), put the folder at ~/.claude/skills/<name>/SKILL.md. For skills that are specific to one repo, and should be shared with the rest of the team via git, put them at .claude/skills/<name>/SKILL.md inside the repo. A design-system-lookup skill almost always belongs in the repo, because the tokens and primitives it references live there.
Does Claude Code load agent skills automatically?
Yes. Claude Code scans ~/.claude/skills and the current project's .claude/skills at session start and reads each skill's description (from the YAML frontmatter). When you send a request, the model matches the task to any relevant skill descriptions and pulls the full instructions into context on demand. You do not have to name or import a skill, if the description matches the task, it fires. If it never fires when it should, the fix is almost always tightening the description.
Can multiple frontend skills conflict?
They can compose, and they can also step on each other. A responsive-review skill and an a11y-audit skill will happily run together on the same PR. A css-modernize skill that rewrites everything with :has() and a design-system-lookup skill that says use tokens X and Y will collide if the modernize skill ignores the tokens. Keep each skill's scope narrow and its description sharp about when it applies, and prefer skills that call each other's steps explicitly over skills that overlap silently.
Do I need AIDEN to use frontend agent skills?
No. Skills are a plain SKILL.md convention that Claude Code and compatible harnesses load directly, drop a folder into ~/.claude/skills and you are done. AIDEN is a cockpit over your local Claude Code, so it inherits every skill you already have without extra configuration, and it also ships the free AIDEN Method skill pack. The skills are useful on their own; AIDEN just gives them a spec-first kanban to run inside.

Keep reading

Frontend skills, applied on every story.

AIDEN runs your local Claude Code, so every SKILL.md in ~/.claude/skills or your repo's .claude/skills is available to each agent it launches, inside a spec-first kanban with a PR per story. BYO inference. Free for one project.

macOS 12+ · Bring your own Claude Code or Codex · Your code stays local