navigation-3

Migrate Android apps from Navigation 2 to Jetpack Navigation 3 with official guides and recipes.

1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/kariemSeiam/android-claw --skill navigation-3-kariemseiam
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: navigation-3
Source: https://github.com/kariemSeiam/android-claw/tree/main/skills/installed/navigation-navigation-3
Command: npx skills add https://github.com/kariemSeiam/android-claw --skill navigation-3-kariemseiam

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Migrating an Android app from Jetpack Navigation 2 to Navigation 3 involves many coordinated changes—dependencies, NavKey routes, back stack state holders, entryProvider DSL, and NavDisplay—and developers lack a single authoritative reference covering both the migration steps and common feature patterns. ## Core Features & Use Cases - Step-by-step migration guide: Covers dependency updates, NavKey route conversion, NavigationState and Navigator classes, replacing NavController and NavHost with NavDisplay, and removing Navigation 2 dependencies. - Feature recipes: Ready-to-adapt code for deep links, multiple backstacks, dialogs, bottom sheets, list-detail and two-pane scenes, conditional navigation, Hilt/Koin modularization, ViewModel argument passing, and returning results. - Type-safe navigation prerequisite: Includes a guide for migrating string-based routes to type-safe Compose destinations before starting the Navigation 3 migration. - Use Case: An Android developer with a Compose app using Navigation 2 asks the AI to migrate the project; the skill walks through each migration step, checks assumptions and unsupported features, and applies recipe patterns for bottom sheets and multiple backstacks. ## Quick Start Migrate my Android project from Navigation 2 to Navigation 3 using the official migration guide.

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?▼

Follow seven steps: add Navigation 3 dependencies, make routes implement NavKey, create NavigationState and Navigator classes, replace NavController calls, move destinations into an entryProvider, replace NavHost with NavDisplay, and remove Navigation 2 dependencies.

How do I implement multiple backstacks with a bottom navigation bar in Navigation 3?▼

Use a state holder that keeps a separate back stack per top-level route and tracks the current top-level route. The common-ui and multiple-backstacks recipes show how to flatten these stacks for NavDisplay while preserving each tab's history.

What are the prerequisites for migrating to Navigation 3?▼

You need compileSdk 36 or later, minSdk 23, Compose-based destinations, and strongly typed routes. If you use string-based routes, migrate to type-safe navigation with Kotlin serialization first.

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 before adding them as destinations.

Which Navigation 2 features are not covered by the Navigation 3 migration guide?▼

The guide does not cover more than one level of nested navigation, shared destinations that move between back stacks, custom destination types, or deep links. Deep links are addressed separately through dedicated basic and advanced recipes.

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

Copy the BottomSheetSceneStrategy class into your project, pass it to NavDisplay's sceneStrategies parameter, and add BottomSheetSceneStrategy.bottomSheet() metadata to the entry. It is not part of the core Navigation 3 library.