navigation-3

Migrate Android apps from Jetpack Navigation 2 to Navigation 3 with Compose.

2|Updated Apr 26, 2026
One-click install
npx skills add https://github.com/iadr-dev/colab --skill navigation-3-iadr-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: navigation-3
Source: https://github.com/iadr-dev/colab/tree/main/skills/coding/android/navigation/navigation-3
Command: npx skills add https://github.com/iadr-dev/colab --skill navigation-3-iadr-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Jetpack Navigation 3 can be difficult to adopt because routes, back stack modeling, and UI display concepts change significantly from Navigation 2, especially when you need deep links, multiple back stacks, dialogs/bottom sheets, and result passing.

Core Features & Use Cases

  • Migration from Navigation 2 to Navigation 3: Update dependencies and rework navigation primitives into Navigation 3’s NavKey, NavDisplay, and entry-provider architecture.
  • Type-safe Compose destinations: Replace string routes with serializable Kotlin types for safer argument handling.
  • Real-world Navigation patterns: Implement deep links, multiple back stacks, conditional flows (e.g., logged-in vs anonymous), Scenes (dialogs, bottom sheets, list-detail, two-pane/supporting pane), and return results from flows using events or state.
  • Integration readiness: Apply patterns alongside Hilt and ViewModels and ensure Compose interoperability where needed.

Quick Start

Migrate your app from Navigation 2 to Navigation 3 by following the Navigation 3 migration guide, then convert your routes to NavKey, move destinations into an entryProvider, and render them with NavDisplay.

Frequently Asked Questions about navigation-3

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

FAQPage Schema
How do I migrate from Jetpack Navigation 2 to Navigation 3 in Android?

Type-safe navigation in Navigation 3 replaces fragile string routes with serializable Kotlin `NavKey` types. This pattern enables safer argument handling and defines destinations using an `entryProvider` rendered by `NavDisplay`.

Can I implement deep links and multiple back stacks using Navigation 3?

Scenes in Navigation 3 handle adaptive layouts like list-detail and two-pane supporting panes. They also render overlay UI components such as dialogs and bottom sheets within the scene-based navigation architecture.

Does Navigation 3 work with Hilt and ViewModels?

Navigation 3 provides integration readiness for Hilt and ViewModels. You apply patterns that ensure Compose interoperability while maintaining appropriate argument and result mechanisms across destinations.

What is the best way to pass results between conditional navigation flows in Android?

Passing results between conditional navigation flows uses events or shared state. Navigation 3 enables returning results from flows like logged-in versus anonymous states by leveraging type-safe routes and Compose state management.