This skill should be used when about to add a Dart or Flutter package dependency — running flutter pub add, dart pub add, or editing pubspec.yaml to introduce a new package. Also load when choosing a specific version constraint for a new package. Skip for upgrading existing packages (pub upgrade), removing packages, or pub commands that don't introduce a new dependency.
Scanned 5/27/2026
Install via CLI
openskills install devoncarew/flutter-slipstream---
name: add-package
description: >-
This skill should be used when about to add a Dart or Flutter package
dependency — running flutter pub add, dart pub add, or editing pubspec.yaml to
introduce a new package. Also load when choosing a specific version constraint
for a new package. Skip for upgrading existing packages (pub upgrade),
removing packages, or pub commands that don't introduce a new dependency.
user-invocable: false
---
# Adding a Dart/Flutter Package Dependency
## Preferred approach
Use `flutter pub add <package>` (or `dart pub add`) rather than editing
`pubspec.yaml` directly. The pub command output is the primary signal for
package health; direct edits bypass it.
## Read pub output after every add
After running `pub add`, read the output carefully before proceeding. Two
classes of problem appear inline:
### Discontinued packages
```
+ flutter_markdown 0.7.7+1 (discontinued replaced by flutter_markdown_plus)
...
1 package is discontinued.
```
Action:
- If a replacement is listed: remove the discontinued package and add the
replacement instead (`flutter pub remove <pkg>` then
`flutter pub add <replacement>`).
- If no replacement is listed: find a well-maintained alternative before
proceeding.
### Version pinned behind current major
```
+ lints 4.0.0 (6.1.0 available)
...
4 packages have newer versions incompatible with dependency constraints.
```
The `(X.Y.Z available)` annotation on a package you just added means the version
you requested is behind the current release — often by a major version.
Action:
- Run `flutter pub outdated` to see the structured breakdown:
```
Package Name Current Upgradable Resolvable Latest
lints *4.0.0 *4.0.0 6.1.0 6.1.0
```
- If a direct dependency you just added shows a major-version gap between
Current and Latest, remove the version pin or update the constraint to the
current major (`flutter pub add 'lints:^6.0.0'`).
- Transitive dependency gaps are generally not actionable — note them but don't
block on them.
## When editing pubspec.yaml directly
If you add a dependency by editing `pubspec.yaml` instead of using `pub add`,
run `flutter pub get` immediately after and apply the same output-reading rules.
No comments yet. Be the first to comment!