Review Flutter and Dart code for architecture, performance, accessibility, and security.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "flutter-dart-code-review" skill from askskill: 1. Download https://raw.githubusercontent.com/affaan-m/ECC/main/skills/flutter-dart-code-review/SKILL.md 2. Save it as ~/.claude/skills/flutter-dart-code-review/SKILL.md 3. Reload skills and tell me it's ready
Please review the following screen component using a Flutter/Dart code review checklist. Focus on widget decomposition, state management, build method performance, accessibility, naming conventions, and potential bugs. Output findings as 'issue - reason - suggested fix'. Code: <paste code>
A structured review report listing issues, risks, and actionable fixes.
I am using one of Riverpod/BLoC/Provider/GetX/MobX/Signals for state management in a Flutter project. Review the following code against best practices, identify issues like mixed responsibilities, state leaks, duplicate listeners, or poor testability, and suggest a better structure. Code: <paste code>
An analysis of strengths and weaknesses in the state management implementation, plus refactoring recommendations.
Please perform a pre-release review of this Flutter/Dart code. Focus on error handling, input validation, sensitive data exposure, network security, performance hotspots, accessibility support, and adherence to clean architecture principles. Organize findings by high/medium/low priority. Code: <paste code>
A prioritized pre-release review checklist to help the team fix critical issues quickly.
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.
pubspec.yaml is clean — no unused dependencies, versions pinned appropriatelyanalysis_options.yaml includes a strict lint set with strict analyzer settings enabledprint() statements in production code — use dart:developer log() or a logging package.g.dart, .freezed.dart, .gr.dart) are up-to-date or in .gitignoredynamic — enable strict-casts, strict-inference, strict-raw-types! (bang operator) instead of proper null checks or Dart 3 pattern matching (if (value case var v?))this.field where local variable promotion would workcatch (e) without on clause; always specify exception typesError: Error subtypes indicate bugs and should not be caughtasync: Functions marked async that never await — unnecessary overheadlate overuse: late used where nullable or constructor initialization would be safer; defers errors to runtimeStringBuffer instead of + for iterative string buildingconst contexts: Fields in const constructor classes should not be mutableFuture return values: Use await or explicitly call unawaited() to signal intentvar where final works: Prefer final for locals and const for compile-time constantspackage: imports for consistencyList/Mapif-case over verbose is checks and manual casting(String, int) instead of single-use DTOsprint() in production code: Use dart:developer log() or the project's logging package; print() has no log levels and cannot be filteredbuild() method exceeding ~80-100 lines_build*() helper methods that return widgets are extracted to separate widget classes (enables element reuse, const propagation, and framework optimizations)const constructors used wherever possible — prevents unnecessary rebuildsconst literals for collections that don't change (const [], const {})const when all fields are finalValueKey used in lists/grids to preserve state across reordersGlobalKey used sparingly — only when accessing state across the tree is truly neededUniqueKey avoided in build() — it forces rebuild every frameObjectKey used when identity is based on a data object rather than a single valueTheme.of(context).colorScheme — no hardcoded Colors.red or hex values…
Choose regex first, then add LLMs for low-confidence parsing edge cases.
Write idiomatic Go tests, benchmarks, fuzz tests, and improve coverage.
Convert local Hermes workflows into sanitized ECC skills and release artifacts.
Run pre-release verification for Spring Boot builds, tests, scans, and diffs.
Run a four-voice council to evaluate tradeoffs before making tough decisions.
Retrieve and update Jira issues, analyze requirements, and streamline team workflows.
Assist Dart and Flutter development with code generation, debugging, and faster implementation.
Trigger a code review against plans or requirements before moving forward.
Review code or branches for correctness, compatibility, architecture, tests, performance, and security.
Evaluate code review feedback rigorously before deciding whether to implement it.
Review code deeply across correctness, tests, security, performance, and product quality.