dart-run-static-analysis
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.
- 0
- Installs
- —
- Rating
- —
- Success rate
- 1
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 e9497569b72175a4… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
Analyzing and Fixing Dart Code
Contents
- Analysis Configuration
- Diagnostic Suppression
- Workflow: Executing Static Analysis
- Workflow: Applying Automated Fixes
- Examples
Analysis Configuration
Configure the Dart analyzer using the analysis_options.yaml file located at the package root.
- Base Configuration: Always include a standard rule set (e.g.,
package:lints/recommended.yamlorpackage:flutter_lints/flutter.yaml) using theinclude:directive. - Strict Type Checks: Enable strict type checks under the
analyzer: language:node to prevent implicit downcasts and dynamic inferences. Setstrict-casts: true,strict-inference: true, andstrict-raw-types: true. - Linter Rules: Explicitly enable or disable specific rules under the
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 samerulesblock. - Formatter Configuration: Configure
dart formatbehavior under theformatter:node. Setpage_width(default 80) andtrailing_commas(automateorpreserve). - Analyzer Plugins: Enable custom diagnostics by adding plugins under the
analyzer: plugins:node. Ensure the plugin package is added as adev_dependencyinpubspec.yaml.
Diagnostic Suppression
When a diagnostic (lint or warning) yields a false positive or applies to generated code, suppress it explicitly.
- File-level Exclusion: Use the
analyzer: exclude:node inanalysis_options.yamlto exclude entire files or directories (e.g.,**/*.g.dart) using glob patterns. - File-level Suppression: Add
// 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=lintto suppress all linter rules. - Line-level Suppression: Add
// ignore: <diagnostic_code>on the line directly above the offending code, or appended to the end of the offending line. - Pubspec Suppression: Add
# ignore: <diagnostic_code>above the offending line inpubspec.yamlfiles (e.g.,# ignore: sort_pub_dependencies). - Plugin Diagnostics: Prefix the diagnostic code with the plugin name when suppressing plugin-specific issues (e.g.,
// ignore: some_plugin/some_code).
Workflow: Executing Static Analysis
Use this workflow to identify type-related bugs, style violations, and potential runtime errors.
Task Progress:
- 1. Verify
analysis_options.yamlexists at the project root. - 2. Run the analyzer using the
analyze_filesMCP tool (if available) or the CLI commanddart analyze <target_directory>. - 3. Review the diagnostic output.
- 4. If info-level issues must be treated as failures, append the
--fatal-infosflag. - 5. Resolve reported errors manually or proceed to the Automated Fixes workflow.
Workflow: Applying Automated Fixes
Use this workflow to resolve outdated API usages, apply quick fixes, and migrate code (e.g., Dart 3 migrations).
Task Progress:
- 1. Execute a dry run to preview proposed changes using the
dart_fixMCP tool or CLI commanddart fix --dry-run. - 2. Review the proposed fixes to ensure they align with the intended architecture.
- 3. If additional fixes are required, verify that the corresponding linter rules are enabled in
analysis_options.yaml. - 4. Apply the fixes using the
dart_fixMCP tool or CLI commanddart fix --apply. - 5. Format the modified code using the
dart_formatMCP tool or CLI commanddart format .. - 6. Run the static analysis workflow to verify all diagnostics are resolved.
Examples
Comprehensive analysis_options.yaml
include: 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
Inline Diagnostic Suppression
// 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
}
Files
1- SKILL.md
5e41a030114.9 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from flutter/agent-plugins8
Reviews the specified code against the canonical API Design guidelines. Use this skill when the user asks for an API review or to check code against API design principles.
Guide for writing effective code documentation, including docstrings, JSDoc, dartdoc, and implementation comments. Use this skill when writing new code, adding features, or improving existing documentation in Dart, Python, or TypeScript to ensure clarity and maintainability.
Performs a comprehensive, multi-step code review of pull requests or local code changes, using iterative refinement (generation, critique, synthesis) to ensure high-quality, actionable feedback. Use when you need to review code changes thoroughly.
Write and organize unit tests for functions, methods, and classes using `package:test`. Use when creating new logic or fixing bugs to ensure code remains correct and regression-free.
Architectural patterns, entrypoint structure, exit codes, stream routing, and subprocess spawning for Dart command-line interface (CLI) applications. Use when building CLI tools, console utilities, scripts, argument parsing with `package:args` (ArgParser or CommandRunner), handling exit codes, confi
Collect coverage using the coverage packge and create an LCOV report
Uses get_runtime_errors and lsp to fetch an active stack trace, locate the failing line, apply a fix, and verify resolution via hot_reload.
Define and generate mock objects for external dependencies using `package:mockito` and `build_runner`. Use when unit testing classes that depend on complex external services like APIs or databases.
Related tooling skillsscan passed
Open an executable and its argument array in a visible terminal window through a reusable, shell-free launch plan with dry-run, JSON, capability detection, detached fallback, and standalone recovery modes. Use when Codex needs to open an interactive CLI, SSH session, local development process, sandb
Web performance regression detection. (gstack)
Audit and improve CLAUDE.md files in repositories. Use when user asks to check, audit, update, improve, or fix CLAUDE.md files. Scans for all CLAUDE.md files, evaluates quality against templates, outputs quality report, then makes targeted updates. Also use when the user mentions "CLAUDE.md maintena
Helps you build and check a color system for your project. It generates palettes, names semantic tokens, converts between formats and measures contrast.
Creates a new Angular app using the Angular CLI. This skill should be used whenever a user wants to create a new Angular application and contains important guidelines for how to effectively create a modern Angular application.
Audit, diagnose, or optimize website loading and interaction performance, Core Web Vitals, and Lighthouse performance scores.