.claude/skills/frontend-design/SKILL.md
Create distinctive, production-grade web interfaces with intentional aesthetic direction. Avoids generic AI aesthetics (centered layouts, Inter/Arial, purple gradients, uniform corners). Use for UI components, dashboards, landing pages, React/HTML/CSS layouts where design quality matters.
npx skillsauth add oimiragieo/agent-studio 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.
"Every design should feel specifically crafted for its context, never cookie-cutter."
This skill enables creation of distinctive, production-grade frontend interfaces that avoid the generic AI-generated aesthetic that has become ubiquitous. The goal is intentional design that reflects the specific context, brand, and purpose of the interface.
Generic AI-generated interfaces share predictable patterns that signal laziness:
Overused patterns to AVOID:
What to do instead:
/* High contrast, raw, confident */
:root {
--bg: #ffffff;
--text: #000000;
--accent: #ff0000;
--border: 2px solid #000000;
--radius: 0px;
}
.card {
border: var(--border);
padding: 2rem;
background: var(--bg);
}
Typography: Bold grotesques (Neue Haas Grotesk, Aktiv Grotesk, GT America) Motion: Sharp, instant transitions — no easing Layout: Rigid grid, full bleed, stark whitespace
/* Rich, layered, expressive */
:root {
--bg: #0a0a0f;
--text: #e8e3d9;
--accent: #c9a84c;
--accent-2: #7b5ea7;
}
.hero {
position: relative;
overflow: hidden;
background: radial-gradient(ellipse at 30% 50%, #1a0a2e, transparent);
}
Typography: Serif headlines (Playfair Display, Canela, GT Sectra) + tight monospace for data Motion: Cinematic reveals, staggered content entry, parallax depth Layout: Overlapping elements, diagonal breaks, generous negative space
/* Organic, crafted, human */
:root {
--bg: #faf8f4;
--text: #2c2416;
--accent: #c17b4a;
--accent-muted: #e8d5c0;
}
.surface {
background: var(--bg);
border: 1px solid rgba(0, 0, 0, 0.08);
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.06),
0 4px 16px rgba(0, 0, 0, 0.04);
}
Typography: Humanist serifs (Lora, Freight Text) + friendly sans (Sora, Plus Jakarta Sans) Motion: Gentle, spring-based animations Layout: Asymmetric columns, hand-crafted feel
/* Dense, precise, functional */
:root {
--bg: #0d1117;
--text: #c9d1d9;
--accent: #58a6ff;
--grid: rgba(255, 255, 255, 0.04);
--mono: 'JetBrains Mono', 'Fira Code', monospace;
}
.data-panel {
background: rgba(13, 17, 23, 0.95);
border: 1px solid rgba(48, 54, 61, 0.8);
font-family: var(--mono);
}
Typography: Monospace throughout, tight line height, numerical data in tabular figures Motion: Real-time updates, pulsing activity indicators Layout: Dense grids, information hierarchy via size/weight/color
Don't reach for Inter, Arial, or system-ui. Choose fonts that carry meaning:
| Intention | Good Choices | Avoid | | --------------------- | ------------------------------- | ----------------- | | Premium / Editorial | Canela, GT Sectra, Freight Text | Georgia | | Technical / Precise | JetBrains Mono, IBM Plex Mono | Courier | | Modern / Professional | GT America, Neue Haas Grotesk | Inter, Helvetica | | Warm / Approachable | Sora, Plus Jakarta Sans, Nunito | Roboto, Open Sans | | Bold / Display | Clash Display, Cabinet Grotesk | Futura |
Use a clear hierarchy:
/* Display: hero headlines */
.text-display {
font-size: clamp(3rem, 8vw, 7rem);
font-weight: 900;
line-height: 0.95;
}
/* Heading: section titles */
.text-h1 {
font-size: clamp(2rem, 4vw, 3.5rem);
font-weight: 700;
line-height: 1.1;
}
/* Body: readable text */
.text-body {
font-size: 1rem;
line-height: 1.65;
letter-spacing: 0.01em;
}
/* Caption: secondary info */
.text-caption {
font-size: 0.8125rem;
line-height: 1.4;
letter-spacing: 0.04em;
text-transform: uppercase;
}
:root {
/* Dominant: 60% of UI */
--color-base: #f7f4ef;
--color-surface: #ffffff;
/* Secondary: 30% of UI */
--color-text: #1a1510;
--color-text-muted: #6b5e4e;
/* Accent: 10% of UI */
--color-accent: #c17b4a; /* primary actions */
--color-accent-sharp: #e05a2b; /* hover/active states */
}
The 60/30/10 rule prevents overwhelming accent usage.
High-impact reveals on page load (not scattered micro-interactions):
/* Staggered content entry */
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(24px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.hero-heading {
animation: slideUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.hero-sub {
animation: slideUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}
.hero-cta {
animation: slideUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}
/* State transitions: fast and responsive */
.button {
transition:
background-color 150ms ease,
transform 100ms ease;
}
.button:hover {
transform: translateY(-1px);
}
.button:active {
transform: translateY(0);
}
/* Panel reveals: deliberate */
.modal {
transition:
opacity 250ms ease,
transform 250ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
For complex sequences:
Don't constrain everything to a uniform container:
/* Full-bleed accent with contained content */
.section-dark {
background: #0d1117;
/* No max-width here */
}
.section-dark .content {
max-width: 1200px;
margin: 0 auto;
padding: 0 2rem;
}
/* Let elements breathe */
.hero {
padding: 12rem 0 8rem;
}
.section {
padding: 8rem 0;
}
.card {
padding: 2.5rem;
}
/* 60/40 split instead of 50/50 */
.two-column {
display: grid;
grid-template-columns: 3fr 2fr;
gap: 4rem;
}
Before declaring a component done:
Before designing interfaces:
cat .claude/context/memory/learnings.md | grep -i "design\|ui\|frontend\|css"
After completing design work, record patterns:
.claude/context/memory/learnings.md.claude/context/memory/decisions.mdweb-artifacts-builder — Build React + Tailwind + shadcn/ui artifactsreact-expert — React component patternsstyling-expert — Tailwind CSS, CSS-in-JS patternsshadcn-ui — shadcn/ui component customizationenhance-prompt — Transform vague UI requests into design specstools
Comprehensive biosignal processing toolkit for analyzing physiological data including ECG, EEG, EDA, RSP, PPG, EMG, and EOG signals. Use this skill when processing cardiovascular signals, brain activity, electrodermal responses, respiratory patterns, muscle activity, or eye movements. Applicable for heart rate variability analysis, event-related potentials, complexity measures, autonomic nervous system assessment, psychophysiology research, and multi-modal physiological signal integration.
tools
Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python. Use when working with network/graph data structures, analyzing relationships between entities, computing graph algorithms (shortest paths, centrality, clustering), detecting communities, generating synthetic networks, or visualizing network topologies. Applicable to social networks, biological networks, transportation systems, citation networks, and any domain involving pairwise relationships.
data-ai
Molecular featurization for ML (100+ featurizers). ECFP, MACCS, descriptors, pretrained models (ChemBERTa), convert SMILES to features, for QSAR and molecular ML.
development
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.