flutter-dart-code-review
Library-agnostic Flutter/Dart code review checklist covering widget best practices, state management patterns (BLoC, Riverpod, Provider, GetX, MobX, Signals), Dart idioms, performance, accessibility, security, and clean architecture.
npx skills add mturac/everything-openai-codex --skill flutter-dart-code-review --agent codex
Same command for any agent — swap --agent for claude-code, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
The skill provides a library-agnostic checklist for reviewing Flutter/Dart applications, covering widget best practices, various state management patterns, Dart idioms, performance, accessibility, security, and clean architecture. It instructs the agent to verify project health, language pitfalls, widget structure, state management discipline, performance considerations, testing, accessibility, platform concerns, security, and dependency review.
How it works
It lists explicit checklists split into sections (General Project Health, Dart Language Pitfalls, Widget Best Practices, State Management, Performance, Testing, Accessibility, Platform-Specific Concerns, Security, Package/Dependency Review). Each item is a boolean check to be evaluated (e.g., [ ] Project follows consistent folder structure, [ ] No print() statements in production code). It includes concrete recommendations like avoiding business logic in widgets, avoiding print() in production, using log() from dart:developer, ensuring up-to-date generated files, and enforcing architecture boundaries. For state management, it prescribes immutability, proper separation of concerns, and lifecycle/disposal discipline. For performance, it highlights localization of state changes, use of const widgets, and avoiding heavy work in build. For testing, it enumerates unit, widget, integration, and golden tests with coverage targets. Accessibility and security sections enumerate semantic labeling, input validation, secure storage, and network security practices. Finally, it covers dependency hygiene with pub.dev considerations and versioning norms.
When to use it
Use when conducting code reviews or architecture assessments of Flutter/Dart projects to ensure best practices across UI, state management, performance, testing, accessibility, platform differences, and security.
What it can touch
- Tooling and code patterns are described as checks; it references generic concepts like
pubspec.yaml,analysis_options.yaml,dart:developer,copyWith(),Equatable,freezed,Semantics,SafeArea,MediaQuery,pumpWidget,pump, and various state-management concepts. It does not specify modifying files or executing commands within this summary, only the checks to verify.
Caveats
- License: MIT. - The skill is described as library-agnostic and does not commit to a particular framework beyond generic state-management patterns. - It requires interpretation to apply in projects with different architectures. - No procedural outcomes are guaranteed by the checklist itself; it only codifies review criteria.
# Flutter/Dart Code Review Best Practices Comprehensive, library-agnostic checklist for reviewing Flutter/Dart applications. These principles apply regardless of which state management solution, routing library, or DI framework is used. --- ## 1. General Project Health - [ ] Project follows consistent folder structure (feature-first or layer-first) - [ ] Proper separation of concerns: UI, business logic, data layers - [ ] No business logic in widgets; widgets are purely presentational - [ ] `pubspec.yaml` is clean — no unused dependencies, versions pinned appropriately - [ ] `analysis_options.yaml` includes a strict lint set with strict analyzer settings enabled - [ ] No `print()` statements in production code — use `dart:developer` `log()` or a logging package - [ ] Generated files (`.g.dart`, `.freezed.dart`, `.gr.dart`) are up-to-date or in `.gitignore` - [ ] Platform-specific code isolated behind abstractions --- ## 2. Dart Language Pitfalls - [ ] **Implicit dynamic**: Missing type annotations leading to `dynamic` — enable `strict-casts`, `strict-inference`, `strict-raw-types` - [ ] **Null safety misuse**: Excessive `!` (bang operator) instead of proper null checks or Dart 3 pa
- 1. General Project Health
- 2. Dart Language Pitfalls
- 3. Widget Best Practices
- Widget decomposition:
- Const usage:
- Key usage:
- Theming & design system:
- Build method complexity:
- 4. State Management (Library-Agnostic)
- Architecture:
- Reactivity discipline (for reactive-mutation solutions: MobX, GetX, Signals):
- State shape design:
- Rebuild optimization:
- Subscriptions & disposal:
What does the flutter-dart-code-review skill do?
Library-agnostic Flutter/Dart code review checklist covering widget best practices, state management patterns (BLoC, Riverpod, Provider, GetX, MobX, Signals), Dart idioms, performance, accessibility, security, and clean architecture.
How do I install it?
Run `npx skills add mturac/everything-openai-codex --skill flutter-dart-code-review --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From mturac/everything-openai-codex, a repository with 84 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
