hu-wentao/skills

release-dart-package-action

Release a Dart or Flutter package through SemVer, pubspec and changelog updates, dry-run validation, an immutable Git tag, and GitHub Actions. Use when the user asks to release, publish, or version a package, including workspace packages.

First seen May 5, 2026

Installation

$ npx skills add hu-wentao/skills --skill release-dart-package-action

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from hu-wentao/skills · top by installs.

npx skills add hu-wentao/skills

Browse all from hu-wentao/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,444 B
  • docs SUMMARY.md 273 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 9 installs

SKILL.md

Release Dart Package with GitHub Actions

Operate from the Git root containing the workspace pubspec.yaml. A release request authorizes the selected package workflow, but version choice and any ambiguous workflow selection still require confirmation.

Preflight

  1. Read root pubspec.yaml; expand workspace: entries and select one package when several exist.
  2. Run scripts/pre_check.py. Stop for uncommitted changes or a branch behind upstream; report ahead commits that the release push will include.
  3. Detect FVM and prefix Dart/Flutter commands with fvm when configured.
  4. Run scripts/inspectworkflows.py [package-name]. Select a workflow using dart-lang/setup-dart/.github/workflows/publish.yml and record its tag pattern. If none exists, read [githubactiontemplate.md](references/githubaction_template.md).

Prepare Version

Run:

python <skill-root>/scripts/prepare_release.py <current-version> \
  [--tag-match <pattern>] [--package-path <relative-package-path>]

Present the SemVer suggestion and changelog entry. Use the suggestion only when the user provides no alternative. Preserve the project’s changelog convention.

Update only the selected package pubspec.yaml and CHANGELOG.md, then commit exact paths with chore(release): <version>.

Validate, Tag, and Push

From the selected package directory run:

dart pub publish --dry-run
# or: fvm dart pub publish --dry-run

Proceed only on success. Create one new tag matching the selected workflow pattern and pointing to the validated commit. Never move or reuse an existing release tag.

Push through:

python <skill-root>/scripts/push_tag_and_print_actions.py <tag>

The script pushes the current branch, then the exact tag, and prints the GitHub Actions URL when the remote is recognizable. A push or workflow failure is not a completed publication; preserve the commit and immutable tag for diagnosis.

Report

Report package path, prior and new version, workflow and tag pattern, changed files, dry-run result, exact commit and tag, push result, Actions URL, and any remaining publication verification.