Implement SwiftUI navigation patterns including NavigationStack, NavigationSplitView, sheet presentation, tab-based navigation, and deep linking. Use when building push navigation, programmatic routing, multi-column layouts, modal sheets, tab bars, universal links, or custom URL scheme handling.
Detected risks:
The swiftui-navigation skill provides a comprehensive approach to implementing navigation patterns in SwiftUI applications for iOS 26+ using Swift 6.3. It addresses common navigation challenges such as programmatic routing, multi-column layouts, modal sheet presentations, tab-based interfaces, and deep linking. By encapsulating complex navigation flows and standard patterns, it helps developers maintain organized, type-safe, and reusable navigation structures across their apps, reducing boilerplate code and minimizing common pitfalls associated with SwiftUI navigation.
Key features include the use of NavigationStack for push-based navigation with a NavigationPath binding, which supports programmatic navigation and centralized destination mapping. NavigationSplitView allows developers to implement sidebar-detail layouts on iPad and Mac while automatically falling back to stack navigation on iPhone. The skill also provides strategies for sheet presentation, tab-based navigation, and handling deep links via universal links or custom URL schemes. It supports advanced patterns such as per-tab navigation routers and manual multi-column layouts with environment-based size class checks.
This skill is suitable for iOS developers building apps with complex navigation requirements who want to leverage SwiftUI's native patterns efficiently. Target users include developers creating multi-tab apps, apps with master-detail interfaces, modal-heavy flows, or those integrating deep linking for cross-app navigation. It is also helpful for teams seeking standardized navigation patterns, reducing inconsistencies and errors across different parts of an application.
The skill targets iOS 26+ with Swift 6.3, but most navigation patterns are backward-compatible to iOS 17 unless explicitly noted.
Yes, using NavigationStack with a NavigationPath binding, you can programmatically push, pop, or reset the navigation path.
Use NavigationSplitView for automatic sidebar-detail layouts, or manually create an HStack split with horizontalSizeClass checks for custom columns.
Yes, it covers handling universal links and custom URL schemes for deep linking into specific app destinations.
Yes, the skill recommends using a router object per tab to centralize navigation path and sheet state management, ensuring consistent navigation behavior across tabs.
Quick Setup:
.claude/skills/Repository
dpearson2699/swift-ios-skills