Create distinctive, production-grade frontend interfaces with high design quality. Covers design thinking, typography pairing, color theory, motion design, spatial composition, and code quality. Generates real working code — HTML/CSS/JS or React — with intentional aesthetic direction, not generic AI output.
43:T1ae0,
Create distinctive, production-grade web interfaces that avoid generic AI aesthetics.
git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/frontend-design ~/.claude/skills/
Before writing code, answer:
Choose a specific point of view — not "clean and modern" but a real aesthetic:
| Direction | Characteristics |
|---|---|
| Brutally minimal | Monochrome, system fonts, stark spacing, no decoration |
| Maximalist | Dense, layered, multiple type scales, rich texture |
| Retro-futuristic | Neon accents, dark backgrounds, grid lines, monospace |
| Organic/natural | Soft shapes, earth tones, hand-drawn elements, warm |
| Luxury/refined | Thin serifs, generous whitespace, muted palette, restrained |
| Playful/toy-like | Rounded shapes, bright primaries, bouncy animations |
| Editorial/magazine | Strong grid, dramatic type hierarchy, pull quotes |
| Brutalist/raw | Exposed structure, monospace, raw HTML feeling |
| Art deco/geometric | Symmetry, metallic accents, decorative borders, angular |
| Soft/pastel | Light palette, gentle gradients, rounded, approachable |
| Industrial/utilitarian | Exposed grid, status indicators, dense information |
Every interface should have one element someone remembers:
The key is commitment, not intensity. Maximalism executed fully works. Minimalism executed with precision works. The mushy middle does not.
| Source | Best For |
|---|---|
| Google Fonts | Widest selection, easy CDN |
| Fontshare | High-quality display fonts |
| Fontsource | Self-hosted, npm installable |
| Atipo Foundry | Distinctive display faces |
| Display | Body | Vibe |
|---|---|---|
| Serif (dramatic) | Sans-serif (clean) | Editorial, luxury |
| Geometric sans | Humanist sans | Modern, friendly |
| Monospace | System sans | Technical, brutalist |
| Slab serif | Neutral sans | Bold, structured |
| Handwritten/display | Geometric sans | Playful, creative |
:root {
--color-primary: #...;
--color-accent: #...;
--color-bg: #...;
--color-surface: #...;
--color-text: #...;
--color-text-secondary: #...;
--color-border: #...;
}
.button {
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
.floating-element { animation: float 3s ease-in-out infinite; }
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.animate-on-scroll').forEach(el => observer.observe(el));
.stagger-item { opacity: 0; transform: translateY(20px); transition: all 0.5s ease; }
.stagger-item.visible { opacity: 1; transform: translateY(0); }
.stagger-item:nth-child(1) { transition-delay: 0s; }
.stagger-item:nth-child(2) { transition-delay: 0.1s; }
.stagger-item:nth-child(3) { transition-delay: 0.2s; }
transform and opacity (GPU-composited)width, height, margin, padding (trigger layout)will-change sparingly and only on elements that will animateprefers-reduced-motion media query for accessibilityFor typography pairings, color construction, animation library, and accessibility checklist, see REFERENCE.md.
If brand-profile.json exists in the working directory, read it before designing. Use colors (primary, secondary, background, text) for the design system, typography (heading and body fonts) for type selections, aesthetic (mood keywords, texture, negative space) for layout decisions, and imagery (style, composition) for hero sections and visual elements. This profile is produced by the brand-dna skill.