Quick answer
- 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
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.
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.
| Skill | When it fires | What it does |
|---|---|---|
| design-system-lookup | Any UI task: new component, page, or restyle | Reads 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-audit | Before opening a PR for a UI change | Runs 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-review | After UI work, before PR | Uses 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-modernize | Refactor tasks touching stylesheets | Replaces 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-migration | Explicit migration story | Encodes 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-writer | New or changed component with no story | Scaffolds 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-scaffold | New feature reached by a user flow | Generates 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-inventory | Onboarding a new agent to the app | Walks 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. |
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 freeFree to start · macOS 12+ · No credit card required
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.
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 need | Reach for a skill | Reach for MCP |
|---|---|---|
| Reuse existing UI primitives instead of rebuilding | design-system-lookup skill: reads your tokens and components | Not needed, the codebase already has the answer |
| Screenshot the changed route at breakpoints | responsive-review skill: what to check on each screenshot | A browser MCP server (Playwright / headless Chromium) to take them |
| Fail a PR that regresses accessibility | a11y-audit skill: which axe rules block, how to fix common ones | A browser MCP server or a bundled script that runs axe |
| Pull the latest MUI / shadcn / Radix docs on demand | Not needed if the agent knows to consult a live source | A docs MCP server (Context7 or similar) exposing current library docs |
| Enforce a house Storybook story shape | storybook-writer skill: the exact story template your team ships | Not 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.
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
Machine-level for personal habits
Treat skills like code
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.