Design & HIG
You MUST use this skill for ANY visual design, HIG compliance, Liquid Glass, SF Symbols, typography, or app composition work.
Quick Reference
| Symptom / Task |
Reference |
| Design decisions, HIG compliance, colors, backgrounds |
See skills/hig.md |
| Semantic colors, custom color patterns, material styles |
See skills/hig-ref.md |
| Liquid Glass effects, adoption, migration from blur effects |
See skills/liquid-glass.md |
| App-wide Liquid Glass adoption, backward compatibility |
See skills/liquid-glass-ref.md |
| SF Symbols rendering modes, effects, animations |
See skills/sf-symbols.md |
| SF Symbols API signatures, UIKit equivalents, availability |
See skills/sf-symbols-ref.md |
| San Francisco fonts, text styles, Dynamic Type, tracking |
See skills/typography-ref.md |
| App entry points, auth flows, root view switching, scene lifecycle |
See skills/app-composition.md |
Decision Tree
digraph design {
start [label="Design task" shape=ellipse];
what [label="What do you need?" shape=diamond];
start -> what;
what -> "skills/hig.md" [label="design decision,\nHIG compliance,\ncolor/background choice"];
what -> "skills/hig-ref.md" [label="semantic color API,\ncustom color code,\nmaterial style details"];
what -> "skills/liquid-glass.md" [label="Liquid Glass effects,\nmigrate from blur,\nRegular vs Clear"];
what -> "skills/liquid-glass-ref.md" [label="app-wide Liquid Glass plan,\nplatform differences,\nbackward compat"];
what -> "skills/sf-symbols.md" [label="rendering mode choice,\nsymbol effects/animations,\ncustom symbols"];
what -> "skills/sf-symbols-ref.md" [label="SF Symbols API syntax,\nUIKit equivalents,\navailability matrix"];
what -> "skills/typography-ref.md" [label="font selection,\nDynamic Type,\ntext styles, tracking"];
what -> "skills/app-composition.md" [label="@main entry point,\nauth flow, root view,\nscene lifecycle"];
}
- Design decision / HIG compliance / choosing colors or backgrounds? →
skills/hig.md
1a. Need semantic color API, custom color code, or material style details? → skills/hig-ref.md
- Liquid Glass effects / migrating from blur / Regular vs Clear variant? →
skills/liquid-glass.md
2a. Planning app-wide Liquid Glass adoption / platform differences / backward compatibility? → skills/liquid-glass-ref.md
- SF Symbols rendering mode / symbol effects / custom symbols? →
skills/sf-symbols.md
3a. Need SF Symbols API syntax / UIKit equivalents / availability check? → skills/sf-symbols-ref.md
- Font selection / Dynamic Type / text styles / tracking / leading? →
skills/typography-ref.md
- App entry point / auth flow / root view switching / scene lifecycle? →
skills/app-composition.md
- SwiftUI view implementation? →
/skill axiom-swiftui
- TextKit / rich text editing / Writing Tools? →
/skill axiom-uikit
- Accessibility compliance (VoiceOver, contrast, touch targets)? →
/skill axiom-accessibility
- Audit UI for Liquid Glass adoption? → liquid-glass-auditor (Agent)
- CarPlay app design, categories, driver-distraction rules? →
/skill axiom-media (carplay-hig.md)
Platform-specific HIG
- watchOS design (glanceable UI, watchOS 10 navigation) → See axiom-watchos (skills/design-for-watchos.md)
Conflict Resolution
design vs swiftui: When building UI:
- Use design FIRST — Decide what to build (colors, materials, typography, layout intent) before how to build it.
- Then use swiftui — Implement the design decision in SwiftUI code.
design vs accessibility: When choosing colors or typography:
- Color contrast or Dynamic Type compliance? → use accessibility
- Which semantic color or text style to pick? → use design
design (liquid-glass) vs swiftui: When implementing Liquid Glass:
- What Liquid Glass is, when to use Regular vs Clear, migration strategy → use design (
skills/liquid-glass.md)
- SwiftUI code for
.glassEffect() modifier → use design (skills/liquid-glass-ref.md), then swiftui for surrounding view code
design (app-composition) vs swiftui: When structuring app architecture:
- @main entry, auth state machine, root view switching, scene lifecycle → use design (
skills/app-composition.md)
- NavigationStack, NavigationSplitView, tab structure → use swiftui
design vs media (CarPlay): When designing for CarPlay:
- General iOS HIG principles (colors, typography, Liquid Glass) → use design
- CarPlay-specific rules (app categories, entitlement review, template-only UI, driver distraction, per-category design rules) → invoke axiom-media (
skills/carplay-hig.md)
- CarPlay rules are stricter than iOS HIG and enforced at entitlement review, not just App Store review.
Critical Patterns
HIG Quick Decisions (skills/hig.md):
- Background color decision tree (media-focused vs standard)
- Typography selection (headline vs body vs caption)
- Color usage guidelines and when to use semantic vs custom colors
- Design review checklist for HIG compliance
HIG Comprehensive Reference (skills/hig-ref.md):
- All semantic colors with platform availability
- Custom color patterns with dark mode support
- Background hierarchy and material styles
- Code examples for every color and background pattern
Liquid Glass (skills/liquid-glass.md):
- What Liquid Glass is and how it differs from blur effects
- Regular vs Clear variant selection
- Migration strategy from pre-iOS 26 materials
- Tinting, legibility, and adaptive behavior troubleshooting
- Expert review criteria for Liquid Glass implementations
Liquid Glass Adoption (skills/liquid-glass-ref.md):
- App-wide adoption planning (icons, controls, navigation, menus)
- Platform-specific behavior (iOS, iPadOS, macOS, tvOS, watchOS)
- Backward compatibility strategy for supporting pre-Liquid Glass
- Accessibility compliance with Liquid Glass interfaces
SF Symbols (skills/sf-symbols.md):
- Rendering mode selection (Monochrome, Hierarchical, Palette, Multicolor)
- Symbol effect selection (Bounce, Pulse, Scale, Wiggle, Rotate, Breathe, Draw)
- Custom symbol creation workflow
- Troubleshooting effects not playing, weight mismatches
SF Symbols API (skills/sf-symbols-ref.md):
- Exact API signatures for rendering modes and effects
- UIKit/AppKit equivalents for every SwiftUI symbol API
- Platform availability matrix
- Configuration options (weight, scale, variable values)
Typography (skills/typography-ref.md):
- San Francisco font system (Pro, Compact, Mono, New York)
- Text styles with Dynamic Type scaling
- Tracking and leading values
- Internationalization considerations
App Composition (skills/app-composition.md):
- @main entry point and root view patterns
- Authentication state machine (login, onboarding, main)
- Flicker-free root view switching
- scenePhase lifecycle handling and state restoration
Anti-Rationalization
| Thought |
Reality |
| "I'll just pick colors that look good" |
Semantic colors adapt to dark mode, accessibility settings, and platform automatically. Custom colors need all of that manually. skills/hig.md has the decision tree. |
| "Liquid Glass is just a blur effect" |
Liquid Glass is a distinct material system with lensing, tinting, and adaptive behavior. Using .blur() instead creates a visually wrong result. skills/liquid-glass.md explains the difference. |
| "I know which SF Symbol rendering mode to use" |
The right mode depends on context (monochrome for toolbars, hierarchical for depth, palette for brand colors). skills/sf-symbols.md has the decision tree. |
| "I'll hardcode font sizes" |
Hardcoded sizes break Dynamic Type, violate HIG, and fail accessibility review. skills/typography-ref.md shows the text style system. |
| "I'll handle auth state with a boolean" |
A boolean can't represent login, onboarding, and main states without race conditions. skills/app-composition.md has the state machine pattern. |
| "Liquid Glass adoption means rewriting my whole UI" |
Most standard SwiftUI/UIKit components adopt automatically. Start by building with latest Xcode, then review. skills/liquid-glass-ref.md has the incremental strategy. |
| "I'll add the SF Symbol animation later" |
Symbol effects are the primary way users perceive interactive feedback. Shipping without them feels broken. skills/sf-symbols.md covers selection. |
| "I'll skip the design review, the code works" |
HIG compliance affects App Store review. Reviewers reject apps that feel wrong even if they function correctly. skills/hig.md has the review checklist. |
Example Invocations
User: "Should I use a dark or light background?"
-> Read: skills/hig.md
User: "What semantic color should I use for secondary text?"
-> Read: skills/hig-ref.md
User: "How do I implement Liquid Glass in my app?"
-> Read: skills/liquid-glass.md
User: "I need to plan Liquid Glass adoption across my whole app"
-> Read: skills/liquid-glass-ref.md
User: "My SF Symbol is flat, I want it to have depth"
-> Read: skills/sf-symbols.md
User: "What's the SwiftUI API for symbol effects?"
-> Read: skills/sf-symbols-ref.md
User: "Which font should I use for body text?"
-> Read: skills/typography-ref.md
User: "How do I switch between login and main screens?"
-> Read: skills/app-composition.md
User: "Check my app's UI for HIG compliance"
-> Read: skills/hig.md, then /skill axiom-accessibility for contrast/Dynamic Type
User: "I want my download button icon to animate"
-> Read: skills/sf-symbols.md
1---2name: axiom-design3description: Use when making design decisions, implementing HIG patterns, Liquid Glass, SF Symbols, typography, or structuring app entry points and authentication flows.4license: MIT5---67# Design & HIG89**You MUST use this skill for ANY visual design, HIG compliance, Liquid Glass, SF Symbols, typography, or app composition work.**1011## Quick Reference1213| Symptom / Task | Reference |14|----------------|-----------|15| Design decisions, HIG compliance, colors, backgrounds | See `skills/hig.md` |16| Semantic colors, custom color patterns, material styles | See `skills/hig-ref.md` |17| Liquid Glass effects, adoption, migration from blur effects | See `skills/liquid-glass.md` |18| App-wide Liquid Glass adoption, backward compatibility | See `skills/liquid-glass-ref.md` |19| SF Symbols rendering modes, effects, animations | See `skills/sf-symbols.md` |20| SF Symbols API signatures, UIKit equivalents, availability | See `skills/sf-symbols-ref.md` |21| San Francisco fonts, text styles, Dynamic Type, tracking | See `skills/typography-ref.md` |22| App entry points, auth flows, root view switching, scene lifecycle | See `skills/app-composition.md` |2324## Decision Tree2526```dot27digraph design {28 start [label="Design task" shape=ellipse];29 what [label="What do you need?" shape=diamond];3031 start -> what;32 what -> "skills/hig.md" [label="design decision,\nHIG compliance,\ncolor/background choice"];33 what -> "skills/hig-ref.md" [label="semantic color API,\ncustom color code,\nmaterial style details"];34 what -> "skills/liquid-glass.md" [label="Liquid Glass effects,\nmigrate from blur,\nRegular vs Clear"];35 what -> "skills/liquid-glass-ref.md" [label="app-wide Liquid Glass plan,\nplatform differences,\nbackward compat"];36 what -> "skills/sf-symbols.md" [label="rendering mode choice,\nsymbol effects/animations,\ncustom symbols"];37 what -> "skills/sf-symbols-ref.md" [label="SF Symbols API syntax,\nUIKit equivalents,\navailability matrix"];38 what -> "skills/typography-ref.md" [label="font selection,\nDynamic Type,\ntext styles, tracking"];39 what -> "skills/app-composition.md" [label="@main entry point,\nauth flow, root view,\nscene lifecycle"];40}41```42431. Design decision / HIG compliance / choosing colors or backgrounds? → `skills/hig.md`441a. Need semantic color API, custom color code, or material style details? → `skills/hig-ref.md`452. Liquid Glass effects / migrating from blur / Regular vs Clear variant? → `skills/liquid-glass.md`462a. Planning app-wide Liquid Glass adoption / platform differences / backward compatibility? → `skills/liquid-glass-ref.md`473. SF Symbols rendering mode / symbol effects / custom symbols? → `skills/sf-symbols.md`483a. Need SF Symbols API syntax / UIKit equivalents / availability check? → `skills/sf-symbols-ref.md`494. Font selection / Dynamic Type / text styles / tracking / leading? → `skills/typography-ref.md`505. App entry point / auth flow / root view switching / scene lifecycle? → `skills/app-composition.md`516. SwiftUI view implementation? → `/skill axiom-swiftui`527. TextKit / rich text editing / Writing Tools? → `/skill axiom-uikit`538. Accessibility compliance (VoiceOver, contrast, touch targets)? → `/skill axiom-accessibility`549. Audit UI for Liquid Glass adoption? → liquid-glass-auditor (Agent)5510. CarPlay app design, categories, driver-distraction rules? → `/skill axiom-media` (carplay-hig.md)5657#### Platform-specific HIG58- watchOS design (glanceable UI, watchOS 10 navigation) → See axiom-watchos (skills/design-for-watchos.md)5960## Conflict Resolution6162**design vs swiftui**: When building UI:631. **Use design FIRST** — Decide what to build (colors, materials, typography, layout intent) before how to build it.642. **Then use swiftui** — Implement the design decision in SwiftUI code.6566**design vs accessibility**: When choosing colors or typography:67- Color contrast or Dynamic Type compliance? → **use accessibility**68- Which semantic color or text style to pick? → **use design**6970**design (liquid-glass) vs swiftui**: When implementing Liquid Glass:71- What Liquid Glass is, when to use Regular vs Clear, migration strategy → **use design** (`skills/liquid-glass.md`)72- SwiftUI code for `.glassEffect()` modifier → **use design** (`skills/liquid-glass-ref.md`), then swiftui for surrounding view code7374**design (app-composition) vs swiftui**: When structuring app architecture:75- @main entry, auth state machine, root view switching, scene lifecycle → **use design** (`skills/app-composition.md`)76- NavigationStack, NavigationSplitView, tab structure → **use swiftui**7778**design vs media (CarPlay)**: When designing for CarPlay:79- General iOS HIG principles (colors, typography, Liquid Glass) → **use design**80- CarPlay-specific rules (app categories, entitlement review, template-only UI, driver distraction, per-category design rules) → **invoke axiom-media** (`skills/carplay-hig.md`)81- CarPlay rules are stricter than iOS HIG and enforced at entitlement review, not just App Store review.8283## Critical Patterns8485**HIG Quick Decisions** (`skills/hig.md`):86- Background color decision tree (media-focused vs standard)87- Typography selection (headline vs body vs caption)88- Color usage guidelines and when to use semantic vs custom colors89- Design review checklist for HIG compliance9091**HIG Comprehensive Reference** (`skills/hig-ref.md`):92- All semantic colors with platform availability93- Custom color patterns with dark mode support94- Background hierarchy and material styles95- Code examples for every color and background pattern9697**Liquid Glass** (`skills/liquid-glass.md`):98- What Liquid Glass is and how it differs from blur effects99- Regular vs Clear variant selection100- Migration strategy from pre-iOS 26 materials101- Tinting, legibility, and adaptive behavior troubleshooting102- Expert review criteria for Liquid Glass implementations103104**Liquid Glass Adoption** (`skills/liquid-glass-ref.md`):105- App-wide adoption planning (icons, controls, navigation, menus)106- Platform-specific behavior (iOS, iPadOS, macOS, tvOS, watchOS)107- Backward compatibility strategy for supporting pre-Liquid Glass108- Accessibility compliance with Liquid Glass interfaces109110**SF Symbols** (`skills/sf-symbols.md`):111- Rendering mode selection (Monochrome, Hierarchical, Palette, Multicolor)112- Symbol effect selection (Bounce, Pulse, Scale, Wiggle, Rotate, Breathe, Draw)113- Custom symbol creation workflow114- Troubleshooting effects not playing, weight mismatches115116**SF Symbols API** (`skills/sf-symbols-ref.md`):117- Exact API signatures for rendering modes and effects118- UIKit/AppKit equivalents for every SwiftUI symbol API119- Platform availability matrix120- Configuration options (weight, scale, variable values)121122**Typography** (`skills/typography-ref.md`):123- San Francisco font system (Pro, Compact, Mono, New York)124- Text styles with Dynamic Type scaling125- Tracking and leading values126- Internationalization considerations127128**App Composition** (`skills/app-composition.md`):129- @main entry point and root view patterns130- Authentication state machine (login, onboarding, main)131- Flicker-free root view switching132- scenePhase lifecycle handling and state restoration133134## Anti-Rationalization135136| Thought | Reality |137|---------|---------|138| "I'll just pick colors that look good" | Semantic colors adapt to dark mode, accessibility settings, and platform automatically. Custom colors need all of that manually. `skills/hig.md` has the decision tree. |139| "Liquid Glass is just a blur effect" | Liquid Glass is a distinct material system with lensing, tinting, and adaptive behavior. Using `.blur()` instead creates a visually wrong result. `skills/liquid-glass.md` explains the difference. |140| "I know which SF Symbol rendering mode to use" | The right mode depends on context (monochrome for toolbars, hierarchical for depth, palette for brand colors). `skills/sf-symbols.md` has the decision tree. |141| "I'll hardcode font sizes" | Hardcoded sizes break Dynamic Type, violate HIG, and fail accessibility review. `skills/typography-ref.md` shows the text style system. |142| "I'll handle auth state with a boolean" | A boolean can't represent login, onboarding, and main states without race conditions. `skills/app-composition.md` has the state machine pattern. |143| "Liquid Glass adoption means rewriting my whole UI" | Most standard SwiftUI/UIKit components adopt automatically. Start by building with latest Xcode, then review. `skills/liquid-glass-ref.md` has the incremental strategy. |144| "I'll add the SF Symbol animation later" | Symbol effects are the primary way users perceive interactive feedback. Shipping without them feels broken. `skills/sf-symbols.md` covers selection. |145| "I'll skip the design review, the code works" | HIG compliance affects App Store review. Reviewers reject apps that feel wrong even if they function correctly. `skills/hig.md` has the review checklist. |146147## Example Invocations148149User: "Should I use a dark or light background?"150-> Read: `skills/hig.md`151152User: "What semantic color should I use for secondary text?"153-> Read: `skills/hig-ref.md`154155User: "How do I implement Liquid Glass in my app?"156-> Read: `skills/liquid-glass.md`157158User: "I need to plan Liquid Glass adoption across my whole app"159-> Read: `skills/liquid-glass-ref.md`160161User: "My SF Symbol is flat, I want it to have depth"162-> Read: `skills/sf-symbols.md`163164User: "What's the SwiftUI API for symbol effects?"165-> Read: `skills/sf-symbols-ref.md`166167User: "Which font should I use for body text?"168-> Read: `skills/typography-ref.md`169170User: "How do I switch between login and main screens?"171-> Read: `skills/app-composition.md`172173User: "Check my app's UI for HIG compliance"174-> Read: `skills/hig.md`, then `/skill axiom-accessibility` for contrast/Dynamic Type175176User: "I want my download button icon to animate"177-> Read: `skills/sf-symbols.md`