Implement route configuration, go_router/deep linking, and named routes in Flutter. Use for route declarations, route guards, and URL-to-screen mapping; defer transition-only animation, state-transfer/BLoC questions, auto_route-specific setup, and generic app-bar controls.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill flutter-navigation --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Flutter Navigation?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-flutter-navigation-agent-skills-mirror)More formats (shields.io, HTML) on the badges page.
---
name: flutter-navigation
description: Implement route configuration, go_router/deep linking, and named routes in Flutter. Use for route declarations, route guards, and URL-to-screen mapping; defer transition-only animation, state-transfer/BLoC questions, auto_route-specific setup, and generic app-bar controls.
metadata:
triggers:
files:
- '**/*_route.dart'
- '**/*_router.dart'
- '**/main.dart'
keywords:
- Navigator
- GoRouter
- routes
- deep link
- go_router
- AutoRoute
---
# Flutter Navigation
## **Priority: P1 (HIGH)**
## Implementation Workflow
1. **Choose router** — Use `go_router` for modern, declarative routing.
2. **Define routes** — Use constants or code generation for route paths; never hardcode strings.
3. **Configure deep links** — Set up `AndroidManifest.xml` and the iOS URL-type settings for app URL schemes.
4. **Validate parameters** — Check parameters in `redirect` logic before navigation.
5. **Preserve tab state** — Use `StatefulShellRoute` or `IndexedStack` for bottom navigation.
### Route Configuration Example
See [implementation examples](references/implementation.md) for GoRouter configuration with parameter validation and redirects.
[Routing Patterns & Examples](references/routing-patterns.md)
## Anti-Patterns
- **No Manual URL Parsing**: Use `go_router` built-in parsing instead of `Uri.parse(url)`
- **No Manual Tab State Management**: Use `IndexedStack` or `StatefulShellRoute` to preserve state
- **No Unvalidated Deep Link IDs**: Always check existence in `redirect`
- **No Hardcoded Route Strings**: Use constants (e.g., `Routes.orders`) or code-gen instead of `'/orders'`
## Related Topics
flutter-design-system | flutter-notifications | mobile-ux-core
## Canonical response anchors
When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
- Android
- iOS URL-type
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!