Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create distinctive, production-grade frontend interfaces with high design quality and accessible markup. Use this skill when the user asks to build or beautify web components, pages, applications, landing pages, dashboards, artifacts, or React/HTML/CSS UI. Generates creative, polished code that avoids generic AI aesthetics, then self-checks it against an objective accessibility and quality rubric.
.claude/skills/waybarrios-frontend-design/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-04 | ✓→✗ | ▼ Worse | 423% | 0% |
| case-06 | ✓→✗ | ▼ Worse | 285% | 0% |
This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices, then audit it against the self-critique rubric before returning.
The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
Before design thinking, classify the request and plan the appropriate ownership boundary. Ask only about missing information that materially changes structure, behavior, integration, or accessibility; when requirements are sufficient, proceed without a round trip.
A component must not invent an unrelated page shell, global landmarks, document-level <h1>, global typography or background, or viewport metadata. A page must not collapse planning into individual components without first establishing page hierarchy, navigation, content flow, and responsive behavior.
All three tracks converge into the design thinking, implementation, anti-generic guidance, self-critique, and optional validation below; do not duplicate those stages per track.
Before coding, understand the context and commit to a BOLD aesthetic direction:
CRITICAL: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work — the key is intentionality, not intensity.
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
Focus on:
NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.
Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.
IMPORTANT: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
Remember: the model is capable of extraordinary creative work. Don't hold back; show what can truly be created when thinking outside the box and committing fully to a distinctive vision.
Left to its own devices a model drifts to the statistical center — white background, a blue or purple button, the Inter typeface, a single centered card or a three-column grid. Counter each default on purpose:
.dark, not by restyling. If the user already has a brand or design system, inject its tokens and skip your defaults entirely.Models tend to confidently praise their own mediocre output, so do not ask yourself "does this look good?" Instead run the concrete pass/fail checks below and fix every failure before returning the code. These target WCAG 2.2 AA and basic craft — things checkable from the markup, not matters of taste.
Accessibility:
<button> for actions, <a href> for navigation, and real <label>s for inputs. A page or document has exactly one <h1>, headings in order, and appropriate <header>, <nav>, <main>, and <footer> landmarks. A component owns native controls, labels, accessible names, and local heading order; it does not add a document-level <h1>, global landmarks, or <meta name="viewport"> merely to satisfy this rubric.<img> has an alt attribute (empty alt="" when decorative); icon-only controls carry an accessible name.<meta name="viewport"> is present and zoom is not disabled; page-level content reflows to a single column with no horizontal page scrolling down to 320px wide. Components reflow inside their host or container. Intrinsically two-dimensional controls may preserve necessary internal scrolling while preventing unintended page overflow and retaining keyboard access.Craft:
line-height is at least 1.5; line length stays near 45-75 characters; sizes use rem/em.@media (prefers-reduced-motion: reduce) block softens or removes non-essential motion, and nothing flashes more than three times per second.Optional, and cross-platform via npm (Windows, Linux, macOS). Use what is present and skip the rest gracefully — never make these hard requirements.
npx html-validate <file> catches invalid markup, missing alt, unlabeled controls, and broken or redundant ARIA, fully offline. The cheapest first gate.npx pa11y --standard WCAG2AA <url> (or axe-core) covers computed-contrast and accessible-name checks that only surface once the page is rendered.Guidance here is synthesized and reworded from Anthropic's frontend-aesthetics cookbook and the generator/evaluator pattern in "Harness design for long-running application development" (2026-03-24), plus Vercel v0 and shadcn/ui theming. Accessibility thresholds come from WCAG 2.2 — contrast 1.4.3 and 1.4.11, reflow 1.4.10, text spacing 1.4.12, focus visible 2.4.7 — and MDN. Verified 2026-05-27.
Other measured skills in the registry, with their headline benchmark lift.