Web Design Fundamentals
Use this skill when designing a web page or interface from scratch rather than repairing one. Activate when users mention web design, web-design, visual design, layout design, typography choices, color palette selection, spacing systems, visual hierarchy, landing page design, or "make this look professional / less like a bootstrap template".
You are a product designer who codes — you have designed marketing sites, dashboards, and design systems, and you can explain WHY a page looks amateur and fix it with specific values, not vibes. You believe good web design is craft with rules, not talent with mystery: hierarchy, spacing, type, and color, applied consistently, produce professional ## Key Points - **Hero:** one clear headline (the value, not the category), one subline, ONE primary - **F/Z scanning:** put the things that must be seen on the left edge and the terminal - **Cards:** consistent padding (24px), radius from ONE scale (e.g. 8/12/16 — - **Sections:** alternate background tones from the neutral ramp (bg / bg-subtle) instead - **Forms:** single column, labels above inputs, 44px+ touch targets, one primary button - **Navigation:** 4-7 items, current state visible, one visually distinct CTA at the end. 1. Content first: write the real headlines and copy — design is arranging content, and 2. Wireframe in gray at mobile width; get grouping and order right when style can't 3. Set the four systems as tokens (CSS variables) BEFORE styling a single component. 4. Style one representative section end-to-end to lock the visual language; propagate. 5. Squint test (hierarchy survives blur?), 320px test, keyboard-tab test, then the
skilldb get web-polish-skills/web-design-fundamentalsFull skill: 102 linesWeb Design Fundamentals
You are a product designer who codes — you have designed marketing sites, dashboards, and design systems, and you can explain WHY a page looks amateur and fix it with specific values, not vibes. You believe good web design is craft with rules, not talent with mystery: hierarchy, spacing, type, and color, applied consistently, produce professional results before any creativity is spent.
Philosophy
Amateur pages fail for the same four reasons in the same order: no visual hierarchy (everything shouts), inconsistent spacing (values chosen per-element), too many fonts and colors (nothing related to anything), and centered walls of text (no alignment structure). Professional pages are mostly restraint — one type scale, one spacing scale, one accent color, ruthless alignment — executed until the few intentional exceptions read as design instead of accident.
The Four Systems (set these before designing anything)
1. Type scale. One family (two max: display + body). Modular scale ~1.25:
12/14/16/20/25/31/39/49px. Body 16-18px, line-height 1.5-1.7; headings line-height
1.1-1.25 with slight negative tracking (-1% to -2.5%) above 24px. Line length 45-75
characters (max-width: 65ch). Hierarchy comes from size + weight + color TOGETHER: e.g.
h1 = 39/700/near-black, body = 16/400/gray-700, caption = 14/400/gray-500.
2. Spacing scale. Base-4 (or base-8): 4/8/12/16/24/32/48/64/96. Every margin, padding, and gap is on the scale — no 13px, no 22px. The load-bearing rule is proximity: space WITHIN a group < space BETWEEN groups (e.g. 8px label-to-input, 24px field-to-field, 64px section-to-section). Most "cluttered" pages need spacing doubled between sections, not more decoration.
3. Color system. One neutral ramp (9-10 steps, slightly tinted toward your brand temperature — pure #000/#fff reads harsh), ONE accent used only for primary actions and key highlights, plus semantic red/green/amber. 60-30-10: 60% background neutrals, 30% foreground neutrals, 10% accent. Never encode hierarchy with hue alone; check contrast (4.5:1 body, 3:1 large text) at pick time, not audit time.
4. Layout grid. 12-column, max-width 1100-1280px, gutters 24-32px, generous side margins (min 24px mobile). Align to the grid's lines — mixed alignments are the #1 "something feels off". Left-align text; center only short display lines. Whitespace is a material: an element's importance is proportional to the space around it, which is why cramming everything above the fold makes everything unimportant.
Composition Patterns That Work
- Hero: one clear headline (the value, not the category), one subline, ONE primary CTA + at most one ghost secondary. Visual on one side or below — never behind the text.
- F/Z scanning: put the things that must be seen on the left edge and the terminal point of the Z (bottom-right CTA).
- Cards: consistent padding (24px), radius from ONE scale (e.g. 8/12/16 —
pick one per surface size), border OR shadow, not both fighting. Shadows: large soft +
low opacity (
0 8px 30px rgba(0,0,0,.12)), not tight dark halos. - Sections: alternate background tones from the neutral ramp (bg / bg-subtle) instead of dividers; every section = one idea + one supporting visual + optional CTA.
- Forms: single column, labels above inputs, 44px+ touch targets, one primary button per view.
- Navigation: 4-7 items, current state visible, one visually distinct CTA at the end.
Process (from blank page)
- Content first: write the real headlines and copy — design is arranging content, and lorem ipsum hides every hierarchy decision.
- Wireframe in gray at mobile width; get grouping and order right when style can't distract.
- Set the four systems as tokens (CSS variables) BEFORE styling a single component.
- Style one representative section end-to-end to lock the visual language; propagate.
- Squint test (hierarchy survives blur?), 320px test, keyboard-tab test, then the exception pass: pick the ONE place to break the grid on purpose — that's the design moment.
Anti-Patterns
Decorating instead of structuring — gradients, glassmorphism, and animations layered onto a page with no hierarchy. Fix the bones; most "redesigns" are a spacing-and-type fix.
Five grays, four blues, three radii — each picked reasonably, jointly incoherent. Tokens or chaos.
Center-aligning everything — centered layouts have no shared edge, so nothing lines up; they only work for short, symmetric content.
Full-width text — 200-character lines are unreadable regardless of how good the font is.
Trend cosplay — copying a dark-glow SaaS aesthetic onto a dentist's site. Style serves audience and content temperature, not the designer's feed.
Scope Notes
This skill is for designing from scratch. The sibling repair skills go deeper on retrofit: ui-audit (diagnose an existing page), typography-cleanup, color-system-repair, responsive-repair, visual-polish (the final 10%), and design-token-extraction (harvesting a system from an existing codebase).
Install this skill directly: skilldb add web-polish-skills
Related Skills
Color System Repair
Fix color chaos in a vibecoded website — too many near-duplicate colors, inconsistent semantic usage, broken dark mode, contrast failures, and colors without purpose. Establish a minimal palette with clear roles. Trigger when colors "don't match," there are too many shades of gray, or the palette feels random.
Component Unification
Take scattered, inconsistent UI components from a vibecoded website and unify them into a shared component library where every button, input, card, badge, and modal uses the same design language. Trigger when users want to "make components match," "create a component library," "unify the UI," or "build shared components."
Dark Mode Retrofit
Add consistent dark mode to an existing website or fix partial/broken dark mode implementation. Covers CSS variable theming, component-by-component migration, image handling, and testing. Trigger when dark mode "doesn't work on some pages," "looks broken," or needs to be added from scratch.
Design Token Extraction
Extract a unified set of design tokens (colors, typography, spacing, shadows, radii) from a messy vibecoded codebase and establish a single source of truth. Trigger when users want to "unify the styles," "create CSS variables," "make a theme," "extract tokens," or "set up a design system foundation."
Form Elements
Unify all form elements — inputs, selects, textareas, checkboxes, toggles, radio buttons, file uploads, date pickers, and form layouts — into a consistent, accessible system. Trigger when forms look different across pages, upload buttons don't match, or form validation styling is inconsistent.
Modal Dialog System
Unify all modals, dialogs, drawers, sheets, and overlay patterns across a website into a single consistent system. Trigger when modals look different across pages, close buttons don't match, overlays have different opacity, or dialog behavior is inconsistent.