Bumping the Dart SDK Version Constraint
SkillDev toolsbump-dart is a skill that raises the minimum Dart SDK version constraint across the flutter/flutter repository. It runs only when a user invokes /bump-dart, then uses a repo script to update pubspec.yaml files, regenerates dependency checksums with flutter update-packages, and runs static analysis to confirm the new constraints are clean. It writes a bump_results.md report and pauses to ask the user whenever errors or unexpected constraints appear.
Use Bumping the Dart SDK Version Constraint in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Bumping the Dart SDK Version Constraint and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Bumping the Dart SDK Version Constraint skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have a local checkout of the flutter/flutter repository.
What your AI can do with it
- Bump the minimum Dart SDK version constraint across the flutter/flutter repository
- Update pubspec.yaml files using a repo script
- Regenerate dependency checksums with flutter update-packages
- Run static analysis to confirm the new constraints are clean
- Write a bump_results.md report
- Pause and ask the user when errors or unexpected constraints appear
Getting started
- Have a local checkout of the flutter/flutter repository.
- Make sure the repo script used for bumping the Dart SDK constraint is available in that checkout.
- Invoke the skill by running /bump-dart.
- Review the bump_results.md report and respond to any prompts about errors or unexpected constraints.
What this skill tells your AI
The instructions your AI receives, as published by flutter/flutter in .agents/skills/bump-dart/SKILL.md and read by ahel’s review.
Important Rules
- Never Update Dependencies to 'any': The skill must never change or update any dependency version constraint to
anyin order to resolve version conflicts. - Pause and Ask on Issues: If you run into any issues executing the task (e.g., version resolution failures, checksum mismatches, test failures, or analyzer errors), do not attempt to fix them by modifying other dependencies. Pause immediately, report the exact error details, and ask the user for instructions.
- Handle Language Feature Version Discrepancies: If static analysis fails because a package uses language features from a newer SDK version than the requested target (e.g.,
private-named-parametersinwidget_preview_scaffoldrequiring3.12.0), ask the user if that specific package should be targeted at the higher SDK version while the rest of the repository remains at the requested target.
Step-by-Step Workflow
Follow these steps carefully to perform the bump, resolve dependencies, and verify the changes.
Step 1: Pre-flight Checks
- Verify target version suffix:
Ensure the version constraint specified by the user includes the
-0pre-release suffix (e.g.,^3.13.0-0instead of^3.13.0).- Why: Standard caret constraints like
^3.13.0exclude pre-release versions of that major/minor release. Since active development and CI run on pre-releases, omitting the-0suffix will cause package resolution to fail. If the user provided a version without-0, append it or ask the user for confirmation.
- Why: Standard caret constraints like
- Ensure SDK is already rolled: The target Dart SDK version must already have rolled into the repository (e.g. the local Dart SDK from the Engine stamp is at least that version). Otherwise, package resolution and analysis will fail.
Step 2: Update pubspec.yaml Files
Run the repository's Dart tool script to update matching pubspec.yaml files cross-platform:
dart dev/tools/bin/bump_version_constraints.dart <OLD_VERSION_CONSTRAINT> <NEW_VERSION_CONSTRAINT>
Example: dart dev/tools/bin/bump_version_constraints.dart ^3.10.0-0 ^3.11.0-0
- The script only updates packages whose current SDK constraint matches
<OLD_VERSION_CONSTRAINT>. If it encounters packages with deviating constraints (e.g. higher SDK versions like^3.12.0or custom ranges), it leaves them untouched and prints a message flagging them to the user.
Step 3: Update Dependency Checksums and Hashes
Flutter enforces dependency integrity via checksums. Run the update-packages tool to re-solve the package workspace, generate updated pubspec.lock files, and update the checksums:
flutter update-packages --force-upgrade --update-hashes
Step 4: Run Static Analysis
Verify the new constraints solve correctly and do not introduce any analyzer errors, warnings, lints (infos), or deprecations.
Run static analysis:
flutter analyze --flutter-repo
- Treat any non-zero exit code from
flutter analyzeas a failure. Do not ignoreinfo(lint) orwarningdiagnostics, as the Flutter repository requires all analysis issues to be clean. Pay close attention to newly firing lints or deprecated lint rule warnings.
Step 5: Report Status, Write Results File, and Prepare Pull Request
- Write Results File in Workspace Root:
Always write a detailed report of the bump execution to a file named
bump_results.mdin the workspace root (e.g.,<flutter_root>/bump_results.md). The file must include:- Target SDK version and current Engine SDK version.
- The exact bump command run.
- Count/details of updated
pubspec.yamlfiles. - List of skipped/flagged packages with their constraints.
- Results of the
update-packagesand static analysis runs (highlighting any failures, warnings, or newly firing lints).
- Handle Failure/Success:
- If static analysis fails (even if it only contains
infoorwarningdiagnostics likeprefer_initializing_formalsordeprecated_lint), list the failures/warnings inbump_results.md, report them to the user, and ask for guidance (or proceed to fix them if instructed). - If static analysis passes, point the user to
bump_results.mdin the workspace root, show a summary of modified files (git status), and prompt the user to commit the changes and prepare a pull request.
- If static analysis fails (even if it only contains
Signals
- GitHub stars
- 179k
- Forks
- 33k
- Last commit
- Oct 2026
Questions
- Does this skill trigger automatically?
- No. It does not trigger automatically. It only runs when a user runs /bump-dart.
- What does the skill do after bumping the Dart SDK constraint?
- It updates dependency checksums with flutter update-packages, runs static analysis to confirm the new constraints are clean, and writes a bump_results.md report.
- What happens if errors or unexpected constraints appear?
- The skill pauses to ask the user whenever errors or unexpected constraints appear.
- Which repository does this skill work on?
- It works on the flutter/flutter repository.
Advanced
- Item type
- skill
- Key
bump-dart- Source
- github.com/flutter/flutter
Related picks
Skill · evanca
The pick for Dartwrite-dart
Skill · cfug
The pick for Dartflutter-auto-route-navigation
Skill · hoangnguyen0403
The pick for Fluttererror-tracking-flutter
Skill · posthog
The pick for Flutterteach
Skill · mattpocock
More in Dev toolsimplement
Skill · mattpocock
More in Dev tools