flutter-navigation

Implement GoRouter patterns for Flutter navigation with auth guards and deep links.

Updated Jan 18, 2026
One-click install
npx skills add https://github.com/333-333-333/agents --skill flutter-navigation-333-333-333
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: flutter-navigation
Source: https://github.com/333-333-333/agents/tree/main/skills/flutter-navigation
Command: npx skills add https://github.com/333-333-333/agents --skill flutter-navigation-333-333-333

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Flutter apps often struggle with consistent, maintainable navigation as routes, authentication gates, and deep links proliferate across features.

Core Features & Use Cases

  • Global redirect and auth guard patterns using GoRouter
  • Stateful shell routes for persistent bottom navigation across sections
  • Route organization by feature with parameterized and nested routes
  • Integration with MaterialApp.router and Riverpod/provider-based navigation state

Quick Start

Create a GoRouter setup for your app and wire it to MaterialApp.router to enable feature-rich navigation.

Frequently Asked Questions about flutter-navigation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement auth guards for protected screens in Flutter navigation?

Stateful shell routes in GoRouter maintain the navigation state of bottom navigation sections, preventing tab resets when switching. This pattern organizes feature modules into nested branches while keeping the bottom navigation bar persistent across top-level screens.

What is the best way to structure deep links and nested routes in a Flutter app?

Structuring deep links and nested routes in Flutter is best achieved with GoRouter parameterized routing. This method maps incoming deep links to specific feature modules while maintaining consistent route paths across onboarding and app sections.

How do I integrate GoRouter with MaterialApp.router and provider-based navigation state?

Integrating GoRouter with MaterialApp.router involves wiring the GoRouter configuration directly into the router property. This enables structured routing and reactive navigation state updates when paired with provider architectures like Riverpod for auth flows.

Why does my Flutter bottom navigation reset state when switching tabs?

Flutter bottom navigation resets state when tabs are not wrapped in a StatefulShellRoute. Applying StatefulShellRoute via GoRouter preserves the navigation stack and UI state of each branch independently, preventing unwanted rebuilds during tab switches.

Can I organize Flutter routes by feature with GoRouter?

Yes, you can organize Flutter routes by feature with GoRouter. It supports parameterized and nested routes, allowing you to group related screens into structured modules while applying global redirect logic and auth guards across the entire app.