agentleFS
NotRedFoxNotRedFox/NotRedFoxs-Claude-skills/version-bump/SKILL.md

version-bump

Skill1 starsChanged 34 days agoMITView on GitHub

Keeps a four-part version (MAJOR.MINOR.PATCH.TWEAK, like 1.4.2.7) for a project. Reads what changed, picks which number to raise and says why, updates VERSION and CHANGELOG.md, and can install a hook that blocks any commit that doesn't raise the version. Use when the user asks to bump, raise or set up a version.

25 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use security-audit and commit.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • CloudflareSkill

    security-audit

    Security guidance and vulnerability review for codebases, APIs, services, CLI tools, libraries, and daemons. Use for security questions, focused reviews, vulnerability research, security audits, or pen tests. Run the complete workflow only for explicit codebase audit or pen-test requests, full/comprehensive/end-to-end reviews, or requested report artifacts.

    Also in 3 projects that use this

  • SentrySkill

    commit

    Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 2 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run python3 "${CLAUDE_SKILL_DIR}/scripts/setup.py" "${CLAUDE_PROJECT_DIR}".

    line 31
  2. Very specific:

    Run python3 .claude/hooks/bump.py <level> "<one line on what changed, for people using it>".

    line 58
  3. Very specific:

    If the project also has a version in package.json, pyproject.toml, Cargo.toml or similar, leave it alone unless the user asks.

    line 66
  4. Very specific:

    Never put [no bump] in a commit message yourself.

    line 70
  5. Distinctive:

    Never lower a version or skip a number.

    line 71
  6. Distinctive:

    If you can't tell what a change does for users, ask before bumping.

    line 72

“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Version Bump

The version has four numbers: MAJOR.MINOR.PATCH.TWEAK. Raising one sets every number to its right back to 0.

Level1.4.2.7 becomesWhen
major2.0.0.0It breaks how people use it: a removed or renamed command, option, file or setting, or saved data that needs migrating
minor1.5.0.0Something new people can use, with nothing old broken
patch1.4.3.0A fix for something that worked wrongly
tweak1.4.2.8No change in behaviour: docs, comments, typos, formatting, tests only, refactors that behave the same

Arguments: $ARGUMENTS

  • setup: go to Setup.
  • major, minor, patch or tweak: use that level, then go to Bump. If the changes clearly don't fit it, say so once before bumping.
  • Nothing, or only a description: go to Pick the level.

Setup

  1. Run python3 "${CLAUDE_SKILL_DIR}/scripts/setup.py" "${CLAUDE_PROJECT_DIR}". It copies bump.py and require_bump.py into .claude/hooks/ and adds the hook to .claude/settings.json, keeping what's there. Claude Code asks before writing to .claude/, so tell the user to expect that.
  2. If there's no VERSION file, find the current version, in this order: the latest git tag (git describe --tags --abbrev=0), then package.json, pyproject.toml, Cargo.toml or a version in the README. Pad it to four numbers (1.2.3 becomes 1.2.3.0). If there's none, use 0.1.0.0. Run python3 .claude/hooks/bump.py init <version> and tell the user what you picked and where it came from.
  3. Tell the user:
    • From now on, a commit made through Claude Code is blocked until VERSION is raised.
    • The hook loads when Claude Code starts, so it works from the next session.
    • To commit without a bump, they can put [no bump] in the commit message.

Pick the level

  1. See what will go in the commit: git status --short, git diff HEAD --stat, then git diff HEAD on the files that matter. If the work is already committed, compare against the last version change: git log -1 --format=%h -- VERSION gives the commit, then git diff <that commit> HEAD.
  2. For each change, ask: does it break how someone uses this? Add something they can use? Fix something that was wrong? Or none of those?
  3. The highest level wins. One bump per commit, never two.
  4. Judge by what people using the project notice, not by how much code changed. A one-line rename of a command is major. A 500-line refactor that behaves the same is a tweak.

Cases that are easy to get wrong:

  • Removing a feature, or dropping support for something (an old Python version, a browser): major.
  • Changing a default people rely on: major if the old behaviour is gone, minor if they can still choose it.
  • Deprecating something that still works: minor.
  • A new optional flag or setting: minor.
  • Making something faster with the same results: patch.
  • A security fix: patch, or major if the fix has to break something.
  • Updating a dependency: tweak if nothing changes for users, patch if it fixes a bug they hit, major if it drops support for something.
  • Fixing docs that described the behaviour wrongly: tweak.

Bump

Run python3 .claude/hooks/bump.py <level> "<one line on what changed, for people using it>". If setup hasn't been run, use python3 "${CLAUDE_SKILL_DIR}/scripts/bump.py" instead. Never edit VERSION by hand: the script does the arithmetic and writes the CHANGELOG entry.

Then git add VERSION CHANGELOG.md. Commit only if the user asked for a commit, with their changes in the same commit.

Tell the user in one or two lines: old version, new version, the level, and why.

Other version numbers

If the project also has a version in package.json, pyproject.toml, Cargo.toml or similar, leave it alone unless the user asks. npm and Cargo only accept three numbers, so if the user wants them in step, write the first three numbers there.

Rules

  • Never put [no bump] in a commit message yourself. It's for the user.
  • Never lower a version or skip a number.
  • If you can't tell what a change does for users, ask before bumping. When you can't ask, pick the higher level and say why.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.