skills/dart-package-maintenance/SKILL.md
Guidelines for maintaining external Dart packages, covering versioning, publishing workflows, and pull request management. Use when updating Dart packages, preparing for a release, or managing collaborative changes in a repository.
npx skillsauth add kevmoo/dash_skills dart-package-maintenanceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guidelines for maintaining Dart packages in alignment with Dart team best practices.
To find maintenance tasks or inconsistencies:
Ensure the latest version in CHANGELOG.md matches pubspec.yaml:
CHANGELOG.md with the version: field in
pubspec.yaml.0.major.minor+patch.1.0.0 as soon as the package is stable.Check Published Versions: Before modifying CHANGELOG.md or
pubspec.yaml, ALWAYS check the currently released version (e.g., via
git tag or pub.dev).
Do Not Amend Released Versions: Never add new entries to a version header that corresponds to a released tag.
Increment for New Changes: If the current version in pubspec.yaml
matches a released tag, increment the version (e.g., usually to -wip) and
create a new section in CHANGELOG.md.
Consistency: The CHANGELOG.md header must match the new
pubspec.yaml version.
SemVer Guidelines:
2.0.0-wip, 0.5.0-wip).1.1.0-wip, 0.4.5-wip).1.0.1-wip).CHANGELOG.md should focus on changes
visible to or impacting the end-user (e.g., new features, bug fixes,
breaking changes).pubspec.yaml and CHANGELOG.md with a -wip suffix (e.g., 1.1.0-wip).-wip suffix from pubspec.yaml and
CHANGELOG.md in a dedicated pull request.dart pub publish (or flutter pub publish) and resolve
all warnings and errors.v1.2.3package_name-v1.2.3git tag v1.2.3 && git push --tagsmain into the PR branch rather than
rebasing to resolve conflicts. This preserves the review history and comments.gh pr checkout <number> to inspect changes
locally in your IDE.testing
Core concepts and best practices for `package:test`. Covers `test`, `group`, lifecycle methods (`setUp`, `tearDown`), and configuration (`dart_test.yaml`).
testing
Understand and improve test coverage in a Dart package. Helps agents run coverage, interpret results, and identify missed lines.
development
Guidelines and best practices for refactoring consecutive prints, single-line string concatenations, and complex output blocks into triple-quoted multi-line string literals (''' or """) in Dart.
tools
Guidelines for using modern Dart features (v3.0 - v3.10) such as Records, Pattern Matching, Switch Expressions, Extension Types, Class Modifiers, Wildcards, Null-Aware Elements, and Dot Shorthands.