All skills

Enforces professional visual design standards — typography, color systems, layout hierarchy, components, and animations — on every UI task. TRIGGER when: user asks to style a component, design a page, pick fonts or colors, build a navbar/card/button/modal/form, says "make it look good", "improve the design", "style this", "it looks generic", or starts building any visible UI element. TRIGGER also when: user asks about spacing, layout, animations, or micro-interactions on any web interface. DO NOT TRIGGER when: user is working on backend logic, database schemas, API routes, or any non-visual server-side task.

  • 1 file
  • 10 KB
  • Updated last month
  • GitHub

Use this Skill: https://skilld.dev/gh/mdzubair933/web-design-mastery-skills/visual-design-system

This session only. Nothing lands on disk.

SKILL.md

≈160 tokens always: the name and description. ≈2.4k when used: this file.

Visual Design System

Enforces premium, non-generic visual design across every UI element — from typography and color to layout hierarchy, component polish, and animations. Primary constraint: every visual decision must be intentional and mapped to the global CSS variable system — no hardcoded values, no default framework aesthetics, no AI-slop styling.

Core Rules

Rule: Eliminate default system fonts. Why: system fonts and template defaults signal unpolished, low-effort development instantly. Select intentional typefaces — Inter or Poppins for body/UI, Everett 700 for hero headings.

Rule: Declare all colors as CSS root variables before using them anywhere. Why: hardcoded hex values inside components destroy global theming — a brand color change requires editing 50+ files instead of one variable.

Rule: Whitespace is not empty space — it is a design asset. Why: cramped layouts look cheap and amateur. Generous padding and margin create the "breathing room" that makes interfaces feel premium and expensive.

Rule: Never style all cards or tiers equally on a pricing or feature page. Why: equal visual weight gives the user no guidance. Differentiate with size, gradient borders, glow shadows, and accent banners to guide the eye to the most important CTA.

Rule: Never use linear transitions on any UI animation. Why: linear motion looks mechanical. Always use ease-in-out with duration-300 minimum — this simulates physical velocity and makes motion feel natural.

Rule: Always declare cursor: pointer on custom clickable elements. Why: missing pointer cursor is the clearest marker of AI-generated UI — it makes custom buttons feel broken and unfinished.

Typography System

Font Selection by Role:

  • Hero headers / brand taglines: Everett 700 (editorial, high-impact)
  • UI body / dashboards / labels: Inter or Poppins (legible, professional)
  • Never use: default browser fonts, Comic Sans, or unverified Google Fonts

Font Weight Scale:

Weight Use case
900 Massive hero headings only — maximum visual impact
700 Section headings, primary labels, button text
600 Sub-headings, card titles, form labels
400 Body copy, paragraphs, secondary descriptions
100–200 Pricing display numbers, premium minimal accents only — never in dense content

Research Rule: Use ColorZilla browser extension to sample exact hex codes from competitor UIs. Use WhatFont extension to identify exact font family and weight. Never copy colors from screenshots — compression distorts them.

Color System

Five required categories — define all before writing any CSS:

  • --primary: dominant brand identifier (e.g., royal purple, deep navy)
  • --primary-hover: slightly lighter/darker variant of primary for hover state
  • --accent: vibrant contrasting CTA color (electric green, bright blue, yellow)
  • --background / --surface: page and card backgrounds
  • --foreground / --muted: primary and secondary text

global.css root variable structure:

:root {
  --primary:       #[hex];
  --primary-hover: #[hex];
  --accent:        #[hex];
  --background:    #[hex];
  --surface:       #[hex];
  --border:        #[hex];
  --foreground:    #[hex];
  --muted:         #[hex];
  --danger:        #ef4444;
  --success:       #22c55e;
  --radius-sm:     8px;
  --radius-md:     12px;
  --radius-lg:     20px;
}

Layout & Spacing

Visual Hierarchy Rule: Size, contrast, color, and spacing must guide the user's eye to what matters most first. Never treat all elements as equal weight.

Bento Grid: Use for feature lists, dashboards, and data-heavy views. Varied card sizes packed into a cohesive grid feel designed — equal-size grids feel templated.

Z-Axis Management: Manage z-index actively. Floating elements, popups, and hover shadows must sit on explicitly higher z-index layers — never let them bleed beneath neighboring containers.

Pricing Page Rule:

  • Free / basic tier → flat card, minimal styling
  • Premium / "Most Popular" tier → larger card, gradient border, shadow glow, accent banner ("Best Value" / "30% Off") — this directs the user to the highest-value CTA automatically

Component Standards

Button Variants — define all four before using any:

Variant Style Use case
Primary Solid --primary bg, rounded-xl, no border Main CTA action
Secondary Subtle bg + thin --primary border Supporting action
Ghost Transparent bg, border appears on hover only Tertiary / nav actions
Danger Solid --danger bg Destructive actions only (delete, remove)

Input Fields:

  • Soft light-grey border at rest
  • Smooth ease-in-out transition on focus
  • Glowing --primary colored outline on focus state
  • Never use sharp default browser input styling

Icons: Replace text labels ("Edit", "Delete") with SVG icons from Lucide Icons or Remix Icons. Why: icon-based UI is cleaner, faster to scan, and feels more professional than raw text labels.

Sidebar / Panel Layout:

  • Left sidebar: fixed height, non-scrollable
  • Right content area: scrollable only
  • On mobile: sidebar collapses to a drawer — never shrinks inline

Animation Standards

Micro-interactions on buttons:

  • Hover: hover:-translate-y-0.5 transition-all duration-300 ease-in-out
  • Shadow glow expands on hover
  • Never use sudden color snaps — always transition

Modals and Drawers:

  • Enter: slide in from right, ease-out duration-300
  • Overlay: background fades to dark smoothly — never snaps black
  • Exit: slide out with ease-in — never disappears instantly
  • Close icon: positioned visually near the action text, not in a corner alone

Glassmorphism (sticky navbars / floating panels):

backdrop-filter: blur(12px);
background: rgba(255,255,255,0.7);

Why: creates a premium translucent layer that lets page content scroll beneath without losing the nav — used by Stripe, Linear, Vercel.

Design-to-Code Pipeline

Follow this order. Do not skip steps. Coding before mockup produces AI slop.

  1. Wireframe — grayscale layout only. No colors, no fonts, no icons. Tools: Excalidraw, Balsamiq, or Claude Design.
  2. Mockup — pixel-perfect static design with exact colors, fonts, spacing. Tools: Figma. Lock the Design.md variables here.
  3. Prototype — connect mockup screens into a clickable flow. Tools: Google Stitch. Validate routing and modal behavior before coding.
  4. UI Code — translate confirmed prototype into React/Next.js + Tailwind.

Design.md: Create a Design.md at project root documenting exact layout widths, border-radii, color hex codes, font names, and padding targets. This is the master spec for the AI when generating UI code.

Decision Guide

Situation Correct action
Site looks generic after coding Root cause: no wireframe/mockup was built first — restart with design step
Client wants to change brand color Update one CSS root variable — done globally
Two buttons look identical in priority Apply hierarchy: one Primary, one Ghost or Secondary
Animation feels jarring or robotic Replace linear with ease-in-out duration-300
Mobile layout is broken/cramped Sidebar must collapse to drawer — never inline-shrink

Anti-Patterns

❌ Never do this ✅ Do this instead
Hardcode hex values in component files Map all colors to global.css root variables
Use default framework button/input styling Define all 4 button variants and input focus states
Use linear transitions Use ease-in-out duration-300 minimum on all animations
Style all pricing cards identically Apply visual hierarchy — differentiate premium tier
Copy colors from competitor screenshots Use ColorZilla extension to sample from live DOM
Skip wireframe, design in code directly Always wireframe → mockup → prototype → code

Gotchas

  • Glassmorphism and micro-interactions are finish work — apply them after layout, spacing, and component architecture are solid.

  • A design that looks good on desktop but breaks on mobile is not done. Every component must have responsive behavior planned from the start.

  • Everett 700 is not on Google Fonts — it must be purchased or sourced separately and placed in public/fonts/. Always verify font licensing.

  • The Design.md file is consumed by the AI IDE — the more specific its values, the more accurate the generated UI will be.


Handoff

Skill: visual-design-system
Type: Reference
Trigger phrases covered: "style this", "make it look good", "it looks generic",
  "build a navbar/card/button", "pick fonts or colors", "improve the design"
DO NOT TRIGGER for: backend logic, API routes, database work, server-side tasks
Test prompts to verify:
  1. "Build me a pricing page with three tiers" → Should trigger; hierarchy rules applied,
     premium card differentiated with gradient border and accent banner
  2. "This looks too generic, fix the design" → Should trigger; root cause traced to
     missing wireframe/mockup; design pipeline enforced
  3. "Write an Express middleware for auth" → Should NOT trigger; backend task, no UI involved
Pass/fail rubric score: 5/5
Suggested next iteration: add dark mode variable rules if user's projects
  frequently require dark/light theme switching

Source: SKILL.md on GitHub

No third-party reports yet.

Signed by skilld at e0e2d0a. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last month.

Steadyupdated last month

README badge

README badge for mdzubair933/web-design-mastery-skills/visual-design-system