compose-navigation

Orchestrate enum-based and nested navigation in Compose Multiplatform apps.

Updated Mar 20, 2026
One-click install
npx skills add https://github.com/ClankerGuru/skills --skill compose-navigation-clankerguru
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: compose-navigation
Source: https://github.com/ClankerGuru/skills/tree/main/compose-navigation
Command: npx skills add https://github.com/ClankerGuru/skills --skill compose-navigation-clankerguru

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Compose Multiplatform apps often require custom navigation logic without relying on AndroidX Navigation. This skill provides a framework to implement enum-based, sealed class-based, and nested navigation with smooth transitions, back handling, and deep linking, all while avoiding external navigation dependencies.

Core Features & Use Cases

  • Enum-based navigation for simple apps with a flat back stack.
  • Sealed class stack for type-safe routes and arguments.
  • Nested navigation to manage per-tab back stacks.
  • Animated transitions to enhance user experience.
  • Deep linking support to navigate directly to specific screens.
  • Responsive navigation layouts that adapt to window size (bottom bar, rail, drawer).
  • Back handling across platforms with an expect/actual pattern.

Quick Start

Start with a simple enum-based navigation by toggling a mutable state between Home, Chat, and Settings and render the corresponding screen.

Frequently Asked Questions about compose-navigation

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

FAQPage Schema
How do I implement navigation in Compose Multiplatform without AndroidX Navigation?

You can implement Compose Multiplatform navigation without external libraries by using enum-based and sealed class patterns to manage type-safe routes, back stacks, and deep linking. This approach relies entirely on internal Kotlin logic.

Can I manage per-tab back stacks using sealed classes in Compose?

Yes, nested navigation manages per-tab back stacks using sealed classes. This allows you to maintain independent navigation histories for different tabs while keeping type-safe arguments and routes.

How do I handle back navigation across different platforms in Compose Multiplatform?

Back handling across platforms uses an expect/actual pattern to implement a platform-aware BackHandler. This ensures consistent back navigation behavior across all Compose Multiplatform targets.

What is the best way to adapt Compose navigation layouts for different window sizes?

Responsive navigation adapts to window size by switching between bottom bar, rail, and drawer layouts. This ensures the Compose Multiplatform UI responds correctly across various device form factors.

Does this navigation approach support animated transitions and deep linking?

Yes, the navigation framework supports AnimatedContent transitions for smooth screen changes and deep linking to navigate directly to specific screens. Both features are built without external dependencies.

When should I use enum-based navigation versus sealed class stacks in Compose?

Use enum-based navigation for simple apps with a flat back stack, and use sealed class stacks when you need type-safe routes and arguments. Sealed classes provide stronger type safety for complex navigation graphs.