flutter-navigation
Navigate Flutter apps across mobile and web with Navigator API or go_router, including deep linking and browser history.
- Choose Navigator API for simple apps without deep linking; use go_router for production apps requiring deep links, browser history support, and URL-based navigation across platforms
- Pass data between screens via constructor arguments (Navigator) or URL query parameters (go_router); return data using Future-based pop with typed results
- Configure deep linking through platform-specific files (AndroidManifest.xml, Info.plist) and choose web URL strategy (hash-based or path-based with server configuration)
- Avoid named routes due to Flutter team recommendations; instead use imperative Navigator methods or declarative go_router navigation (go, push, pop)
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
- 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.
More from madteacher/mad-agents-skills
flutter-animations
>-
13.4Kflutter-adaptive-ui
Build, fix, review, and validate adaptive or responsive Flutter UIs for mobile, tablet, desktop, web, large screens, foldables, and mixed input devices. Use when creating breakpoint-driven layouts, responsive navigation, adaptive dialogs/lists/grids, keyboard/mouse/touch behavior, window-size decisions with MediaQuery or LayoutBuilder, or Capability and Policy patterns for platform-specific behavior.
1.5Kflutter-architecture
>-
1.4Kflutter-testing
>-
1.2Kflutter-networking
>-
552flutter-drift
Implement, fix, review, migrate, test, or debug Drift persistence in Flutter apps using SQLite, drift_flutter, type-safe Dart queries, generated tables, StreamBuilder or Riverpod StreamProvider UI, write operations, transactions, schema migrations, web assets, isolate sharing, and local database testing. Use when a Flutter task mentions drift, local database storage, SQLite, reactive database streams, CRUD, schemaVersion, build_runner, drift_dev make-migrations, migration tests, or Flutter-specific database setup across mobile, web, or desktop.
419