web-design-mastery
from anilcancakir/my-claude-code
Production-grade Claude Code setup: plugins, MCP servers, skills, and performance optimizations.
3 stars0 forksUpdated Jan 26, 2026
npx skills add https://github.com/anilcancakir/my-claude-code --skill web-design-masterySKILL.md
Web Design Mastery
Production-grade UI design principles from Refactoring UI by Adam Wathan & Steve Schoger.
Core Design Workflow
1. Start with a Feature, Not a Layout
- Design the actual piece of functionality first
- Don't start with navigation, sidebar, or shell
- Details come later—work in grayscale first
- Don't design too much—work in cycles
2. Establish Systems Before Designing
Define these systems up front to eliminate decision fatigue:
Spacing Scale (px):
| Token | Size | Use Case |
|---|---|---|
| 1 | 4 | Micro gaps |
| 2 | 8 | Tight, within components |
| 3 | 12 | Related elements |
| 4 | 16 | Section padding |
| 6 | 24 | Between sections |
| 8 | 32 | Major separation |
| 12 | 48 | Large gaps |
| 16 | 64 | Hero spacing |
| 24 | 96 | Maximum separation |
Type Scale (px):
| Size | Use Case |
|---|---|
| 12 | Labels, meta, fine print |
| 14 | Body text, default |
| 16 | Emphasis, subheadings |
| 18 | Section headings |
| 20 | Card titles |
| 24 | Page section titles |
| 30 | Page headings |
| 36 | Hero subheading |
| 48 | Hero heading |
| 60-72 | Display text |
Shadow Scale (5 levels):
| Level | Use Case |
|---|---|
| 1 | Buttons, subtle lift |
| 2 | Cards, inputs |
| 3 | Dropdowns, popovers |
| 4 | Sticky elements |
| 5 | Modals, dialogs |
3. Build Hierarchy, Not Decoration
- Primary: Dark color (headlines, key actions)
- Secondary: Grey (supporting text, dates)
- Tertiary: Light grey (metadata, copyright)
Key principles:
- Size isn't everything—use weight and color
- Emphasize by de-emphasizing competing elements
- Labels are a last resort—combine with values
- Semantics are secondary to hierarchy
4. Apply Depth Meaningfully
- Light comes from above
- Shadows convey elevation (closer = more attention)
- Use two-part shadows for premium look
- Consider overlapping elements for layers
5. Finish with Polish
- Supercharge defaults (bullets → icons, style quotes)
- Add accent borders for visual interest
- Design empty states as first impressions
- Use fewer borders—prefer shadows or spacing
Color System
Categories needed:
- Greys (8-10 shades): Text, backgrounds, panels, borders
- Primary (5-10 shades): Actions, active states, links
- Accents (per semantic): Success, warning, error states
Process for defining shades:
- Pick base color (500) that works as button background
- Pick edges (100 for tinted bg, 900 for text)
- Fill gaps: 700, 300 → 800, 600, 400, 200
Key rules:
- Use HSL for intuitive adjustments
- Increase saturation at lightness extremes
- Rotate hue toward bright (60°, 180°, 300°) for lighter
- Greys can be warm (yellow/orange tint) or cool (blue tint)
- Accessibility: 4.5:1 contrast for normal text, 3:1 for large
Anti-Patterns
NEVER do:
- Grey text on colored backgrounds (hand-pick colors instead)
- Fill the whole screen when content needs less
- Use grids religiously (fixed widths often better)
- Ambiguous spacing (more space between groups than within)
- Relative sizing that doesn't scale
- Scale icons beyond intended size
- Rely on color alone for meaning
Reference Files
For detailed guidance on specific topics:
| Topic | File | When to Read |
|---|---|---|
| Visual hierarchy, labels, emphasis | hierarchy.md | Balancing element importance |
| Spacing, white space, layout grids | spacing-layout.md | Layout decisions |
| Typography, fonts, line-height | typography.md | Text styling |
| HSL, shades, accessibility | color.md | Color palette creation |
| Shadows, elevation, layers | depth.md | Adding depth to UI |
| Borders, backgrounds, empty states | finishing-touches.md | Polishing design |
Repository Stats
Stars3
Forks0
LicenseMIT License