swiftui-navigation

Centralize SwiftUI navigation state with Hashable route enums and router-based deep links.

Updated May 6, 2026
One-click install
npx skills add https://github.com/Roy-wonji/claude-config --skill swiftui-navigation-roy-wonji
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: swiftui-navigation
Source: https://github.com/Roy-wonji/claude-config/tree/main/skills/swift-ios-skills/skills/swiftui-navigation
Command: npx skills add https://github.com/Roy-wonji/claude-config --skill swiftui-navigation-roy-wonji

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents fragile, hard-to-maintain navigation flows in SwiftUI by providing reliable patterns for routing between screens, presenting modals, and handling external deep links.

Core Features & Use Cases

  • NavigationStack + NavigationPath: Type-safe push navigation with programmatic routing via a Hashable route enum.
  • NavigationSplitView & multi-column layouts: Sidebar-detail architectures that fall back to stack behavior on smaller devices.
  • Sheets, tabs, and deep links: Enum-driven sheet routing, independent per-tab navigation history with TabView, and centralized Universal Links / custom URL scheme / Handoff handling through a router.

Quick Start

Ask an AI to generate a router-based navigation implementation using NavigationStack (per tab), enum-driven sheets, and centralized deep-link handling for Universal Links and custom URL schemes.

Frequently Asked Questions about swiftui-navigation

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

FAQPage Schema
How do I handle deep links and Universal Links in a SwiftUI app?

Handle deep links and Universal Links in SwiftUI by centralizing URL parsing within a router and integrating it with the onOpenURL and onContinueUserActivity modifiers to drive navigation state.

What is the best way to manage NavigationStack routing with type-safe paths in SwiftUI?

NavigationStack routing is managed by using a Hashable route enum to map destinations, centralizing navigation state, and driving programmatic push navigation through a dedicated router object.

How do I present sheets programmatically based on enum cases in SwiftUI?

Present sheets programmatically in SwiftUI by using enum-driven sheet routing, where a router owns the sheet state and maps specific enum cases to their corresponding view destinations.

Can I maintain independent navigation histories for each tab using NavigationStack in SwiftUI?

You can maintain independent navigation histories by integrating NavigationStack within each TabView section, allowing a router to manage isolated navigation states and stack paths per tab.

Does NavigationSplitView fall back to stack navigation on smaller iOS devices?

NavigationSplitView automatically falls back to stack behavior on smaller iOS devices, allowing your multi-column sidebar-detail layouts to adapt seamlessly while using centralized routing.

Why does my SwiftUI navigation flow become brittle when scaling across multiple screens?

SwiftUI navigation becomes brittle when state is scattered; centralizing route-to-view mapping with a router and Hashable enums solves this by creating reliable, programmatic screen routing.