| name | swiftui-expert-skill |
| description | Write, review, or improve SwiftUI code following best practices for state management, view composition, performance, macOS-specific APIs, and iOS 26+ Liquid Glass adoption. Use when building new SwiftUI features, refactoring existing views, reviewing code quality, or adopting modern SwiftUI patterns. |
SwiftUI Expert Skill
Operating Rules
- Consult
references/latest-apis.md at the start of every task to avoid deprecated APIs
- Prefer native SwiftUI APIs over UIKit/AppKit bridging unless bridging is necessary
- Focus on correctness and performance; do not enforce specific architectures (MVVM, VIPER, etc.)
- Encourage separating business logic from views for testability without mandating how
- Follow Apple's Human Interface Guidelines and API design patterns
- Only adopt Liquid Glass when explicitly requested by the user (see
references/liquid-glass.md)
- Present performance optimizations as suggestions, not requirements
- Use
#available gating with sensible fallbacks for version-specific APIs
Task Workflow
Review existing SwiftUI code
- Read the code under review and identify which topics apply
- Flag deprecated APIs (compare against
references/latest-apis.md)
- Run the Topic Router below for each relevant topic
- Validate
#available gating and fallback paths for iOS 26+ features
Improve existing SwiftUI code
- Audit current implementation against the Topic Router topics
- Replace deprecated APIs with modern equivalents from
references/latest-apis.md
- Refactor hot paths to reduce unnecessary state updates
- Extract complex view bodies into separate subviews
- Suggest image downsampling when
UIImage(data:) is encountered (optional optimization, see references/image-optimization.md)
Implement new SwiftUI feature
- Design data flow first: identify owned vs injected state
- Structure views for optimal diffing (extract subviews early)
- Apply correct animation patterns (implicit vs explicit, transitions)
- Use
Button for all tappable elements; add accessibility grouping and labels
- Gate version-specific APIs with
#available and provide fallbacks
Topic Router
Consult the reference file for each topic relevant to the current task:
| Topic | Reference |
|---|
| State management | references/state-management.md |
| View composition | references/view-structure.md |
| Performance | references/performance-patterns.md |
| Lists and ForEach | references/list-patterns.md |
| Layout | references/layout-best-practices.md |
| Sheets and navigation | references/sheet-navigation-patterns.md |
| ScrollView | references/scroll-patterns.md |
| Animations (basics) | references/animation-basics.md |
| Animations (transitions) | references/animation-transitions.md |
| Animations (advanced) | references/animation-advanced.md |
| Accessibility | references/accessibility-patterns.md |
| Swift Charts | references/charts.md |
| Charts accessibility | references/charts-accessibility.md |
| Image optimization | references/image-optimization.md |
| Liquid Glass (iOS 26+) | references/liquid-glass.md |
| macOS scenes | references/macos-scenes.md |
| macOS window styling | references/macos-window-styling.md |
| macOS views | references/macos-views.md |
| Deprecated API lookup | references/latest-apis.md |
Correctness Checklist
These are hard rules -- violations are always bugs:
References
references/latest-apis.md -- Read first for every task. Deprecated-to-modern API transitions (iOS 15+ through iOS 26+)
references/state-management.md -- Property wrappers, data flow, @Observable migration
references/view-structure.md -- View extraction, container patterns, @ViewBuilder
references/performance-patterns.md -- Hot-path optimization, update control, _logChanges()
references/list-patterns.md -- ForEach identity, Table (iOS 16+), inline filtering pitfalls
references/layout-best-practices.md -- Layout patterns, GeometryReader alternatives
references/accessibility-patterns.md -- VoiceOver, Dynamic Type, grouping, traits
references/animation-basics.md -- Implicit/explicit animations, timing, performance
references/animation-transitions.md -- View transitions, matchedGeometryEffect, Animatable
references/animation-advanced.md -- Phase/keyframe animations (iOS 17+), @Animatable macro (iOS 26+)
references/charts.md -- Swift Charts marks, axes, selection, styling, Chart3D (iOS 26+)
references/charts-accessibility.md -- Charts VoiceOver, Audio Graph, fallback strategies
references/sheet-navigation-patterns.md -- Sheets, NavigationSplitView, Inspector
references/scroll-patterns.md -- ScrollViewReader, programmatic scrolling
references/image-optimization.md -- AsyncImage, downsampling, caching
references/liquid-glass.md -- iOS 26+ Liquid Glass effects and fallback patterns
references/macos-scenes.md -- Settings, MenuBarExtra, WindowGroup, multi-window
references/macos-window-styling.md -- Toolbar styles, window sizing, Commands
references/macos-views.md -- HSplitView, Table, PasteButton, AppKit interop