agentleFS
jwilgerjwilger/agent-skills/.claude/skills/bump/SKILL.md

bump

Skill4 starsChanged 8 months agoCC0-1.0View on GitHub

INVOKE to bump the project version. Discovers changed skills since last tag, shows confirmation summary, commits per-skill then commits project version, tags, and pushes

  • Commits and pushes

We split this skill into the rules it gives an agent

11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 8 edited versions we read keep these.

  • 7

    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. Distinctive:

    Follow these steps exactly to bump the project version.

    line 13
  2. Distinctive:

    If no tags exist, note that.

    line 23
  3. Distinctive:

    If a tag was found, run:

    line 28
  4. Distinctive:

    If no tag exists, use git log --oneline and git diff --name-only HEAD / git diff --name-only --cached HEAD.

    line 37
  5. Very specific:

    If $ARGUMENTS is explicitly major, minor, or patch, use that as the default bump type for all skills and the project (but the user can …

    line 69
  6. Distinctive:

    After the user responds, recalculate any versions where the bump type changed.

    line 113
  7. Distinctive:

    If the current branch is not main, include a warning in the first question.

    line 115
  8. Very specific:

    Run the bump script to update the version in its SKILL.md:

    line 121
  9. Very specific:

    Run the bump script to update VERSION:

    line 144
  10. Very specific:

    Use AskUserQuestion to ask the user if they want to push the commits and tag:

    line 173
  11. Distinctive:

    Only push if the user confirms.

    line 179

“Common” is measured: kept by at least 6 in 10 of the 8 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

Bump Version Skill

Follow these steps exactly to bump the project version.

Step 1: Find the Latest Git Tag

Run:

git tag -l 'v*' --sort=-v:refname | head -1

If no tags exist, note that. The last tag (or empty string if none) is used throughout to scope change detection.

Step 2: Get Commits and Changed Files Since Last Tag

If a tag was found, run:

git log <tag>..HEAD --oneline
git diff --name-only <tag>..HEAD
git diff --name-only HEAD          # unstaged changes
git diff --name-only --cached HEAD # staged changes

If no tag exists, use git log --oneline and git diff --name-only HEAD / git diff --name-only --cached HEAD.

Merge all changed file paths into a single deduplicated list. If there are no commits since the last tag AND no staged/unstaged changes, warn the user and stop immediately — there is nothing to bump.

Step 3: Identify Affected Skills

From the full list of changed files, identify which skills are affected. A skill is affected if any file under skills/<name>/ appears in the list (including reference files, not just SKILL.md). Exclude skills/.template/.

For each affected skill, note the SKILL.md path: skills/<name>/SKILL.md.

Also note any non-skill files that changed (e.g., README.md, CLAUDE.md, VERSION, .claude/skills/bump/) — these will go in the final project-level commit.

Step 4: Read Current Versions

For each affected skill, read the current version from its SKILL.md frontmatter:

grep -m1 '^  version:' skills/<name>/SKILL.md

Also read the current project version from VERSION.

Step 5: Determine Bump Type Per Skill and Project

If $ARGUMENTS is explicitly major, minor, or patch, use that as the default bump type for all skills and the project (but the user can still override per-skill in Step 7).

Otherwise, for each affected skill individually, infer a suggested bump type from the diff of that skill's changed files:

git diff <tag> -- skills/<name>/  # committed changes
git diff HEAD -- skills/<name>/   # unstaged changes
git diff --cached HEAD -- skills/<name>/  # staged changes

Apply this heuristic to the combined diff content for that skill:

  • Diff removes or replaces a major mechanism (e.g., rewrites a strategy, removes a supported mode) → minor (or major if clearly breaking)
  • Diff adds new sections, practices, or options → minor
  • Diff fixes wording, clarifies, or makes small corrections → patch

Also infer a suggested bump type for the project based on the overall scope of all changes combined.

Step 6: Calculate New Versions

For each affected skill, calculate the new version by applying that skill's suggested bump type to its current version.

Calculate the new project version by applying the project's suggested bump type to the current project version in VERSION.

Step 7: Confirm with User — Per Skill

Present a summary and ask the user to confirm or override each skill individually. Use AskUserQuestion with one question per skill plus one for the project version. Each question should show:

  • The skill name and changed files
  • The suggested bump type and brief reasoning
  • Options: the suggested bump (recommended), and the other two bump types

For the project version question, show the suggested bump type and reasoning based on the overall set of changes.

After the user responds, recalculate any versions where the bump type changed.

If the current branch is not main, include a warning in the first question.

Step 8: Commit Each Skill

For each affected skill (process alphabetically by skill name):

  1. Run the bump script to update the version in its SKILL.md:

    bash .claude/skills/bump/bump.sh skill skills/<name>/SKILL.md <bump_type>

    The script prints <old> -> <new> on success. If it exits non-zero, stop immediately and report the error.

  2. Stage all files for that skill:

    git add skills/<name>/
  3. Commit:

    git commit -m "bump <name> to <new_version>"

Step 9: Commit Project Version

  1. Run the bump script to update VERSION:

    bash .claude/skills/bump/bump.sh project <new_project_version>
  2. Stage the project-level files (VERSION, any non-skill changed files, and the bump skill itself if it changed):

    git add VERSION
    # Also stage any other non-skill changed files identified in Step 3,
    # including .claude/skills/bump/ if any of its files changed
  3. Commit:

    git commit -m "bump version to <new_project_version>"

Step 10: Create Annotated Tag

git tag -a "v<new_project_version>" -m "v<new_project_version>"

Step 11: Offer to Push

Use AskUserQuestion to ask the user if they want to push the commits and tag:

git push && git push --tags

Only push if the user confirms.

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.

Reviews can't be read right now.

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.