navigation

Implement SwiftUI navigation patterns with NavigationStack, TabView, and NavigationSplitView.

32|10|Updated Feb 21, 2026
One-click install
npx skills add https://github.com/moasq/nanowave --skill navigation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: navigation
Source: https://github.com/moasq/nanowave/tree/main/internal/orchestration/skills/always/navigation
Command: npx skills add https://github.com/moasq/nanowave --skill navigation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a comprehensive guide and best practices for implementing various navigation patterns in SwiftUI applications, ensuring a smooth and intuitive user experience across different platforms.

Core Features & Use Cases

  • Hierarchical Navigation: Implement drill-down flows using NavigationStack.
  • Tab-Based Navigation: Structure apps with multiple distinct sections using TabView.
  • Modal Presentations: Manage sheets and full-screen covers for secondary tasks and immersive experiences.
  • Type-Safe Routing: Ensure robust and maintainable navigation with type-safe destinations.
  • Platform Adaptations: Understand and implement platform-specific navigation patterns for iPadOS (e.g., NavigationSplitView).
  • Use Case: When building a new feature that requires users to navigate from a list of items to a detail view, and then potentially to an editing screen, this Skill guides you on using NavigationStack and navigationDestination effectively.

Quick Start

Use the navigation skill to implement a tab view with three main sections: Home, Search, and Profile.

Frequently Asked Questions about navigation

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

FAQPage Schema
How do I implement type-safe routing in a SwiftUI app?

Type-safe routing in SwiftUI ensures robust navigation by using type-safe destinations with `NavigationStack` and `navigationDestination`, preventing invalid path states. This approach maintains navigation state predictably across complex app architectures.

What's the best way to handle iPadOS navigation with NavigationSplitView?

For iPadOS navigation, `NavigationSplitView` provides platform-specific patterns for building adaptive interfaces. It manages hierarchical column layouts automatically, ensuring an intuitive user experience across different iPad size classes.

How do I manage modal presentations like sheets and fullScreenCover in SwiftUI?

Modal presentations in SwiftUI use `sheets` for secondary tasks and `fullScreenCover` for immersive experiences. You manage them by binding presentation state to view properties, ensuring smooth dismissal and state restoration.

How do I build a multi-section TabView with navigation stacks in SwiftUI?

Combine `TabView` for distinct app sections with `NavigationStack` within each tab to enable drill-down flows. This architecture isolates navigation paths per tab, preventing state bleeding when users switch between sections.

When should I use NavigationStack over NavigationView in SwiftUI?

Use `NavigationStack` for new SwiftUI implementations to manage hierarchical drill-down flows and type-safe routing. `NavigationView` is deprecated; `NavigationStack` provides a modern, predictable API for pushing and popping views.

Can I push multiple navigation destinations dynamically in SwiftUI?

Yes, `NavigationStack` supports dynamic path management by binding to a navigation path array. This allows you to programmatically push multiple destinations or reset the navigation stack entirely based on app state.