swiftui-navigation

Configure programmatic routing and per-tab navigation in SwiftUI apps.

Updated Apr 19, 2026
One-click install
npx skills add https://github.com/femitz/flyby --skill swiftui-navigation-femitz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: swiftui-navigation
Source: https://github.com/femitz/flyby/tree/main/.agents/skills/swiftui-navigation
Command: npx skills add https://github.com/femitz/flyby --skill swiftui-navigation-femitz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Building complex navigation flows in SwiftUI across push navigation, multi-column layouts, modal sheets, and tab-based interfaces can be error-prone and hard to reuse.

Core Features & Use Cases

  • Push and depth-aware navigation with NavigationStack and per-tab stacks
  • Multi-column layouts via NavigationSplitView and adaptive interfaces
  • Modal flows with sheet presentation and centralized routing for reusable modals
  • Tab-based navigation with independent navigation stacks per tab
  • Deep linking support through universal links and custom URL schemes
  • Guidance on best practices, common pitfalls, and design patterns for scalable navigation

Quick Start

Invoke a reusable SwiftUI navigation pattern by integrating a RouterPath per tab and wiring navigation destinations with navigationDestination(for:).

Frequently Asked Questions about swiftui-navigation

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

FAQPage Schema
How do I manage independent NavigationStack routing for each tab in SwiftUI?

You can implement independent NavigationStack routing per tab by configuring a dedicated RouterPath for each tab and wiring destinations using navigationDestination(for:). This pattern ensures isolated navigation states and reusable modal flows across tab-based interfaces.

What is the best way to handle multi-column layouts and adaptive interfaces in SwiftUI?

Multi-column layouts in SwiftUI are best handled using NavigationSplitView to create adaptive two-column or three-column interfaces. This approach provides depth-aware navigation that automatically adjusts presentation based on size classes and device contexts.

How do I configure deep linking with universal links and custom URL schemes in SwiftUI?

Deep linking in SwiftUI is configured by mapping universal links and custom URL schemes to centralized destination paths. This allows programmatic routing to parse URLs and trigger NavigationStack pushes or modal sheet presentations automatically.

Why does my SwiftUI modal sheet presentation break when reusing views across different navigation flows?

Modal sheet presentation breaks when views lack centralized routing, causing state conflicts across reusable modals. Implementing a centralized destination mapping pattern ensures consistent sheet presentation paths and prevents navigation state corruption.

Can I use NavigationStack with NavigationSplitView to build complex push and split-view architectures?

Yes, NavigationStack integrates with NavigationSplitView to support complex architectures combining push navigation and multi-column layouts. This allows you to embed depth-aware stacks inside split-view columns for adaptive interfaces.

Do I need a centralized destination mapping for scalable SwiftUI navigation?

A centralized destination mapping is essential for scalable SwiftUI navigation because it provides reusable patterns and avoids common pitfalls with hardcoded paths. It enables robust client-side routing across sheets, stacks, and deep links.