Frb Lint
fzyzcjy/flutter_rust_bridge
A skill your agent uses when you need to run lint, format, or clippy checks in flutterrustbridge
Bumps the verygoodanalysis package to a new version. An agent skill from VeryGoodOpenSource/very_good_analysis.
$ npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install VeryGoodOpenSource/very_good_analysis bump-version --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "bump-version" agent skill from https://github.com/VeryGoodOpenSource/very_good_analysis/tree/main/.agents/skills/bump-version into .claude/skills/bump-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bump-version", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/VeryGoodOpenSource/very_good_analysis/tree/main/.agents/skills/bump-versionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install VeryGoodOpenSource/very_good_analysis bump-version --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/very_good_analysis.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/bump-version .agents/skills/bump-version && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bump-version" agent skill from https://github.com/VeryGoodOpenSource/very_good_analysis/tree/main/.agents/skills/bump-version into .agents/skills/bump-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bump-version", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install VeryGoodOpenSource/very_good_analysis bump-version --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/very_good_analysis.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/bump-version .cursor/skills/bump-version && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bump-version" agent skill from https://github.com/VeryGoodOpenSource/very_good_analysis/tree/main/.agents/skills/bump-version into .cursor/skills/bump-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bump-version", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/VeryGoodOpenSource/very_good_analysis.git --path .agents/skills/bump-version--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install VeryGoodOpenSource/very_good_analysis bump-version --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/very_good_analysis.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/bump-version .gemini/skills/bump-version && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bump-version" agent skill from https://github.com/VeryGoodOpenSource/very_good_analysis/tree/main/.agents/skills/bump-version into .gemini/skills/bump-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bump-version", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install VeryGoodOpenSource/very_good_analysis bump-versionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/very_good_analysis.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/bump-version .github/skills/bump-version && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bump-version" agent skill from https://github.com/VeryGoodOpenSource/very_good_analysis/tree/main/.agents/skills/bump-version into .github/skills/bump-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bump-version", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add VeryGoodOpenSource/very_good_analysis --skill bump-version -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install VeryGoodOpenSource/very_good_analysis bump-version --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VeryGoodOpenSource/very_good_analysis.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/bump-version .opencode/skills/bump-version && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bump-version" agent skill from https://github.com/VeryGoodOpenSource/very_good_analysis/tree/main/.agents/skills/bump-version into .opencode/skills/bump-version/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bump-version", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bump-versionBumps 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. 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.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0261a0a. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
dartghFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from VeryGoodOpenSource/very_good_analysis at commit 0261a0a, republished under its MIT licence (© VeryGoodOpenSource). 977 words, ~2,555 tokens.
.claude/skills/bump-version/SKILL.md (or your agent's skills folder).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.
These rules are critical. Violating some of them will cause CI to fail.
pubspec.yaml version is NOT bumped here. The version in pubspec.yaml
is managed exclusively by release-please. Do not change it.lib/analysis_options.yaml MUST point to the new version. The
bump_version tool handles this automatically.lib/analysis_options.<version>.yaml MUST exist. The
bump_version tool creates it by copying the previous version's file.latest_vga_version_test.dart expected version MUST match the
version referenced in lib/analysis_options.yaml.tool/linter_rules tests must pass — they validate the consistency
of the linter rules tooling.main.feat:, fix:).| Parameter | Description | Required |
|---|---|---|
version | New 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.
lib/analysis_options.yaml
(read it with the Dart MCP read_package_uris tool or the Read file tool).Run from the project root:
dart tool/bump_version/lib/bump_version.dart <NEW_VERSION>This will:
lib/analysis_options.<current>.yaml → lib/analysis_options.<new>.yamllib/analysis_options.yaml to include: the new versioned fileDo NOT manually edit
lib/analysis_options.yamlor create the versioned file by hand. Always use the tool.
The file tool/linter_rules/test/src/latest_vga_version_test.dart contains a
hardcoded expected version:
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.
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:
# From tool/linter_rules directory
dart pub get
dart lib/exclusion_reason_table.dartPrefer the Dart MCP analyze_files tool if available. Otherwise use the
CLI:
# From project root
dart analyze lib example
dart format --set-exit-if-changed lib exampleThe 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:
# From tool/linter_rules directory
dart pub get
dart format --set-exit-if-changed .
dart analyze .Prefer the Dart MCP tools if available. Otherwise (skip dart pub get if
you already ran it in a previous step):
# From tool/linter_rules directory
dart pub get
dart testAll tests must pass, including:
latestVgaVersion returns the latest very good analysis versiontool/linter_rules/test/verify_version (do NOT run it here)Do not run
tool/verify_version/main.dartas 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.
Stage only the relevant files:
lib/analysis_options.yaml
lib/analysis_options.<NEW_VERSION>.yaml
tool/linter_rules/test/src/latest_vga_version_test.dartDo 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):
feat: upgrade to Dart <NEW_SDK_VERSION>feat: add analysis_options.<version>.yamlfix: update analysis_options.<version>.yamlPush 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):
feat: upgrade to Dart <NEW_SDK_VERSION><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).feat: add analysis_options.<NEW_VERSION>.yamlPR 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 | Role |
|---|---|
lib/analysis_options.yaml | Default include — always points to latest versioned file |
lib/analysis_options.<version>.yaml | Versioned snapshot of all lint rules |
pubspec.yaml | Package version — managed by release-please, do NOT bump manually |
tool/bump_version/lib/bump_version.dart | Script that creates the new versioned file and updates the default |
tool/linter_rules/test/src/latest_vga_version_test.dart | Must match the version in lib/analysis_options.yaml |
tool/linter_rules/lib/exclusion_reason_table.dart | Regenerates the exclusion table (run when adding new SDK rules) |
tool/verify_version/main.dart | Verifies pubspec version matches analysis_options version (release-please PRs only) |
This skill prepares the feature PR. The release itself is automated:
main with a feat: commit.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.Never bump
pubspec.yamlmanually. Letrelease-pleasedo it.
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
Just SKILL.md in .agents/skills/bump-version of VeryGoodOpenSource/very_good_analysis.
Open the folder on GitHubat commit 0261a0a
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bump Version this skillVeryGoodOpenSource/very_good_analysis | 477 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Frb Lintfzyzcjy/flutter_rust_bridge | 5.4k | — | ~152 | Automated safety check: Pass | MIT | |
| Very Good Analysis UpgradeVeryGoodOpenSource/vgv-ai-flutter-plugin | 169 | — | ~2.6k | Automated safety check: Notes | MIT | |
| Code Guidelinesgetsentry/sentry-dart | 873 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Frb Fix Merge Conflictfzyzcjy/flutter_rust_bridge | 5.4k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Dart Long Lineskevmoo/dash_skills | 147 | — | ~1k | Automated safety check: Pass | Apache-2.0 |
fzyzcjy/flutter_rust_bridge
A skill your agent uses when you need to run lint, format, or clippy checks in flutterrustbridge
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.
getsentry/sentry-dart
Enforce Sentry Dart/Flutter SDK code guidelines for implementation, refactoring, and review.
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.
kevmoo/dash_skills
Guidelines for handling long lines in Dart code to adhere to the 80-column rule.
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.
Categories
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.
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.
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.
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.
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.
Going by SKILL.md and its folder, Bump Version needs the command-line tools its instructions call (dart and gh).
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.
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.
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.
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.
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.
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.