.agents/skills/frontend-design/SKILL.md
Guide creation of distinctive, production-grade frontend interfaces that avoid generic AI aesthetics. This skill covers the full lifecycle: detect what exists, plan the design, build with intention, and verify visually.
Every rule in this skill is a default, not a mandate.
When working in an existing codebase with established patterns, follow those patterns. When the user specifies a direction that contradicts a default, follow the user.
Detect context -> Plan the design -> Build -> Verify visually
Before any design work, examine the codebase for existing design signals. This determines how much of the skill's opinionated guidance applies.
--color-*, --spacing-*, --font-* custom properties, theme filestailwind.config.*, styled-components theme, Bootstrap imports, CSS modules with consistent naming@font-face declarations, Google Fonts linksUse the platform's native file-search and content-search tools (e.g., Glob/Grep in Claude Code) to scan for these signals. Do not use shell commands for routine file exploration.
Based on detected signals, choose a mode:
When context is ambiguous, use the platform's blocking question tool (AskUserQuestion in Claude Code, request_user_input in Codex, ask_user in Gemini). If no question tool is available, assume "partial" mode and proceed conservatively.
Example question: "I found [detected signals]. Should I follow your existing design patterns or create something distinctive?"
Before writing code, write three short statements. These create coherence and give the user a checkpoint to redirect before code is written.
Visual thesis -- one sentence describing the mood, material, and energy
Content plan -- what goes on the page and in what order
Interaction plan -- 2-3 specific motion ideas that change the feel
These principles apply across all context types. Each yields to existing design systems and user instructions per the authority hierarchy.
nav, main, section, article, button -- not divs for everything.Select the module that fits what is being built. When working inside an existing application, default to Module C regardless of what the feature is.
Default section sequence:
Hero rules (defaults):
Copy:
Default patterns:
Copy (utility, not marketing):
For adding to an existing application:
These are the skill being opinionated. The user can override any of them.
These are genuine quality failures no user would want.
Quick self-review before moving to visual verification. Not all checks apply in every context -- apply judgment about which are relevant.
After implementing, verify visually. This is a sanity check, not a pixel-perfect review. One pass. If there is a glaring issue, fix it. If it looks solid, move on.
Use the first available option:
agent-browser skill for installation and usage instructions.One iteration. Take a screenshot, assess against the litmus checks, fix any glaring issues, and move on. Include the screenshot in the deliverable (PR description, conversation output, etc.).
For iterative refinement beyond a single pass (multiple rounds of screenshot-assess-fix), see the compound-engineering:design:design-iterator agent.
This skill provides structure, but the goal is distinctive work that avoids AI slop -- not formulaic output.
For greenfield work, commit to a bold aesthetic direction. Consider the tone: brutally minimal, maximalist, retro-futuristic, organic/natural, luxury/refined, playful, editorial, brutalist, art deco, soft/pastel, industrial -- or invent something that fits the context. There are endless flavors. Use these for inspiration but design one that is true to the project.
Ask: what makes this unforgettable? What is the one thing someone will remember?
Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well, not from intensity.