Skip to content
Skillpedia
Deploy & cloud (DevOps)101k · #822

version-bump

Automates version updates and the release process for plugins. It handles everything from updating files to the final publication.

What it does

This tool automatically updates your project's version number across several important files. It also creates a tag for your code, generates release notes, and publishes the new version so others can use it.

When to use it

  • ✓When you fix a bug and want to mark that fix.
  • ✓When you add a new feature to your project.
  • ✓When you make a big change that might break previous usage.

Example of what to ask your AI

“Update my project's version to the next bug fix.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/thedotmack/claude-mem/blob/main/plugin/skills/version-bump/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/thedotmack/claude-mem/blob/main/plugin/skills/version-bump/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool finds all the places where the version number is written, updates it to the new number, creates a tag for this version in the code, and publishes everything.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add thedotmack/claude-mem --skill version-bump

Or download just the file:

curl -L https://raw.githubusercontent.com/thedotmack/claude-mem/main/plugin/skills/version-bump/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Version Bump & Release Workflow

IMPORTANT: Plan and write detailed release notes before starting.

CRITICAL: Commit EVERYTHING (including build artifacts). At the end of this workflow, NOTHING should be left uncommitted or unpushed. Run git status at the end to verify.

Preparation

  1. Analyze: Determine if the change is PATCH (bug fixes), MINOR (features), or MAJOR (breaking).

  2. Environment: Identify repository owner/name from git remote -v.

  3. Paths — every file that carries the version string:

    • package.json — the npm/npx-published version (npx claude-mem@X.Y.Z resolves from this)
    • plugin/package.json — bundled plugin runtime deps
    • .claude-plugin/marketplace.json — version inside plugins[0].version
    • .claude-plugin/plugin.json — top-level Claude-plugin manifest
    • plugin/.claude-plugin/plugin.json — bundled Claude-plugin manifest
    • .codex-plugin/plugin.json — Codex-plugin manifest
    • plugin/.codex-plugin/plugin.json — bundled Codex-plugin manifest
    • .qoder-plugin/plugin.json — Qoder plugin manifest
    • plugin/.qoder-plugin/plugin.json — bundled Qoder plugin manifest
    • openclaw/openclaw.plugin.json — OpenClaw plugin manifest
    • .grok-plugin/plugin.json — Grok plugin manifest
    • claude-mem-cursor/.cursor-plugin/plugin.json — Cursor plugin manifest
    • claude-mem-grok-bot/.cursor-plugin/plugin.json — Grok Bot Cursor plugin manifest
    • dsh/package.json — bundled DSH plugin package
    • README.md — the version badge (version-X.Y.Z-green), not a "version" key

    Verify coverage before editing: git grep -l "\"version\": \"<OLD>\"" should list the fourteen JSON files above, and git grep -n "version-<OLD>-green" the README badge. If a new manifest has been added since this doc was last updated, update this list.

Workflow

  1. Update: Increment the version string in every path above. Do NOT touch CHANGELOG.md — it's regenerated.
  2. Verify: git grep -n "\"version\": \"<NEW>\"" — confirm all fourteen JSON files match, and the README badge reads version-<NEW>-green. git grep -n "\"version\": \"<OLD>\"" — should return zero hits.
  3. Build and sync: npm run build-and-sync to regenerate artifacts, sync the local marketplace copy, restart the worker, and clear the queue. Do not use plain npm run build for release validation because it can leave the local marketplace/worker out of sync.
  4. Commit: git add -A && git commit -m "chore: bump version to X.Y.Z".
  5. Tag: git tag -a vX.Y.Z -m "Version X.Y.Z".
  6. Push: git push origin main && git push origin vX.Y.Z.
  7. GitHub release: gh release create vX.Y.Z --title "vX.Y.Z" --notes "RELEASE_NOTES".
  8. Changelog: Regenerate via the project's changelog script:
    npm run changelog:generate
    
    (Runs node scripts/generate-changelog.js, which pulls releases from the GitHub API and rewrites CHANGELOG.md.)
  9. Sync changelog: Commit and push the updated CHANGELOG.md.
  10. Pre-publish audit: Verify the release commit, tag, GitHub release, and changelog are pushed; confirm the release worktree has no pending tracked changes; and ensure its build dependencies are present because prepublishOnly rebuilds the package. If npm view claude-mem@X.Y.Z version already resolves, skip the publish and continue with post-publish checks.
  11. Publish to npm — the agent runs it. The old "human handoff" rule is obsolete: the maintainer allows agents to publish. The token is a 30-day granular npm token (read/write on claude-mem only, bypass 2FA) in the maintainer's Mac ~/.npmrc; he issues a new one every month. It is deliberately NOT in any backup (grok-bot-backups excludes secrets), so do not go looking for it elsewhere. Publish from a clean worktree of the tag (inside the project's .scratch/) so uncommitted edits never ship:
    git worktree add --detach .scratch/release-X.Y.Z vX.Y.Z
    cd .scratch/release-X.Y.Z && npm install --ignore-scripts
    npm whoami                    # must print thedotmack; 401 = token expired
    npm publish --access public   # prepublishOnly rebuilds the package
    
    If npm whoami fails, the monthly token has expired. Finish every other step, then: open https://www.npmjs.com/settings/thedotmack/tokens/granular-access-tokens/new

…

FAQ

What is 'semantic versioning'?

It's a way to organize version numbers (like 1.0.0) to indicate the type of change: PATCH for fixes, MINOR for new features, and MAJOR for breaking changes.

Why do I need to update the version in so many files?

Different files control the version in different places where your project is used or listed, such as the package registry (npm) and plugin manifests.

What happens if I don't commit everything beforehand?

The tool might not work correctly or could create a version with outdated code, as it expects everything to be saved and ready.

Details

Original description by the author

Automated semantic versioning and release workflow for Claude Code plugins. Handles version increments across package.json, marketplace.json, plugin.json manifests, build verification, git tagging, GitHub releases, and changelog generation. Ends with the agent running npm publish itself using the maintainer's npm token.

repo: thedotmack/claude-mem

Popularity

GitHub stars
101k
Ranking position
#822
License
Apache-2.0
Updated
10/16/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills