dart-resolve-package-conflicts: a Dart team skill for pub version conflicts
A Dart team skill that walks Claude through fixing package version conflicts when dart pub get fails.
- Installs
- 19.1K
- on skills.sh
- Stars
- 537
- on GitHub
- Updated
- Oct 2026
- last repo commit
This skill gives Claude three workflows for Dart dependencies. It audits with dart pub outdated, upgrades with dart pub upgrade and --tighten, and resolves conflicts by removing only the conflicting package from pubspec.lock before running dart pub get. It triggers when pub get fails because of incompatible versions.
The skill says never to delete the whole pubspec.lock, because that causes uncontrolled upgrades across the dependency graph. It edits pubspec.yaml and pubspec.lock and runs commands that download packages. It is one file with no scripts.
Good for
- Dart and Flutter developers whose pub get fails on incompatible versions
- Teams auditing outdated or retracted packages
- Maintainers tightening version constraints in pubspec.yaml
Install dart-resolve-package-conflicts
Claude Code
- 1
Copy this prompt.
Install the dart-resolve-package-conflicts skill in Claude Code. Run this command: npx skills add https://github.com/dart-lang/skills --skill dart-resolve-package-conflicts Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
From its listing on skills.sh. Source.
What's in the skill
When it loads
Workflow for fixing package version conflicts. Use this when `pub get` fails due to incompatible package versions.
Sections in SKILL.md
- Contents
- Core Concepts
- Version Constraints
- Workflow: Auditing Dependencies
- Workflow: Upgrading Dependencies
- Workflow: Resolving Version Conflicts
- Examples
- Tightening Constraints
- Surgical Lockfile Removal
Key facts
- License
- BSD-3-Clause
- Installs on skills.sh
- 19,121 as of 2026-11-02
- Last repo commit
- 2026-10-16
- skills.sh audits
- Gen Agent Trust Hub: pass, Socket: pass, Snyk: pass
What it includes
Run dart pub outdated and read its columns
Checks the Upgradable and Resolvable columns and flags retracted or discontinued packages.
Try: “pub get fails with a version conflict. Resolve it without upgrading everything.”
Runs code ·
Workflow: auditing dependenciesdart pub upgrade, --tighten, or bump constraints
For Upgradable versions run dart pub upgrade and dart pub upgrade --tighten. For major updates edit pubspec.yaml first, then upgrade, then run dart analyze and dart test.
Runs code ·
Workflow: upgrading dependenciesDelete one package's entry from pubspec.lock, then pub get
Opens pubspec.lock, removes only the conflicting or retracted package block, runs dart pub get, then dart pub deps to check the graph.
Runs code ·
Workflow: resolving version conflictsCaret syntax, tight dev_dependencies, --enforce-lockfile in CI
Use ^1.2.3 style constraints, set dev dependency lower bounds to the current version, and use dart pub get --enforce-lockfile in CI.
Read ·
Version constraint rulesTightening a constraint and removing one lockfile block
Shows dart pub upgrade --tighten http and a before and after for pubspec.lock.
Read ·
Examples
From the official docs
Permissions
Medium risk
Claude edits pubspec.yaml and pubspec.lock and runs dart pub commands that download packages. Commit first and review the version changes before you merge.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It changes your locked dependency versions
Removing a lockfile block and running dart pub get can move a package to a newer version. Review the pubspec.lock diff and run the tests. github.com
Major upgrades can break your code
The skill bumps constraints to the Resolvable version for major updates and then runs dart analyze and dart test. Expect to fix breaking API changes. github.com
Technical details
| Talks to | The package source configured for dart pub (for example pub.dev) |
|---|---|
| Scopes |
|
Questions
What does dart-resolve-package-conflicts do?
It tells Claude how to audit, upgrade and repair Dart dependencies. The main path for a conflict is to remove only the problem package's entry from pubspec.lock and run dart pub get.
How do I install it?
Use the install box at the top of this page. The dart-lang/skills README also gives one command that installs every skill in the repo into the standard .agents/skills folder, if you want the whole set.
Why does it say never to delete pubspec.lock?
The skill says deleting the whole file and running dart pub get causes uncontrolled upgrades across the dependency graph. It removes only the conflicting package's block instead.
Is it safe to use?
It edits pubspec.yaml and pubspec.lock and downloads packages with dart pub commands, so it can change what versions your project uses. Commit first, review the diff, and run your tests. The skill ends upgrades with dart analyze and dart test.
Does it need an API key?
None is mentioned. It runs dart pub commands, which fetch package data from your configured package source.
Information
updated Nov 2, 2026
- Repository
- dart-lang/skills
- Folder
skills/dart-resolve-package-conflicts
Sources
Docs, issue trackers and discussions this page is built from.