agentleFS
THEROCKSSSTHEROCKSSS/hermes-skills-portfolio/skills/frontend-design-toolkit/SKILL.md

frontend-design-toolkit

Skill1 starsChanged 3 months agoMITView on GitHub

Use when about to write HTML/CSS/JSX for a user-facing frontend, landing page, dashboard, or web app, or when redesigning a UI that reads as generic or AI-generated.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use OKLCH for all colors. Define them as CSS custom properties at :root:

    line 113
  2. Distinctive:

    Always pair two fonts. A display face for headings and a body face for text.

    line 132
  3. Distinctive:

    Use Google Fonts or self-host.

    line 142
  4. Distinctive:

    4pt spacing scale: all spacing values are multiples of 4px (0.25rem).

    line 146
  5. Very specific:

    Asymmetric grids: not everything is a centered 3-column grid.

    line 147
  6. Distinctive:

    Test at 320px, 375px, 414px, 768px.

    line 207

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

frontend-design-toolkit

Overview

Build frontends that don't look like an LLM generated them. The agent uses curated design patterns from real, recognizable products (Stripe, Linear, Vercel, Discord, Spotify, Notion, etc.) combined with anti-AI-slop rules to produce UIs with actual design intent.

When to Use

  • The user asks for a frontend, landing page, dashboard, web app, or UI component.
  • The user wants to redesign an existing UI that looks generic or AI-generated.
  • The user says "build me a frontend", "design a page", "make this look better", or "I don't want it to look like AI made it".
  • Any time you're about to write HTML/CSS/JSX for a user-facing interface.

Anti-AI-Slop Rules

These are the tells that make a frontend immediately recognizable as LLM-generated. The agent must not produce them.

Banned patterns

PatternWhy it's a tellWhat to do instead
Purple-to-blue gradient heroEvery AI-generated SaaS landing pageSolid color, editorial photo, or typography-only hero
Three equal feature cards with iconsThe most generic layout in AI outputAsymmetric grid, numbered list, or narrative section
Emoji as feature icons (🚀 ⚡ 🔒 ✨)Instant AI signalCustom SVG icons, or no icons — let typography carry it
"Powerful, seamless, comprehensive" copyFiller words that mean nothingConcrete verbs and specifics
Glassmorphism on everythingOverused AI aestheticSolid surfaces with real borders
Centered everythingDefault LLM layoutIntentional asymmetry, left-aligned editorial layouts
Aurora/blob backgroundsAI-generated background noiseSolid colors, grid lines, or real imagery
Inter as the only fontDefault AI font choicePair a display face with a body face

Required patterns

  • Color in OKLCH — not random hex values. Use CSS custom properties.
  • Font pairing — a display face + a body face. Never a single font for everything.
  • 4pt spacing scale — --space-xs: 0.25rem, --space-sm: 0.5rem, --space-md: 1rem, --space-lg: 2rem, --space-xl: 4rem.
  • Intentional whitespace — whitespace is a design element, not empty space to fill.
  • Real structure — sections should have a reason to exist, not be there because "a landing page needs 8 sections".

Design System Catalog

Real, recognizable design systems the agent can draw from. Each entry has a concrete pattern to replicate, not just a "vibe."

Stripe — payment SaaS

  • Colors: Indigo (#635BFF) on white, with soft gray surfaces
  • Typography: Sohne (sans) + Cambridge (serif for display)
  • Pattern: Pricing tables with per-feature comparison rows, clean alignment, subtle hover states
  • Layout: Generous whitespace, centered max-width content, subtle shadows
  • Replicate for: SaaS pricing pages, payment flows, API documentation

Linear — project management

  • Colors: Dark gray (#0D1117) with purple accent (#5E6AD2)
  • Typography: Inter Tight (display) + Inter (body)
  • Pattern: Command palette (⌘K), dense list views, keyboard-first navigation
  • Layout: Sidebar + main content, minimal chrome, fast transitions
  • Replicate for: Dashboards, admin panels, project management tools

Vercel — deployment platform

  • Colors: Black, white, with subtle gray accents
  • Typography: Geist Sans + Geist Mono
  • Pattern: Deployment cards with status indicators, clean monospace metadata
  • Layout: Centered hero, grid of feature cards (but not the generic 3-card pattern — use varied spans)
  • Replicate for: Dev tool landing pages, deployment dashboards, status pages

Discord — community platform

  • Colors: Dark gray (#36393F) with blurple (#5865F2)
  • Typography: Whitney (custom) or Inter as substitute
  • Pattern: Sidebar-heavy navigation, channel list, member list, chat area
  • Layout: Three-column (server rail + channel sidebar + main content)
  • Replicate for: Chat apps, community tools, real-time dashboards

Spotify — media platform

  • Colors: Black (#121212) with green accent (#1DB954)
  • Typography: Circular (custom) or Inter as substitute
  • Pattern: Large artwork cards, horizontal scroll rows, sticky player bar
  • Layout: Sidebar + content area with horizontal scroll rows
  • Replicate for: Media apps, content browsers, music/video players

Notion — productivity tool

  • Colors: White (or dark mode #191919) with subtle gray
  • Typography: Avenir Next / Inter
  • Pattern: Block-based editor, toggle accordions, clean tables
  • Layout: Full-width content, minimal chrome, document-first
  • Replicate for: Note apps, wikis, documentation, content management

GitHub — developer platform

  • Colors: White (or dark mode #0D1117) with blue accent
  • Typography: -apple-system / Segoe UI / Inter
  • Pattern: Tabbed navigation, code blocks with syntax highlighting, pull request diff view
  • Layout: Sidebar + main content, dense information display
  • Replicate for: Code hosting, developer tools, repository browsers

Apple — product marketing

  • Colors: White with product-specific accents
  • Typography: SF Pro Display + SF Pro Text
  • Pattern: Full-bleed product imagery, scroll-triggered animations, large typography
  • Layout: Full-width sections, massive whitespace, centered product shots
  • Replicate for: Product launches, hardware showcases, premium consumer apps

Color Discipline

Use OKLCH for all colors. Define them as CSS custom properties at :root:

:root {
  --paper: oklch(98% 0.002 240);      /* main background */
  --paper-2: oklch(95% 0.004 240);    /* elevated surface */
  --ink: oklch(20% 0.010 240);        /* primary text */
  --ink-2: oklch(45% 0.008 240);      /* secondary text */
  --ink-3: oklch(65% 0.006 240);      /* tertiary text / borders */
  --accent: oklch(48% 0.12 250);      /* brand accent */
  --accent-soft: oklch(92% 0.03 250); /* accent background */
  --rule: oklch(88% 0.004 240);       /* borders and dividers */
}

Why OKLCH: perceptually uniform, predictable lightness adjustments, better contrast control than HSL or hex.

Typography

Always pair two fonts. A display face for headings and a body face for text.

GenreDisplayBodyMood
Editorial / newsSerif (e.g., Source Serif)Sans (e.g., Inter)Authoritative, readable
SaaS / dev toolGeometric sans (e.g., Geist)Grotesk sans (e.g., Inter)Modern, technical
Creative / agencyDisplay sans (e.g., Space Grotesk)Humanist sans (e.g., Söhne)Distinctive, brand-forward
Terminal / dataMonospace (e.g., JetBrains Mono)MonospaceDense, technical
Playful / consumerRounded sans (e.g., Plus Jakarta)Humanist sans (e.g., Inter)Friendly, approachable

Use Google Fonts or self-host. Never use a system font as the only font — that's an AI tell.

Layout

  • 4pt spacing scale: all spacing values are multiples of 4px (0.25rem). Define as custom properties.
  • Asymmetric grids: not everything is a centered 3-column grid. Use grid-template-columns: 2fr 1fr or varied spans.
  • Intentional whitespace: a section with one sentence and lots of whitespace is stronger than a section crammed with 5 features.
  • Responsive: mobile-first. Test at 320px, 375px, 414px, 768px. No horizontal scroll.

Component Patterns (from real products)

Command palette (Linear-style)

⌘K opens a centered search box
- Filtered list of actions
- Keyboard navigation (arrow keys + enter)
- Recent items at top

Pricing table (Stripe-style)

Three tiers side by side
- Feature comparison rows
- "Most popular" badge on middle tier
- Per-month / per-year toggle
- Clear CTA buttons

Deployment card (Vercel-style)

Card with:
- Project name + framework icon
- Status indicator (ready/building/error)
- Timestamp + commit hash in monospace
- Visit button

Sidebar navigation (Discord-style)

Server rail (narrow, icon-only)
  → Channel sidebar (wider, text labels)
    → Main content area

Workflow

Step 1: Ask what they're building

"What are you building? A landing page, dashboard, web app, or something else?"

Step 2: Recommend a design system

Based on the project type, recommend 2-3 design systems from the catalog. Let the user pick.

Step 3: Set up tokens

Define OKLCH color tokens, font pairing, and spacing scale as CSS custom properties.

Step 4: Build the structure

HTML structure first — no styling. Verify the layout makes sense before adding visual design.

Step 5: Apply the design system

Colors, typography, spacing, component patterns from the chosen design system.

Step 6: Run the slop check

Re-read the anti-AI-slop rules. Check every section against the banned patterns table. Fix any violations.

Step 7: Test responsive

Test at 320px, 375px, 414px, 768px. Fix any horizontal scroll or broken layouts.

Common Pitfalls

  1. Defaulting to the same style every time — Don't always reach for Stripe-style. Match the design system to the project type.
  2. Copying a design system too literally — Use the patterns and principles, not the exact colors. Stripe's indigo doesn't work for every SaaS.
  3. Skipping the font pairing — A single-font page is an AI tell. Always pair a display face with a body face.
  4. Forgetting mobile — Test at 320px. If the layout breaks, fix it before shipping.
  5. Too many animations — Animate transform and opacity only. Most pages have too much motion, not too little.
  6. Ignoring the slop check — The anti-AI-slop rules are not optional. Run the check before shipping.

Verification Checklist

  • Every section checked against the banned-patterns table (no gradient hero, no 3-equal-card grid, no emoji-as-icon)
  • Two distinct fonts confirmed applied (display + body), not a single font for everything
  • Colors defined as OKLCH CSS custom properties at :root, not raw hex scattered through the CSS
  • Page tested at 320px, 375px, 414px, and 768px with no horizontal scroll

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.