mcpbeat

Flutter Navigation

hoangnguyen0403/flutter-navigation

Implement navigation patterns with go_router, deep linking, and named routes in Flutter. Use when building navigation, deep linking, or routing.

1k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
536
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/HoangNguyen0403/agent-skills-standard --skill flutter-navigation

What comes with it

2 742 bytes besides the instruction
references/implementation.md
references/routing-patterns.md

The instruction itself

6 sections, as written by the author

Flutter Navigation

Priority: P1 (OPERATIONAL)

Implementation Workflow

  • Choose router — Use go_router for modern, declarative routing.
  • Define routes — Use constants or code generation for route paths; never hardcode strings.
  • Configure deep links — Set up AndroidManifest.xml and Info.plist for URL schemes.
  • Validate parameters — Check parameters in redirect logic before navigation.
  • Preserve tab state — Use StatefulShellRoute or IndexedStack for bottom navigation.

Route Configuration Example

See implementation examples for GoRouter configuration with parameter validation and redirects.

Routing Patterns & Examples

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'

flutter-design-system | flutter-notifications | mobile-ux-core

How to use it

Copy the folder

Take hoangnguyen0403/flutter-navigation from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.