navigation-3

Migrate Android apps to Jetpack Navigation 3 and implement deep links, scenes, and multiple backstacks.

2|Updated Jun 21, 2026
One-click install
npx skills add https://github.com/IsKenKenYa/skills --skill navigation-3-iskenkenya
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: navigation-3
Source: https://github.com/IsKenKenYa/skills/tree/main/skills/android/navigation/navigation-3
Command: npx skills add https://github.com/IsKenKenYa/skills --skill navigation-3-iskenkenya

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Migrating from Jetpack Navigation 2 to Navigation 3 and implementing modern Compose navigation patterns (deep links, adaptive scenes, multiple backstacks) involves many API changes and architectural decisions that are easy to get wrong without authoritative guidance. ## Core Features & Use Cases - Step-by-step migration guide: Replace NavController and NavHost with NavigationState, Navigator, entryProvider, and NavDisplay, including dependency updates and NavKey route conversion. - Recipe library: Ready-to-adapt code patterns for deep links, dialogs, bottom sheets, list-detail and two-pane scenes, conditional navigation (login flows), animations, and returning results. - Architecture integration: Covers Hilt/Koin modularization, ViewModel argument passing, lifecycle handling, and View interop. - Use Case: You have a Compose app using Navigation 2 with a bottom navigation bar. Use this Skill to migrate to Navigation 3 with per-tab backstacks, then add a bottom sheet destination and deep link support. ## Quick Start Use the navigation-3 skill to migrate my Compose app from Navigation 2 to Navigation 3 and add a bottom sheet destination.

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 Navigation 2 to Navigation 3 in Compose?

Add the navigation3-runtime and navigation3-ui dependencies, make routes implement NavKey, create NavigationState and Navigator classes, move destinations from NavHost into an entryProvider, and replace NavHost with NavDisplay. The migration guide walks through each step with code.

How to implement multiple backstacks with a bottom navigation bar in Navigation 3?

Maintain a separate back stack per top-level route and track the current top-level route in a state holder. The common-ui and multiple-backstacks recipes show a TopLevelBackStack class that flattens the stacks for NavDisplay while preserving each tab's history.

Does Navigation 3 support Fragments or Views?

Navigation 3 is designed exclusively for Compose destinations. To use Fragments and Views, you must wrap them using Compose interoperability APIs such as AndroidView, as described in the Views-in-Compose documentation.

How do I show a destination as a bottom sheet in Navigation 3?

Create a BottomSheetSceneStrategy and pass it to NavDisplay's sceneStrategies, then add BottomSheetSceneStrategy.bottomSheet() metadata to the entry. The strategy class is not in the core library, so copy it from the bottomsheet recipe into your project.

What are the limitations of the Navigation 3 migration guide?

The guide does not cover more than one level of nested navigation, shared destinations that move between back stacks, or custom destination types. Projects using those features need custom solutions beyond the provided recipes.

How do deep links work in Navigation 3?

Deep links are defined independently of the navigation UI using DeepLinkMatcher instances such as UriDeepLinkMatcher. You match incoming intents in your Activity's onCreate and onNewIntent to construct the initial back stack.