Interface Design System is a design Claude Skill built by Joab Gonzalez. Best for: Product designers and developers use this to plan user interfaces with deliberate visual direction and validated user flows before coding..
Design intentional UI with aesthetic direction, user flows, component hierarchy, and state mapping before implementation.
Plan UI with intentional aesthetic direction, user flows, component hierarchy, and visual system. Design decisions before implementation.
Don't use for:
Before writing any UI code, define a clear conceptual direction and commit to it.
## Aesthetic Direction
**Purpose**: What problem does this interface solve? Who uses it?
**Domain**: 5+ concepts, metaphors, or vocabulary from this product's world
**Color world**: 5+ colors that exist naturally in this domain's physical space
**Tone**: Pick ONE — brutally minimal, maximalist, editorial, luxury, brutalist,
retro-futuristic, soft/pastel, industrial, organic... commit to an extreme.
**Differentiation**: What's the one element that could only exist for THIS product?
**Defaults rejected**: Three obvious patterns you're explicitly not doing.
"Bold maximalism and refined minimalism both work — the key is intentionality, not intensity."
Typography: choose distinctive, characterful faces over generic defaults. Color: a palette that feels like it came FROM the product's world, not applied to it. Composition: unexpected layouts, asymmetry, diagonal flow, generous negative space or controlled density — all valid when intentional. Backgrounds: gradient meshes, noise textures, geometric patterns, grain overlays, layered transparencies, dramatic shadows — atmosphere and depth beyond solid colors. Complexity: match implementation to vision — maximalist design = elaborate animations and effects; minimalist = restraint, precision, and whitespace.
## Design Process
1. **Understand** → Who is the user? What's the goal?
2. **Map** → What's the user flow? (entry → action → result)
3. **Structure** → What components are needed? (hierarchy)
4. **Validate** → Does the design meet the requirements?
5. **Implement** → Build with technology skills (react, css, mui)
## User Flow: Checkout
**Entry:** User clicks "Checkout" from cart
**Goal:** Complete purchase
Flow:
1. Review cart items → [Edit quantities] → [Remove items]
2. Enter shipping address → [Auto-fill from saved] → [Validate address]
3. Select shipping method → [Show estimated delivery]
4. Enter payment → [Validate card] → [Show errors inline]
5. Review order → [Edit any section] → [Place order]
6. Confirmation → [Order number] → [Email sent]
**Edge cases:**
- Empty cart → Redirect to shop with message
- Payment failure → Show error, keep form state, retry
- Session timeout → Save progress, prompt re-login
Map the UI structure before building components.
## Component Hierarchy: Dashboard
DashboardPage
├── DashboardHeader
│ ├── PageTitle
│ └── DateRangePicker
├── MetricsRow
│ ├── MetricCard (revenue)
│ ├── MetricCard (orders)
│ └── MetricCard (customers)
├── ChartsSection
│ ├── RevenueChart
│ └── OrdersChart
└── RecentOrdersTable
├── TableHeader
├── TableRow[]
└── Pagination
Identify what state each component needs before implementing.
## State Analysis: Checkout
| Component | State Needed | Source |
|-----------------|---------------------------|--------------------|
| CartReview | items, quantities | Redux store |
| ShippingForm | address fields, errors | Local form state |
| ShippingMethod | methods[], selected | API + local |
| PaymentForm | card fields, errors | Local form state |
| OrderSummary | totals, tax, shipping | Derived from above |
| CheckoutPage | currentStep, isSubmitting | Local state |
Choose ONE depth approach and apply it consistently. Mixing strategies breaks visual coherence.
Borders-only → technical, precise feel; no shadows
Subtle shadows → layered surfaces with soft elevation
Surface shifts → elevation via lightness (dark mode: higher = slightly lighter)
Borders + shadows → reserved for emphasis elements only
❌ Don't mix approaches — inconsistent depth is the clearest sign of no system.
Inputs: slightly darker than surroundings (signals "type here"). Sidebars: same background as canvas with a subtle border — not a different hue that fragments space.
Every interactive element needs all five states defined before shipping.
Default → resting appearance
Hover → cursor over element
Active → pressed/clicked (brief; gives physical feel)
Focus → keyboard navigation — visible ring, never hidden
Disabled → reduced opacity + cursor:not-allowed
❌ Missing focus = broken keyboard accessibility
❌ Missing disabled = broken form UX
## Checkpoint 1: User Flow
- [ ] All user goals are achievable
- [ ] Error cases handled (empty, invalid, failure)
- [ ] Navigation is clear (user always knows where they are)
## Checkpoint 2: Component Structure
- [ ] Each component has single responsibility
- [ ] No component handles 3+ unrelated concerns
- [ ] Hierarchy reflects visual nesting
## Checkpoint 3: State Design
- [ ] State is colocated (closest to where it's used)
- [ ] No redundant state (derived values computed, not stored)
- [ ] Loading and error states accounted for
## Checkpoint 4: Craft Self-Evaluation
- [ ] Swap Test: replacing the typeface/layout with generic alternatives changes how it feels
- [ ] Squint Test: hierarchy is perceivable without reading — contrast/scale carry it
- [ ] Signature Test: 3+ specific elements feel unique to THIS product
- [ ] Token Test: CSS variable names evoke this product's world, not any generic project
Use when evaluating existing UI — a mockup, PR, or shipped feature. Run all 5 dimensions in order.
1. First Impression (2 seconds)
2. Usability
3. Visual Hierarchy
4. Consistency
5. Accessibility (use a11y skill for full audit)
Feedback rules: Be specific (cite element and reason). Suggest alternatives alongside issues. Acknowledge what works.
❌ Generic fonts (Inter, Roboto, Arial, system-ui) when context calls for character
❌ Purple/blue gradients on white — the most overused AI aesthetic
❌ Predictable card-grid-dashboard layouts without context-specific differentiation
❌ "Clean and modern" without defining what those mean for THIS product
❌ Same aesthetic repeated — vary light/dark themes, typefaces, and palettes across projects
"No design should be the same. Make unexpected choices that feel genuinely designed
for this context."
"Extraordinary creative work is possible here — don't hold back."
# ❌ WRONG
"Let me create the components and figure it out as I go."
# ✅ CORRECT
"Let me commit to an aesthetic direction, map the user flow,
define the component hierarchy, identify state needs, then implement."
Visual system: Modular type scale (0.75rem → 3rem), line-height (headings 1.1–1.3, body 1.5–1.7), fluid clamp(). Spacing: 8pt grid (4px → 64px). Color: semantic tokens, WCAG ratios (4.5:1 text, 3:1 UI). See visual-design.md.
Responsive: Mobile-first, content-driven breakpoints. dvh for mobile browser compatibility. Touch targets 44×44px minimum. See responsive-design.md.
Motion: transform/opacity for 60fps. In React, use the Motion library for complex sequences. Timing: 100–150ms (feedback), 200–300ms (toggles), 300–500ms (modals). Support prefers-reduced-motion. One well-orchestrated page-load reveal creates more delight than scattered micro-interactions. See interaction-design.md.
Designing a new page/feature?
→ Aesthetic direction → User flow → Component hierarchy → State analysis
→ Visual design → Responsive → Motion → Implementation
Committing to aesthetic direction?
→ Define tone (pick ONE extreme), differentiation, and 3 defaults you reject
Planning visual design?
→ See references/visual-design.md
Planning responsive behavior?
→ See references/responsive-design.md
Adding interactions/animations?
→ See references/interaction-design.md
Choosing between UI patterns?
→ See Examples table below or references/design-thinking.md
Evaluating existing UI?
→ Run Design Critique Framework (5 dimensions: impression, usability, hierarchy, consistency, a11y)
→ Run 4 craft checkpoints → Verify depth strategy is consistent
→ Confirm all 5 interactive states are covered
Accessibility concerns?
→ Use a11y skill; Checkpoint 4 for planning; visual-design.md for contrast ratios
| Pattern | Use When | Example | |---------|----------|---------| | List → Detail | Browsing collections | Products list → Product page | | Wizard/Steps | Multi-step processes | Checkout, onboarding | | Dashboard | Overview + drill-down | Admin panel, analytics | | Master-Detail | List with inline preview | Email client, file manager | | Modal/Dialog | Focused action, confirmation | Delete confirm, quick edit | | Tabs | Related content sections | Settings, profile sections | | Search + Filter | Large datasets | Product catalog, user list | | Infinite scroll | Content feeds | Social feed, news |
Responsive: Mobile-first, then expand.
Loading states: Every async operation needs loading, success, error, and empty states.
Empty states: Design for zero data (first use, no results, filtered to nothing).
Error recovery: Always provide a way forward — never a dead end.
/plugin install interface-design-system@joabgonzalezRequires Claude Code CLI.
Product designers and developers use this to plan user interfaces with deliberate visual direction and validated user flows before coding.
No reviews yet. Be the first to review this skill.
Joab Gonzalez
@joabgonzalez