From agentic-sdlc
Use this skill when building or designing frontend interfaces, landing pages, dashboards, or any user-facing UI. Provides concrete guidance to avoid generic AI aesthetics and create visually distinctive designs with intentional typography, colour, motion, and depth.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agentic-sdlc:frontend-aestheticsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
AI-generated frontends converge toward a predictable aesthetic: Inter font, purple-to-blue gradients, uniform card grids, and timid colour palettes. This skill provides **concrete alternatives** to break out of that pattern and produce designs that feel intentional and distinctive.
AI-generated frontends converge toward a predictable aesthetic: Inter font, purple-to-blue gradients, uniform card grids, and timid colour palettes. This skill provides concrete alternatives to break out of that pattern and produce designs that feel intentional and distinctive.
This skill focuses on visual distinctiveness. For accessibility, responsive layout, and component architecture, see
frontend-dev-guidelines. For UX philosophy and interaction design, see theux-designeragent.
Typography is the single fastest signal of design quality. Generic font choices instantly mark a design as template-derived.
These are the most common AI-default fonts. Never reach for them first:
| Category | Fonts | When to use |
|---|---|---|
| Editorial / Serif | Playfair Display, Fraunces, Lora, Newsreader | Content-heavy sites, blogs, publications, luxury products |
| Geometric Sans | Bricolage Grotesque, Plus Jakarta Sans, Outfit, General Sans | SaaS, dashboards, modern applications |
| Monospace / Technical | JetBrains Mono, IBM Plex Mono, Berkeley Mono, Fira Code | Developer tools, technical products, data-heavy interfaces |
| Display / Statement | Clash Display, Satoshi, Cabinet Grotesk, Space Grotesk | Hero sections, marketing pages, bold headlines |
Distinctive typography uses extremes, not middle-of-the-road weights:
Always use font-display: swap and preload critical fonts. Load from Google Fonts, Fontsource, or self-host — never rely on system fonts as the primary choice unless the design intentionally calls for it.
Generic designs use timid, non-committal colour palettes — a light grey background with one muted blue accent. Distinctive designs commit fully to a cohesive aesthetic.
Define your palette using CSS custom properties and commit to it throughout:
:root {
--colour-surface: #0a0a0b;
--colour-surface-raised: #141416;
--colour-text-primary: #fafaf9;
--colour-text-secondary: #a1a1aa;
--colour-accent: #22d3ee;
--colour-accent-muted: #22d3ee33;
}
For curated theme directions with complete token sets, see resources/theme-recipes.md.
Motion should be orchestrated, not scattered. A few well-timed, coordinated animations on page load create far more impact than hover effects on every element.
| Context | Use | Why |
|---|---|---|
| Static HTML / server-rendered | CSS @keyframes + animation-delay | Zero JS overhead, works without hydration |
| React / interactive apps | Framer Motion (motion library) | Declarative API, layout animations, exit animations |
| Simple hover/focus effects | CSS transition | Always CSS for single-property transitions |
@keyframes fadeSlideUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.reveal {
animation: fadeSlideUp 0.6s ease-out both;
}
.reveal:nth-child(1) { animation-delay: 0ms; }
.reveal:nth-child(2) { animation-delay: 60ms; }
.reveal:nth-child(3) { animation-delay: 120ms; }
.reveal:nth-child(4) { animation-delay: 180ms; }
@media (prefers-reduced-motion: reduce) {
.reveal {
animation: none;
opacity: 1;
transform: none;
}
}
prefers-reduced-motion — Always. Remove animations entirely, do not just reduce duration.AnimatePresence for React.transform and opacity. See micro-interactions prompt for detailed performance guidance.Flat, single-colour backgrounds are the most common AI design default. Layered backgrounds create atmosphere and visual richness without adding UI complexity.
Gradient layering:
.hero {
background:
radial-gradient(ellipse at 20% 50%, rgba(34, 211, 238, 0.15) 0%, transparent 50%),
radial-gradient(ellipse at 80% 20%, rgba(168, 85, 247, 0.10) 0%, transparent 50%),
var(--colour-surface);
}
Subtle geometric patterns:
radial-gradient repeated) at low opacity (0.03-0.08)repeating-linear-gradientDepth through elevation:
box-shadow with large blur and low opacitybackdrop-filter: blur() for glassmorphism effects on overlays (check browser support)#000 is harsh. Use near-black (#0a0a0b) with subtle gradient variation to create warmth.#fafaf8), subtle warm gradients, or paper-like textures.When building any frontend interface:
For font pairing suggestions, see resources/font-pairings.md.
For complete theme directions, see resources/theme-recipes.md.
npx claudepluginhub syanix/agentic-sdlc --plugin agentic-sdlcProvides frontend design principles avoiding AI slop like Inter/Roboto fonts, purple gradients, and bland layouts. Guides thoughtful typography, colors, animations for polished UIs.
Generates refined, unique frontend UI designs avoiding generic AI patterns, with guidelines for typography pairings, custom color palettes, asymmetric layouts, and targeted animations. For landing pages, dashboards, components.
Generates distinctive production-grade frontend UIs for web components, pages, and apps with bold creative designs avoiding generic AI aesthetics.