dart-flutter-patterns

Define Dart/Flutter coding conventions for state management, navigation, networking, and testing.

Updated Apr 13, 2026
One-click install
npx skills add https://github.com/sakamoto-family-smile/agent_monorepo --skill dart-flutter-patterns-sakamoto-family-smile
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dart-flutter-patterns
Source: https://github.com/sakamoto-family-smile/agent_monorepo/tree/main/.claude/skills/ecc/dart-flutter-patterns
Command: npx skills add https://github.com/sakamoto-family-smile/agent_monorepo --skill dart-flutter-patterns-sakamoto-family-smile

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developers often reinvent the wheel for state management, navigation, and data access in Flutter apps. This skill provides production-ready patterns to guide architecture, reduce boilerplate, and improve reliability.

Core Features & Use Cases

  • Null safety fundamentals and immutable state with sealed classes
  • Async composition, BuildContext after await, and robust error handling
  • Widget architecture guidance plus GoRouter navigation, Dio HTTP client, and Freezed data classes
  • Testing patterns and best practices for Bloc, Riverpod, and widget tests

Quick Start

Start by integrating the recommended patterns into a new or existing Flutter module, aligning state management, routing, and networking with the provided templates.

Frequently Asked Questions about dart-flutter-patterns

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

FAQPage Schema
What are the best production-ready Flutter patterns for state management and navigation?

Production-ready Flutter patterns for state management and navigation leverage immutable data classes with Freezed, GoRouter for structured routing, and Riverpod or Bloc for robust state handling. These conventions reduce boilerplate and improve app reliability.

How do I handle asynchronous data flows and API integration in Dart apps?

Handle asynchronous data flows and API integration in Dart apps using Dio for HTTP networking, structured concurrency for managing async operations, and robust error handling to satisfy production standards across complex UI and API scenarios.

When do I need sealed classes and immutable state in Flutter?

You need sealed classes and immutable state in Flutter when enforcing null safety fundamentals and establishing robust coding conventions. This approach ensures predictable data flows and reduces side effects in feature-rich production modules.

Can I use these Dart and Flutter coding conventions with existing codebases?

Yes, you can integrate these Dart and Flutter coding conventions into an existing Flutter module by aligning state management, routing, and networking with the provided templates. The patterns are designed for teams building across various app scenarios.

What testing patterns should I use for Riverpod and Bloc in Flutter?

Testing patterns for Riverpod and Bloc in Flutter involve writing explicit widget tests and state tests that align with immutable data patterns and structured concurrency. This ensures feature-rich modules satisfy production-grade reliability standards.