skills/frontend-design/SKILL.md
Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build landing pages, websites, dashboards, web components, or any frontend UI. Generates creative, polished code that avoids generic AI aesthetics.
npx skillsauth add tobihagemann/turbo frontend-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create distinctive, production-grade frontend interfaces that feel deliberate, premium, and current. Implement real working code with exceptional attention to aesthetic details and creative choices.
Before coding, understand the context and commit to a clear aesthetic direction.
Output three things as text before coding:
For each, consider:
Match ambition to context. A brand landing page warrants bold, expressive choices. A dashboard warrants calm restraint. Both require intentionality.
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is production-grade, visually striking, cohesive, and meticulously refined.
Choose fonts that are beautiful, unique, and interesting. Pair a distinctive display font with a refined body font. Avoid generic fonts like Arial, Inter, Roboto, and system defaults. Never converge on common AI-favorite choices (Space Grotesk, for example) across generations.
Commit to a cohesive palette. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes. One accent color unless the product already has a strong system.
Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density. Match the spatial approach to the visual thesis.
Create atmosphere and depth rather than defaulting to solid colors. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays. Match effects to the overall aesthetic.
Use motion to create presence and hierarchy, not noise.
Ship at least 2-3 intentional motions for visually led work:
animation-delay create more delight than scattered micro-interactions)Prefer CSS-only solutions for plain HTML. Use Framer Motion when available in React for section reveals, shared layout transitions, scroll-linked shifts, sticky storytelling, and presence effects.
Motion rules:
@media (prefers-reduced-motion: no-preference) to respect accessibility settingsDefault sequence:
Hero rules:
If the first viewport still works after removing the image, the image is too weak. If the brand disappears after hiding the nav, the hierarchy is too weak.
Viewport budget: if the first screen includes a sticky/fixed header, that header counts against the hero. The combined header + hero content must fit within the initial viewport. When using 100vh/100svh heroes, subtract persistent UI chrome or overlay the header.
Default to calm, dense restraint:
Organize around: primary workspace, navigation, secondary context or inspector, one clear accent for action or state.
Avoid: dashboard-card mosaics, thick borders on every region, decorative gradients behind routine product UI, multiple competing accent colors, ornamental icons that do not improve scanning.
If a panel can become plain layout without losing meaning, remove the card treatment.
On dashboards, admin tools, and operational workspaces, default to utility copy over marketing copy.
Imagery must do narrative work.
The first viewport needs a real visual anchor. Decorative texture alone is not enough for landing pages (though textures and atmospheric effects work well as supporting elements throughout).
Never use generic AI-generated aesthetics:
Reject these failures:
Interpret creatively and make unexpected choices that feel genuinely designed for the context. Vary between light and dark themes, different fonts, different aesthetics. No two designs should feel the same.
Before delivering, verify:
tools
Teach the user to deeply understand a change through interactive tutoring: restating understanding, drilling into why/what/how, and quizzing until mastery. The active counterpart to a one-shot explanation. Use when the user asks to "understand this change", "teach me this change", "help me understand what changed", "walk me through this change", "make sure I understand this", "quiz me on this", or "teach me what we did".
tools
Teach the user to deeply understand a change through interactive tutoring: restating understanding, drilling into why/what/how, and quizzing until mastery. The active counterpart to a one-shot explanation. Use when the user asks to "understand this change", "teach me this change", "help me understand what changed", "walk me through this change", "make sure I understand this", "quiz me on this", or "teach me what we did".
tools
Update an existing GitHub pull request's title and description to reflect the current state of the branch. Use when the user asks to "update the PR", "update PR description", "update PR title", "refresh PR description", or "sync PR with changes".
tools
Execute an approved split plan by creating separate branches, commits, and PRs for each change group. Use when the user asks to "split and ship", "ship the split plan", "create separate PRs", or "split changes into branches".