References cover views/modifiers, navigation, SwiftData, state management, Liquid Glass across platforms, and App Intents in depth, plus Apple Human Interface Guidelines (HIG) rules with source URLs: accessibility (Dynamic Type to AX5, VoiceOver, contrast, hit targets, Reduce Motion/Transparency), right-to-left, modality/sheets/alerts/onboarding, system surfaces (widgets, Live Activities, notifications, App Shortcuts/Siri/snippets), and iPhone Duo.
Visual specs come from the design-ios handoff when one exists; this skill implements and verifies them. Best practices: extract subviews once a view body mixes responsibilities or stops reading at a glance, compose with ViewBuilder and modifiers, always include #Preview, use system colors (custom colors need light, dark and increased-contrast variants), label every icon-only control, and adapt layout by size class.
SwiftUI CoreSwiftUI fundamentals shared across all Apple platforms.
Agent Workflow (MANDATORY)
Before ANY implementation, spawn 3 agents in parallel, one Agent call each with a name:
- fuse-ai-pilot:explore-codebase - Analyze existing SwiftUI patterns
- fuse-ai-pilot:research-expert - Verify latest SwiftUI docs via Context7/Exa
- mcp__apple-docs__search_apple_docs - Check SwiftUI view patterns
After implementation, run fuse-ai-pilot:sniper for validation.
Overview
When to Use
- Building SwiftUI views and components
- Implementing navigation (NavigationStack, SplitView)
- Data persistence with SwiftData
- State management (@State, @Observable)
- Custom view modifiers and layouts
Why SwiftUI Core
| Feature | Benefit |
|---|---|
| Declarative UI | Less code, automatic updates |
| Cross-platform | Same code for iOS/macOS/watchOS/visionOS |
| @Observable | Simple reactive state |
| SwiftData | Modern persistence with minimal code |
Key Concepts
Views & Modifiers
Composable UI building blocks. Extract subviews at 30+ lines.
Navigation
NavigationStack for stack-based, NavigationSplitView for multi-column.
SwiftData
Modern persistence with @Model. Replaces Core Data for most use cases.
State Management
@State for local, @Observable for shared, @Environment for injection.
Reference Guide
| Need | Reference |
|---|---|
| Views, modifiers, layouts | views-modifiers.md |
| NavigationStack, deep linking | navigation.md |
| SwiftData, @Query, CloudKit | data-swiftdata.md |
| @State, @Observable, Environment | state-management.md |
| Liquid Glass all platforms | liquid-glass.md |
| Siri, Shortcuts, App Intents | app-intents.md |
HIG Rules (load for any UI task)
| Need | Reference |
|---|---|
| Dynamic Type AX5, VoiceOver, contrast, targets, Reduce Motion | hig-accessibility.md |
| Arabic/Hebrew mirroring, numerals | hig-rtl.md |
| Sheets, alerts, modality, onboarding, launch, permissions | hig-modality.md |
| Widgets, Live Activities, notifications, App Shortcuts, Siri, snippets | hig-system-surfaces.md |
| iPhone Duo (foldable), reserved regions, vertical toolbars | hig-iphone-duo.md |
Best Practices
- Small views - Extract at 30+ lines
- Composition - Use ViewBuilder and modifiers
- Preview-driven - Always include #Preview
- System colors - Custom colors ship light, dark and increased-contrast variants (HIG color)
- Accessibility - Label icon-only controls, layout survives AX5, targets >= 44 pt on iOS (hig-accessibility.md)
- Platform adaptation - Size classes, never fixed widths or device checks (HIG layout)