SKILL

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. Use when reviewing Flutter or Dart code, whatever state management library the project uses.

Target: Mobile development. Automatically collected · unverified.

Excerpt from the author’s documentation

Extracted from a fixed version of SKILL.md in its original language. This is the author’s documentation; installation, compatibility and runtime results have not been verified by this site.

Read the original English text

Topics in the source

  • Flutter/Dart Code Review Best Practices
  • 1. General Project Health
  • 2. Dart Language Pitfalls
  • 3. Widget Best Practices
  • Widget decomposition:
  • Const usage:
  • Key usage:
  • Theming & design system:

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. -- [ ] 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 [ ] analysisoptions.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 -- [ ] 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 pattern matching (if (value case var v?)) [ ] Type promotion failures: Using this.field where local variable promotion would work [ ] Catching too broadly: catch

This is an excerpt. Refer to the complete source and its current requirements.

Source repository
affaan-m/ECC
Source file
pi/core/skills/flutter-dart-code-review/SKILL.md
Fixed revision
d2ef2680594f9a17526a6e1a2e18b3d242c5d17b
Read the complete original documentation ↗

Requirements

  • Only the author’s Skill metadata is included. Read the full instructions to check dependencies, licensing and conditions of use.

A small first task

先阅读原作者说明,再决定是否在自己的 AI 工具中使用。

Instructions for your AI tool

Author documentation is not live verification by this site. Without evidence, we do not mark a resource as compatible, safe or free.

Sources and evidence

This record was collected automatically. Its documentation, suitability and runtime behavior have not been manually verified.

Author: affaan-m/ECC · original repository metadata. Documentation review: Not reviewed. Last source check: 2026-11-09T15:01:43.009Z.

Categories are inferred from names, descriptions and paths. They do not establish compatibility.

License and attribution

MIT. Third-party content and copyright remain with their authors. Refer to the original license and terms.

Original license ↗

Synchronization, copying and user-reported success do not mark a resource as runtime-tested.

Limitations and notes

  • Collecting metadata does not mean this site has installed, adapted, runtime-tested or security-reviewed the resource.