skills/flutter/flutter-go-router-navigation/SKILL.md
Implement typed routes, redirection, and guards using go_router in Flutter. Use when building declarative navigation with go_router.
npx skillsauth add hoangnguyen0403/agent-skills-standard flutter-go-router-navigationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
core/router/
├── app_router.dart # Router configuration
└── routes.dart # Typed route definitions (GoRouteData)
go_router_builder. Never use raw path strings.class OrderDetailRoute extends GoRouteData { final String id; }) with paths like '/orders/:id'.GoRouter instance registered in DI.TypedGoRoute and children lists.GoRouter config: redirect: (context, state) => isLoggedIn ? null : '/login'. ** NOT check auth inside page widget.**buildPage.MyRoute().push(context). Using OrderDetailRoute(id: id).go(context) only allowed way to navigate.See references/typed-routes.md for GoRouteData + redirect implementation.
GoRouteData classes (e.g., OrderDetailRoute(id: 123).go(context)) instead of context.go('/orders/123')GoRouter.redirect, not UI's build() methodGoRouter instance in DIredirect before building routelayer-based-clean-architecture | auto-route-navigation | security
development
Summarizes GitHub PR, GitLab MR, or Azure DevOps PR metadata, review threads, changed files, and template completeness. Use during review-ticket or code-review workflows when PR/MR context exists.
tools
Development tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling.
development
Validate input, secure auth tokens, and prevent injection attacks in TypeScript. Use when validating input, handling auth tokens, sanitizing data, or managing secrets and sensitive configuration.
development
Apply modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings.