agentsclimarketplace

Flutter auto route navigation

Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/flutter-auto-route-navigation

Typed routing, nested routes, and guards using auto_route. Use when implementing typed navigation, nested routes, or route guards with auto_route in Flutter. (triggers: **/router.dart, **/app_router.dart, AutoRoute, AutoRouter, router, guards, navigate, push)From its SKILL.md

Install
npx -y skills add ComeOnOliver/skillshub --skill flutter-auto-route-navigation

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

2.0 KB, 389 tokens by cl100k_base, as published. Nobody here has run it

AutoRoute Navigation

Priority: P1 (HIGH)

Type-safe routing system with code generation using auto_route.

Structure

core/router/
├── app_router.dart # Router configuration
└── app_router.gr.dart # Generated routes

Implementation Guidelines

  • @RoutePage: Annotate all screen/page widgets with @RoutePage().

  • Router Config: Extend _$AppRouter and annotate with @AutoRouterConfig.

  • Typed Navigation: Use generated route classes (e.g., HomeRoute()). Never use strings.

  • Nested Routes & Tabs: Use children in AutoRoute for tabs. When navigating to a route with nested tabs, use the children parameter to define the initial active sub-route (e.g., context.navigateTo(OrdersTabRoute(children: [ViewByOrdersPageRoute()]))).

  • Guards: Implement AutoRouteGuard for authentication/authorization logic.

  • Parameters: Constructors of @RoutePage widgets automatically become route parameters.

  • Declarative: Prefer context.pushRoute() or context.replaceRoute().

Reference & Examples

For full Router configuration and Auth Guard implementation: See references/REFERENCE.md.

Anti-Patterns

  • ❌ Navigator.pushNamed(context, '/orders/123') — always use generated typed route classes (e.g., OrderDetailRoute(id: 123))
  • ❌ Authenticated screen without an AutoRouteGuard — every protected route must declare a guard; don't rely on UI-level checks alone
  • ❌ context.router.push(…) called from a BLoC or repository — navigation is a Presentation concern; emit a state and let the UI navigate

Related Topics

go-router-navigation | layer-based-clean-architecture

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.