android-navigation-3

Migrate Android apps from Navigation 2 to Jetpack Navigation 3 and implement Compose navigation patterns.

Updated Apr 21, 2026
One-click install
npx skills add https://github.com/Zeyad-37/tech-agency --skill android-navigation-3-zeyad-37
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: android-navigation-3
Source: https://github.com/Zeyad-37/tech-agency/tree/main/.claude/skills/android-navigation-3
Command: npx skills add https://github.com/Zeyad-37/tech-agency --skill android-navigation-3-zeyad-37

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—dependency updates, NavKey route conversion, replacing NavController and NavHost with NavigationState, Navigator, entryProvider, and NavDisplay—and developers also need working patterns for deep links, dialogs, bottom sheets, adaptive layouts, and conditional navigation. ## Core Features & Use Cases - Step-by-step migration guide: Covers dependency setup, NavKey conversion, NavigationState/Navigator state holders, entryProvider migration, and NavDisplay replacement with AI-agent checkpoints for unsupported features. - Recipe library: Ready-to-adapt code recipes for basic navigation, saveable back stacks, multiple back stacks with bottom navigation bars, deep links (basic and advanced), dialogs, bottom sheets, list-detail and two-pane scenes, Material 3 adaptive layouts, animations, conditional (login-gated) navigation, Hilt/Koin modularization, ViewModel argument passing, and returning results. - Type-safe navigation prerequisite guide: Instructions for migrating string-based routes to serializable type-safe destinations before adopting Navigation 3. - Use Case: An Android developer with a Compose app on Navigation 2 uses this Skill to plan and execute the full migration, then adds a bottom-sheet destination and a list-detail adaptive layout using the provided recipes. ## Quick Start Migrate my Android app from Navigation 2 to Navigation 3 using the official migration guide and recipes.

Frequently Asked Questions about android-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?▼

Add the navigation3-runtime and navigation3-ui dependencies, make routes implement NavKey, create NavigationState and Navigator classes, move destinations from NavHost into an entryProvider, replace NavHost with NavDisplay, and remove Navigation 2 dependencies.

How do I implement type-safe navigation in Jetpack Compose?▼

Replace string routes with @Serializable data objects and data classes, update NavHost to use composable<T> generics, and navigate with class instances like navController.navigate(Profile(userId)). This requires Navigation 2.8.0+ and the Kotlin serialization plugin.

Does Navigation 3 support Fragments and Views?▼

Navigation 3 is designed exclusively for Jetpack Compose destinations. To use Fragments and Views, you must embed them in Compose using the view interoperability APIs described in the Views in Compose documentation.

What 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 instead demonstrated in separate basic and advanced recipes.

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

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

What are the requirements for migrating to Navigation 3?▼

You need compileSdk 36 or later, minSdk 23, composable destinations, and strongly typed routes. If you use string-based routes, migrate to type-safe navigation first, and test coverage of existing navigation behavior is highly recommended.