Bumps the verygoodanalysis package to a new version. An agent skill from VeryGoodOpenSource/very_good_analysis.

MITAuto-check passedDevelopment

Install Bump Version

skills CLI
$ npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install VeryGoodOpenSource/very_good_analysis bump-version --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/very_good_analysis.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/bump-version .claude/skills/bump-version && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bump-version
GitHub stars
477
Token cost
~2.6k tokens
SKILL.md length
977 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Bumps the verygoodanalysis package to a new version. An agent skill from VeryGoodOpenSource/very_good_analysis.

  • Works in 9 steps: Confirm the version → Run the bump_version tool → Update the linter rules test → …
  • Preparing a release
  • SKILL.md covers Overview, Key Constraints, Inputs and Workflow, plus 3 more sections
  • Calls dart and gh

What it does

Bump Version is an agent skill from VeryGoodOpenSource/very_good_analysis. Bumps the verygoodanalysis package to a new version. Use when preparing a release, adding support for a new Dart SDK, or adding/removing lint rules — even for phrasings like "bump version", "cut a release", or "add rules for Dart X.Y".

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Linting and formatting and Cross-platform mobile apps. It works with Dart and Flutter. The repository describes itself as: Lint rules for Dart and Flutter used internally at Very Good Ventures 🦄. The licence is MIT.

When your agent uses it

  • Preparing a release
  • Adding support for a new Dart SDK
  • Adding/removing lint rules — even for phrasings like bump version
  • Add rules for Dart X.Y

Example prompts

  • “bump version”
  • “cut a release”
  • “add rules for Dart X.Y”
  • “/bump-version”

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Confirm the version
  2. Run the bump_version tool
  3. Update the linter rules test
  4. (Optional) Update lint rules in the new file
  5. Verify with static analysis
  6. Run the linter_rules tool tests
  7. Understand verify_version (do NOT run it here)
  8. Commit
  9. Push and open PR

What it can do on your machine

Read from SKILL.md and the folder at commit 0261a0a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • dart
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bump Version loads about 2.6k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 977 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from VeryGoodOpenSource/very_good_analysis at commit 0261a0a, republished under its MIT licence (© VeryGoodOpenSource). 977 words, ~2,555 tokens.

Download SKILL.mdSave it as .claude/skills/bump-version/SKILL.md (or your agent's skills folder).
name
bump-version
description
Bumps the very_good_analysis package to a new version. Use when preparing a release, adding support for a new Dart SDK, or adding/removing lint rules — even for phrasings like "bump version", "cut a release", or "add rules for Dart X.Y".

Bump Version — very_good_analysis

Overview

This skill guides the full version bump workflow for the very_good_analysis package. It uses the project's own tool/bump_version Dart script and enforces the constraints from the project's release process.

Key Constraints

These rules are critical. Violating some of them will cause CI to fail.

  1. pubspec.yaml version is NOT bumped here. The version in pubspec.yaml is managed exclusively by release-please. Do not change it.
  2. lib/analysis_options.yaml MUST point to the new version. The bump_version tool handles this automatically.
  3. A new lib/analysis_options.<version>.yaml MUST exist. The bump_version tool creates it by copying the previous version's file.
  4. The latest_vga_version_test.dart expected version MUST match the version referenced in lib/analysis_options.yaml.
  5. The tool/linter_rules tests must pass — they validate the consistency of the linter rules tooling.
  6. All changes go on a feature branch, never directly on main.
  7. Commit messages must follow Conventional Commits (e.g. feat:, fix:).

Inputs

ParameterDescriptionRequired
versionNew version string in x.y.z format (e.g. 10.4.0)Ask if not provided

If version is not provided, ask:

"What version do you want to bump to? (e.g. 10.4.0)"

Validate the format matches \d+\.\d+\.\d+ before proceeding.

Workflow

Step 1 — Confirm the version
  • If the user provided a version, confirm it looks correct.
  • Validate it is greater than the current version in lib/analysis_options.yaml (read it with the Dart MCP read_package_uris tool or the Read file tool).
Step 2 — Run the bump_version tool

Run from the project root:

sh
dart tool/bump_version/lib/bump_version.dart <NEW_VERSION>

This will:

  • Copy lib/analysis_options.<current>.yaml → lib/analysis_options.<new>.yaml
  • Update lib/analysis_options.yaml to include: the new versioned file

Do NOT manually edit lib/analysis_options.yaml or create the versioned file by hand. Always use the tool.

Step 3 — Update the linter rules test

The file tool/linter_rules/test/src/latest_vga_version_test.dart contains a hardcoded expected version:

dart
expect(version, equals('<CURRENT_VERSION>'));

Update it to match <NEW_VERSION>. This test reads lib/analysis_options.yaml at runtime, so it must stay in sync.

Step 4 — (Optional) Update lint rules in the new file

If the purpose of the bump is to add/remove rules or incorporate new Dart SDK rules, edit lib/analysis_options.<NEW_VERSION>.yaml now.

For new Dart SDK rules, also run the exclusion reason table generator. Fetch the tool's dependencies first, since tool/linter_rules is a separate package with its own pubspec.yaml:

sh
# From tool/linter_rules directory
dart pub get
dart lib/exclusion_reason_table.dart
Step 5 — Verify with static analysis

Prefer the Dart MCP analyze_files tool if available. Otherwise use the CLI:

sh
# From project root
dart analyze lib example
dart format --set-exit-if-changed lib example

The ci workflow only analyzes lib and example, but this workflow also edits tool/linter_rules/test/src/latest_vga_version_test.dart. That directory is validated by a separate CI workflow (tool_linter_rules.yaml), so verify it locally too:

sh
# From tool/linter_rules directory
dart pub get
dart format --set-exit-if-changed .
dart analyze .
Step 6 — Run the linter_rules tool tests

Prefer the Dart MCP tools if available. Otherwise (skip dart pub get if you already ran it in a previous step):

sh
# From tool/linter_rules directory
dart pub get
dart test

All tests must pass, including:

  • latestVgaVersion returns the latest very good analysis version
  • All other tests in tool/linter_rules/test/
Step 7 — Understand verify_version (do NOT run it here)

Do not run tool/verify_version/main.dart as part of this workflow. It will fail by design, and that failure is meaningless at this stage.

The verify_version script compares the pubspec.yaml version against the version referenced in lib/analysis_options.yaml. In this workflow pubspec.yaml is intentionally NOT bumped (it stays behind, managed by release-please), so the two versions will not match and the script will exit with code 1.

The CI verify_version workflow reflects this: it is gated to run only on the release-please branch (release-please--branches--main--components--very_good_analysis). It passes only after release-please opens its release PR and bumps pubspec.yaml to match. There is nothing to verify locally during the feature PR.

Show full SKILL.md (423 more words)Show less
Step 8 — Commit

Stage only the relevant files:

lib/analysis_options.yaml
lib/analysis_options.<NEW_VERSION>.yaml
tool/linter_rules/test/src/latest_vga_version_test.dart

Do NOT stage pubspec.yaml unless the SDK constraint also needs updating (e.g. when adopting a new Dart SDK version).

Commit message must follow Conventional Commits. Since PRs are squash-merged, the commit subject and the PR title end up being the same thing — so keep them consistent. Prefer the title that the semantic-pull-request check expects (see Step 9):

  • Upgrading to a new Dart SDK → feat: upgrade to Dart <NEW_SDK_VERSION>
  • Adding/removing lint rules (no SDK change) → feat: add analysis_options.<version>.yaml
  • Bug fix in rules → fix: update analysis_options.<version>.yaml
Step 9 — Push and open PR

Push to the feature branch and open a PR against main.

PR title must follow Conventional Commits to satisfy the semantic-pull-request CI check, and should match the commit subject from Step 8 (PRs are squash-merged):

  • When the bump tracks a new Dart SDK (the common case):
    feat: upgrade to Dart <NEW_SDK_VERSION>
    where <NEW_SDK_VERSION> is the Dart SDK version associated with the very_good_analysis version being added (e.g. feat: upgrade to Dart 3.9).
  • When the bump only adds/removes lint rules with no SDK change:
    feat: add analysis_options.<NEW_VERSION>.yaml

PR description — before opening the PR, search the GitHub repo VeryGoodOpenSource/very_good_analysis for an open issue requesting this bump (typically titled something like feat: add analysis_options.<NEW_VERSION>.yaml for Dart <NEW_SDK_VERSION>).

Use the GitHub MCP server's issue search tool (its exact name depends on your environment — e.g. search_issues) with a query like: repo:VeryGoodOpenSource/very_good_analysis analysis_options.<NEW_VERSION>.yaml

If the GitHub MCP tools are unavailable, fall back to the CLI: gh issue list --repo VeryGoodOpenSource/very_good_analysis --search "analysis_options.<NEW_VERSION>.yaml"

If a matching issue is found, append the following line to the PR description:

Closes #<ISSUE_NUMBER>.

If no matching issue exists, omit the closing line.

File Map

FileRole
lib/analysis_options.yamlDefault include — always points to latest versioned file
lib/analysis_options.<version>.yamlVersioned snapshot of all lint rules
pubspec.yamlPackage version — managed by release-please, do NOT bump manually
tool/bump_version/lib/bump_version.dartScript that creates the new versioned file and updates the default
tool/linter_rules/test/src/latest_vga_version_test.dartMust match the version in lib/analysis_options.yaml
tool/linter_rules/lib/exclusion_reason_table.dartRegenerates the exclusion table (run when adding new SDK rules)
tool/verify_version/main.dartVerifies pubspec version matches analysis_options version (release-please PRs only)

Release Process (for context)

This skill prepares the feature PR. The release itself is automated:

  1. Feature PR is merged to main with a feat: commit.
  2. release-please detects the conventional commit and opens a release PR (titled chore: <version>, per .release-please-config.json) that bumps pubspec.yaml and updates CHANGELOG.md.
  3. When the release PR is merged, a tag is created and the package is published to pub.dev automatically.

Never bump pubspec.yaml manually. Let release-please do it.

Example Session

User: bump version to 10.4.0

Agent:
1. Reads lib/analysis_options.yaml → current version is 10.3.0 ✓
2. Runs: dart tool/bump_version/lib/bump_version.dart 10.4.0
   → Creates lib/analysis_options.10.4.0.yaml
   → Updates lib/analysis_options.yaml to include 10.4.0
3. Updates latest_vga_version_test.dart: expects('10.4.0')
4. Runs dart analyze/format on lib example AND tool/linter_rules → clean ✓
5. Runs dart pub get + dart test in tool/linter_rules → all pass ✓
   (Skips tool/verify_version — it fails by design until release-please runs)
6. Commits (subject matches the PR title, since PRs squash-merge):
   feat: upgrade to Dart 3.13
7. Searches GitHub for an issue matching
   "feat: add analysis_options.10.4.0.yaml for Dart 3.13"
   → Found issue #673 ✓
8. Pushes and opens PR:
   Title: feat: upgrade to Dart 3.13
   Body:  ...
          Closes #673.

© VeryGoodOpenSource, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/bump-version of VeryGoodOpenSource/very_good_analysis.

Open the folder on GitHubat commit 0261a0a

Compare with similar skills

Bump Version next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bump Version compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bump Version this skillVeryGoodOpenSource/very_good_analysis477—~2.6kAutomated safety check: PassMIT
Frb Lintfzyzcjy/flutter_rust_bridge5.4k—~152Automated safety check: PassMIT
Very Good Analysis UpgradeVeryGoodOpenSource/vgv-ai-flutter-plugin169—~2.6kAutomated safety check: NotesMIT
Code Guidelinesgetsentry/sentry-dart873—~2.2kAutomated safety check: PassMIT
Frb Fix Merge Conflictfzyzcjy/flutter_rust_bridge5.4k—~1.2kAutomated safety check: PassMIT
Dart Long Lineskevmoo/dash_skills147—~1kAutomated safety check: PassApache-2.0

Similar skills

  • Frb Lint

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when you need to run lint, format, or clippy checks in flutterrustbridge

    5.4k GitHub stars~152 tokensUpdated yesterday
    MobileAuto-check passed
  • Very Good Analysis Upgrade

    VeryGoodOpenSource/vgv-ai-flutter-plugin

    Upgrade the verygoodanalysis lint package to a new version in any Dart or Flutter package, handling the pubspec.yaml version bump, the lint fixes the new rules force, and the PR.

    169 GitHub stars~2.6k tokensUpdated yesterday
    MobileAuto-check: notes
  • Code Guidelines

    getsentry/sentry-dart

    Official

    Enforce Sentry Dart/Flutter SDK code guidelines for implementation, refactoring, and review.

    873 GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Frb Fix Merge Conflict

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when resolving merge or rebase conflicts in flutterrustbridge, especially conflicts involving generated files after master/main changed independently from a PR branch.

    5.4k GitHub stars~1.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Dart Long Lines

    kevmoo/dash_skills

    Guidelines for handling long lines in Dart code to adhere to the 80-column rule.

    147 GitHub stars~1k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Signals Core Advanced Primitives

    rodydavis/signals.dart

    Reference for the advanced parts of Dart's signals_core: reactive primitives, async signals, reactive collections and utility types, with a linked page for each.

    819 GitHub stars~1.7k tokensUpdated 23 days ago
    DevelopmentAuto-check passed

Works with

Questions about Bump Version

What does Bump Version do?

Bumps the verygoodanalysis package to a new version. An agent skill from VeryGoodOpenSource/very_good_analysis. Bump Version is an agent skill from VeryGoodOpenSource/very_good_analysis. Bumps the verygoodanalysis package to a new version.

When should I use Bump Version?

Bump Version fits situations like: preparing a release; adding support for a new Dart SDK; adding/removing lint rules — even for phrasings like bump version; add rules for Dart X.Y.

How do I install Bump Version in Claude Code?

Run `npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a claude-code`. Or copy the skill folder (.agents/skills/bump-version in VeryGoodOpenSource/very_good_analysis) into .claude/skills/bump-version in your project. Claude Code loads it when a task matches its description.

How do I install Bump Version in Codex?

Run `npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a codex`. Or copy the skill folder (.agents/skills/bump-version in VeryGoodOpenSource/very_good_analysis) into .agents/skills/bump-version in your project. Codex loads it when a task matches its description.

Can I use Bump Version in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bump-version, .gemini/skills/bump-version, .github/skills/bump-version and .opencode/skills/bump-version in your project.

What does Bump Version need to run?

Going by SKILL.md and its folder, Bump Version needs the command-line tools its instructions call (dart and gh).

Does Bump Version access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Bump Version safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Bump Version use?

Bump Version is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bump Version use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bump Version?

Skills that share tags, products or a category with Bump Version: Frb Lint (fzyzcjy/flutter_rust_bridge, 5.4k stars), Very Good Analysis Upgrade (VeryGoodOpenSource/vgv-ai-flutter-plugin, 169 stars), Code Guidelines (getsentry/sentry-dart, 873 stars) and Frb Fix Merge Conflict (fzyzcjy/flutter_rust_bridge, 5.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bump Version?

VeryGoodOpenSource (a GitHub organization) maintains it in VeryGoodOpenSource/very_good_analysis, which has 477 GitHub stars. The repository was last updated on September 28, 2026.

Source: VeryGoodOpenSource/very_good_analysis on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.