swiftui-navigation

Implement SwiftUI navigation with type-safe routes, sheets, and deep links.

Updated May 10, 2026
One-click install
npx skills add https://github.com/FelixRauch/medat-figuren --skill swiftui-navigation-felixrauch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: swiftui-navigation
Source: https://github.com/FelixRauch/medat-figuren/tree/main/.agents/skills/swiftui-navigation
Command: npx skills add https://github.com/FelixRauch/medat-figuren --skill swiftui-navigation-felixrauch

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It solves the complexity of implementing correct, scalable SwiftUI navigation flows across push navigation, split-view layouts, modal sheets, tabs, and deep links.

Core Features & Use Cases

  • NavigationStack push routing: Implement type-safe programmatic navigation using a NavigationPath and route mappings via .navigationDestination(for:).
  • NavigationSplitView for iPad layouts: Provide sidebar-detail navigation while keeping stack behavior on smaller devices.
  • Centralized sheet routing: Present modals using a SheetDestination enum with sheet(item:) (including iOS 26 presentation sizing and dismissal confirmation).
  • Tab-based architecture: Build scalable TabView setups with independent NavigationStack per tab and typed selection using Tab(value:).
  • Deep linking support: Route universal links, custom URL schemes, and Handoff via a centralized router entry point and SwiftUI openURL / userActivity handlers.

Quick Start

Use the swiftui-navigation skill to design a router-driven SwiftUI navigation system for an app that needs push navigation, independent per-tab history, modal sheets, and universal link routing.

Frequently Asked Questions about swiftui-navigation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement type-safe programmatic navigation in SwiftUI using NavigationStack?

Type-safe programmatic navigation in SwiftUI uses a Hashable route enum and centralized .navigationDestination(for:) mappings. A router-owned NavigationPath manages the stack, allowing you to push typed route values instead of relying on implicit value-based navigation links.

What's the best way to handle deep linking and universal links in a SwiftUI app?

Deep linking in SwiftUI is handled via a centralized router entry point using .onOpenURL and onContinueUserActivity. This router parses universal links and custom URL schemes, routing them to the correct screens with fallback to system behavior.

Can I manage modal sheet presentation and dismissal state centrally in SwiftUI?

Modal sheet presentation is managed centrally using a SheetDestination enum and the sheet(item:) modifier. The router owns the sheet state, allowing type-safe sheet presentation, including iOS 26 presentation sizing and dismissal confirmation.

How do I build a SwiftUI TabView with independent navigation history per tab?

Build scalable TabView setups by embedding an independent NavigationStack within each tab. Use typed selection with Tab(value:) to ensure each tab maintains its own navigation path and routing history.

Does this approach support NavigationSplitView for iPad master-detail layouts?

Yes, NavigationSplitView is supported to provide sidebar-detail navigation for iPad layouts. It maintains standard stack behavior when adapting to smaller devices like iPhone.

Why does my SwiftUI navigation routing break when handling external URLs?

External URL routing breaks without a centralized router entry point. Implement deep-link handling via .onOpenURL and onContinueUserActivity with a defined fallback to system behavior to ensure links reach the correct screens.