Execute `dart analyze` to identify warnings and errors, and use `dart fix --apply` to automatically resolve mechanical lint issues. Use during development to ensure code quality and before committing changes.
68
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Configure the Dart analyzer using the analysis_options.yaml file located at the package root.
package:lints/recommended.yaml or package:flutter_lints/flutter.yaml) using the include: directive.analyzer: language: node to prevent implicit downcasts and dynamic inferences. Set strict-casts: true, strict-inference: true, and strict-raw-types: true.linter: rules: node. Use a key-value map (rule_name: true/false) when overriding included rules, or a list (- rule_name) when defining a fresh set. Do not mix list and map syntax in the same rules block.dart format behavior under the formatter: node. Set page_width (default 80) and trailing_commas (automate or preserve).analyzer: plugins: node. Ensure the plugin package is added as a dev_dependency in pubspec.yaml.When a diagnostic (lint or warning) yields a false positive or applies to generated code, suppress it explicitly.
analyzer: exclude: node in analysis_options.yaml to exclude entire files or directories (e.g., **/*.g.dart) using glob patterns.// ignore_for_file: <diagnostic_code> at the top of a Dart file to suppress specific diagnostics for the entire file. Use // ignore_for_file: type=lint to suppress all linter rules.// ignore: <diagnostic_code> on the line directly above the offending code, or appended to the end of the offending line.# ignore: <diagnostic_code> above the offending line in pubspec.yaml files (e.g., # ignore: sort_pub_dependencies).// ignore: some_plugin/some_code).Use this workflow to identify type-related bugs, style violations, and potential runtime errors.
Task Progress:
analysis_options.yaml exists at the project root.analyze_files MCP tool (if available) or the CLI command dart analyze <target_directory>.--fatal-infos flag.Use this workflow to resolve outdated API usages, apply quick fixes, and migrate code (e.g., Dart 3 migrations).
Task Progress:
dart_fix MCP tool or CLI command dart fix --dry-run.analysis_options.yaml.dart_fix MCP tool or CLI command dart fix --apply.dart_format MCP tool or CLI command dart format ..analysis_options.yamlinclude: package:flutter_lints/recommended.yaml
analyzer:
exclude:
- "**/*.g.dart"
- "lib/generated/**"
language:
strict-casts: true
strict-inference: true
strict-raw-types: true
errors:
todo: ignore
invalid_assignment: warning
missing_return: error
linter:
rules:
avoid_shadowing_type_parameters: false
await_only_futures: true
use_super_parameters: true
formatter:
page_width: 100
trailing_commas: preserve// Suppress for the entire file
// ignore_for_file: unused_local_variable, dead_code
void processData() {
// Suppress for a specific line
// ignore: invalid_assignment
int x = '';
const y = 10; // ignore: constant_identifier_names
}8aaa41d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.