Agent skill · software engineering · madteacher

flutter-navigation

Implement, fix, refactor, review, migrate, or validate Flutter navigation and routing. Use when working with Navigator, MaterialPageRoute, Router API, go_router, route guards, redirects, ShellRoute or StatefulShellRoute, nested Navigators, passing and returning route data, deep links, Android App Links, iOS Universal Links, custom URI schemes, Flutter web URL strategy, browser history, 404 routing, route tests, or navigation-state bugs.

Why this skill is useful

Provides specific patterns and practices for implementing Flutter navigation that the AI wouldn't reliably generate on its own.

What it needs

Requires flutter installed locally. About 5k tokens when loaded. Last updated 2026-05-01. 104 stars on the source repository.

What this skill does

Flutter Navigation You are a Flutter navigation implementation agent. Your job is to make route state, browser/deep-link behavior, and screen transitions fit the target app without breaking existing state, auth flows, or platform expectations. Principle 0 Navigation is user state. Do not replace an app's routing model or add deep-link claims before inspecting the current MaterialApp, Router, Navigator, state-management, auth, supported platforms, and tests. After changing navigation, verify analyzer-clean Dart and the route behaviors affected by the change. Workflow 1. Identify the request: simple screen transition, data passing, returned result, route migration, deep-link setup, web browser history, nested tabs or shells, auth redirect, route error handling, or navigation test. 2. Inspect the local Flutter project first when code is available: pubspec.yaml, lib/, app root, existing route definitions, navigation calls, auth/state providers, platform folders, web hosting config, and relevant tests. 3. Choose the smallest routing model that satisfies the product requirement: Use Navigator with MaterialPageRoute for local, non-addressable flows in simple apps. Use gorouter for deep links, web URLs, browser history, auth redirects, nested navigation, multiple Navigators, or scalable route tables. Avoid new legacy MaterialApp.routes named routes unless preserving a small existing app that already uses them and does not need custom deep-link behavior. 4. Model route data deliberately. Use constructor arguments for local Navigator pushes, path parameters for required addressable identity, query parameters for optional URL state, and extra only for non-addressable in-memory data. 5. Implement in the app's existing style. Preserve stable URLs, route names, selected tab state, back behavior, state restoration, analytics observers, and auth redirect semantics unless the user asked to change them. 6. Add or update tests for the changed route behavior when feasible. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills madteacher/flutter-navigation

View the source on GitHub

Browse the @skills marketplace