skills/android/android-navigation-3/SKILL.md
Install and migrate to Jetpack Navigation 3. Use when implementing Navigation 3 patterns including NavDisplay, NavKey routes, deep links, multiple backstacks, scenes (dialogs, bottom sheets), or migrating from Navigation 2.
npx skillsauth add hoangnguyen0403/agent-skills-standard android-navigation-3Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guide for implementing and migrating to Navigation 3 in Jetpack Compose.
Navigation 3 replaces the previous NavHost/NavController pattern with a simpler, state-driven approach:
mutableStateListOf<Any>.NavDisplay renders the current route based on a lambda.val backStack = remember { mutableStateListOf<Any>(RouteHome) }
NavDisplay(
backStack = backStack,
onBack = { backStack.removeLastOrNull() },
entryProvider = { key ->
when (key) {
is RouteHome -> NavEntry(key) { HomeScreen(onNavigate = { backStack.add(it) }) }
is RouteDetail -> NavEntry(key) { DetailScreen(key.id) }
else -> error("Unknown route: $key")
}
}
)
See migration guide for step-by-step conversion from NavHost/NavController to NavDisplay.
Key changes:
NavHost with NavDisplay.NavController.navigate() with direct list manipulation.navArgument with data class properties.See recipes for code examples:
mutableStateListOf<Any>.NavDisplay handles all routes in entryProvider../gradlew build succeeds.NavDisplay with a state list.remember { navController() }: Navigation 3 doesn't use NavController.testing
Infer the requesting operator's technical fluency from message content (never ask directly) and adapt register — business, hybrid, or technical — across SDLC workflow output. Use when starting sdlc, brainstorm-feature, plan-feature, verify-work, publish-notes, or session-report, or whenever a request's phrasing signals a non-technical or cross-stack operator.
documentation
Define transaction boundaries, locking, and consistency guarantees for multi-step writes. Use when designing atomic operations, retries, idempotency, or concurrent write behavior.
development
Design relational or document schemas from access patterns, cardinality, and lifecycle. Use when modeling entities, choosing embed vs normalize, or shaping schema boundaries before implementation.
data-ai
Diagnose database latency with explain plans, index ownership, and query-shape review. Use when a query is slow, an index is missing, or scans and N+1 patterns appear.