Use when building, fixing, or improving ANY iOS UI including SwiftUI, UIKit, layout, navigation, animations, design guidelines. Covers view updates, layout bugs, navigation issues, performance, architecture, Apple design compliance.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: axiom-ios-ui description: Use when building, fixing, or improving ANY iOS UI including SwiftUI, UIKit, layout, navigation, animations, design guidelines. Covers view updates, layout bugs, navigation issues, performance, architecture, Apple design compliance.
iOS UI Router
You MUST use this skill for ANY iOS UI work including SwiftUI, UIKit, layout, navigation, animations, and design.
When to Use
Use this router when working with:
- SwiftUI views, state, bindings
- UIKit views and constraints
- Layout issues (Auto Layout, SwiftUI layout)
- Navigation (NavigationStack, deep linking)
- Animations and transitions
- Liquid Glass design (iOS 26+)
- Apple Human Interface Guidelines
- UI architecture and patterns
- Accessibility UI issues
Conflict Resolution
ios-ui vs ios-performance: When UI is slow (e.g., "SwiftUI List slow"):
- Try ios-ui FIRST — Domain-specific fixes (LazyVStack, view identity, @State optimization) often solve UI performance in 5 minutes
- Only use ios-performance if domain fixes don't help — Profiling takes longer and may confirm what domain knowledge already knows
Rationale: Jumping to Instruments wastes time when the fix is a known SwiftUI pattern. Profile AFTER trying domain fixes, not before.
Routing Logic
SwiftUI Issues
View not updating → /skill axiom-swiftui-debugging
Navigation issues → /skill axiom-swiftui-nav
Performance/lag → /skill axiom-swiftui-performance
Layout problems → /skill axiom-swiftui-layout
Stacks/grids/outlines → /skill axiom-swiftui-containers-ref
Animation issues → /skill axiom-swiftui-animation-ref
Gesture conflicts → /skill axiom-swiftui-gestures
Architecture/testability → /skill axiom-swiftui-architecture
App-level composition → /skill axiom-app-composition
iOS 26 features → /skill axiom-swiftui-26-ref
UIKit Issues
Auto Layout conflicts → /skill axiom-auto-layout-debugging
Animation timing issues → /skill axiom-uikit-animation-debugging
Design & Guidelines
Liquid Glass adoption → /skill axiom-liquid-glass
Design decisions → /skill axiom-hig
Typography → /skill axiom-typography-ref
TextKit/rich text → /skill axiom-textkit-ref
Accessibility
VoiceOver, Dynamic Type → /skill axiom-accessibility-diag
Testing
UI test flakiness → /skill axiom-ui-testing
Decision Tree
User asks about UI
├─ SwiftUI?
│ ├─ View not updating? → swiftui-debugging
│ ├─ Navigation? → swiftui-nav
│ ├─ Performance? → swiftui-performance
│ ├─ Layout (adaptive)? → swiftui-layout
│ ├─ Stacks/grids/outlines? → swiftui-containers-ref
│ │ (VStack, HStack, LazyVGrid, LazyHGrid, OutlineGroup, DisclosureGroup)
│ ├─ Feature-level architecture? → swiftui-architecture
│ ├─ App-level composition? → app-composition
│ │ (root view switching, auth flows, scene lifecycle, modularization)
│ └─ Animations/gestures? → swiftui-animation-ref or swiftui-gestures
│
├─ UIKit?
│ ├─ Auto Layout? → auto-layout-debugging
│ └─ Animations? → uikit-animation-debugging
│
├─ Design guidelines?
│ ├─ Liquid Glass? → liquid-glass
│ ├─ HIG compliance? → hig
│ └─ Typography? → typography-ref
│
└─ Accessibility? → accessibility-diag
Example Invocations
User: "My SwiftUI view isn't updating when I change the model"
→ Invoke: /skill axiom-swiftui-debugging
User: "How do I implement Liquid Glass in my toolbar?"
→ Invoke: /skill axiom-liquid-glass
User: "NavigationStack is popping unexpectedly"
→ Invoke: /skill axiom-swiftui-nav
User: "Should I use MVVM for this SwiftUI app?"
→ Invoke: /skill axiom-swiftui-architecture
User: "How do I switch between login and main screens?"
→ Invoke: /skill axiom-app-composition
User: "Where should auth state live in my app?"
→ Invoke: /skill axiom-app-composition
User: "How do I create a grid layout with LazyVGrid?"
→ Invoke: /skill axiom-swiftui-containers-ref
User: "What's the difference between VStack and LazyVStack?"
→ Invoke: /skill axiom-swiftui-containers-ref
User: "How do I display hierarchical data with OutlineGroup?"
→ Invoke: /skill axiom-swiftui-containers-ref
More by CharlesWiltgen
View allUse when porting OpenGL/DirectX to Metal - translation layer vs native rewrite decisions, migration planning, anti-patterns
Use when UI is slow, scrolling lags, animations stutter, or when asking 'why is my SwiftUI view slow', 'how do I optimize List performance', 'my app drops frames', 'view body is called too often', 'List is laggy' - SwiftUI performance optimization with Instruments 26 and WWDC 2025 patterns
Use for Core Location troubleshooting - no location updates, background location broken, authorization denied, geofence not triggering
Reference — Comprehensive SwiftUI navigation guide covering NavigationStack (iOS 16+), NavigationSplitView (iOS 16+), NavigationPath, deep linking, state restoration, Tab+Navigation integration (iOS 18+), Liquid Glass navigation (iOS 26+), and coordinator patterns