Download for MacApple silicon, macOS 14+
Skill

navigation

@verygoodopensource Updated 2026-10-20

Best practices for navigation and routing in Flutter using GoRouter, covering hierarchical route trees, type-safe `@TypedGoRoute` definitions, named navigation, redirects, and deep linking setup. Use when creating, modifying, or reviewing routes, deep links, redirects, or navigation logic that uses package:go_router or package:go_router_builder, including widget tests that mock GoRouter or provide it through `InheritedGoRouter`. Also use for call-site navigation, however small: an `onTap`, button, or tap handler that takes the user from one screen to another, choosing between `context.go`, `goNamed`, `context.push`, `pushNamed`, or `pop`, navigating to a path such as `/products/p1`, passing data to a destination, or returning a result to the caller. A one-line navigation call is still navigation work. Route motion belongs to the animations skill, even inside a `GoRouteData` subclass.

a11yaibest-practicesblocclaude-codedartflutteri18n

Install

With your agent

Install OMGSkills skill "verygoodopensource/vgv-ai-flutter-plugin:skills/navigation" into this agent's normal skills directory: call the OMGSkills MCP get_install_plan tool for your agent and run the script it returns (it installs only the pinned commit and verifies SKILL.md), and stop if MCP or the pin is unavailable. Do not overwrite or change existing skills without asking me.

Manual command

git clone https://github.com/VeryGoodOpenSource/vgv-ai-flutter-plugin /tmp/vgv-ai-flutter-plugin && ln -s /tmp/vgv-ai-flutter-plugin/skills/navigation ~/.claude/skills/navigation

From README

Navigation Routing and navigation best practices for Flutter applications using GoRouter, the Flutter team's recommended routing package built on the Navigator 2.0 API. Core Standards Apply these standards to all navigation work: Use package:gorouter for all navigation — never raw Navigator 2.0 or Navigator 1.0 push/pop Use @TypedGoRoute annotations for type-safe routes — never raw string paths in route definitions Prefer go() over push() — use push() only when expecting return data from the destination Never use the extra parameter — it breaks deep linking and does not work on the web Hierarchical sub-routes for proper back navigation — structure routes as parent-child trees, not flat lists Hyphens for URL word separation — never underscores or camelCase in URL paths Navigate by route name, not raw path strings — use named route navigation to decouple from path changes Use BuildContext extensions for navigation — prefer context.goNamed() over GoRouter.of(context).goNamed() Route...