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
Ready-to-paste message
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-bumpOr download just the file:
curl -L https://raw.githubusercontent.com/thedotmack/claude-mem/main/plugin/skills/version-bump/SKILL.md -o SKILL.mdTechnical 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
Analyze: Determine if the change is PATCH (bug fixes), MINOR (features), or MAJOR (breaking).
Environment: Identify repository owner/name from
git remote -v.Paths — every file that carries the version string:
package.json— the npm/npx-published version (npx claude-mem@X.Y.Zresolves from this)plugin/package.json— bundled plugin runtime deps.claude-plugin/marketplace.json— version insideplugins[0].version.claude-plugin/plugin.json— top-level Claude-plugin manifestplugin/.claude-plugin/plugin.json— bundled Claude-plugin manifest.codex-plugin/plugin.json— Codex-plugin manifestplugin/.codex-plugin/plugin.json— bundled Codex-plugin manifest.qoder-plugin/plugin.json— Qoder plugin manifestplugin/.qoder-plugin/plugin.json— bundled Qoder plugin manifestopenclaw/openclaw.plugin.json— OpenClaw plugin manifest.grok-plugin/plugin.json— Grok plugin manifestclaude-mem-cursor/.cursor-plugin/plugin.json— Cursor plugin manifestclaude-mem-grok-bot/.cursor-plugin/plugin.json— Grok Bot Cursor plugin manifestdsh/package.json— bundled DSH plugin packageREADME.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, andgit 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
- Update: Increment the version string in every path above. Do NOT touch
CHANGELOG.md— it's regenerated. - Verify:
git grep -n "\"version\": \"<NEW>\""— confirm all fourteen JSON files match, and the README badge readsversion-<NEW>-green.git grep -n "\"version\": \"<OLD>\""— should return zero hits. - Build and sync:
npm run build-and-syncto regenerate artifacts, sync the local marketplace copy, restart the worker, and clear the queue. Do not use plainnpm run buildfor release validation because it can leave the local marketplace/worker out of sync. - Commit:
git add -A && git commit -m "chore: bump version to X.Y.Z". - Tag:
git tag -a vX.Y.Z -m "Version X.Y.Z". - Push:
git push origin main && git push origin vX.Y.Z. - GitHub release:
gh release create vX.Y.Z --title "vX.Y.Z" --notes "RELEASE_NOTES". - Changelog: Regenerate via the project's changelog script:
(Runsnpm run changelog:generatenode scripts/generate-changelog.js, which pulls releases from the GitHub API and rewritesCHANGELOG.md.) - Sync changelog: Commit and push the updated
CHANGELOG.md. - 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
prepublishOnlyrebuilds the package. Ifnpm view claude-mem@X.Y.Z versionalready resolves, skip the publish and continue with post-publish checks. - 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-memonly, 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:
Ifgit 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 packagenpm whoamifails, 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
Comments
- …
More skills from this repository
Agent Cost Report
Has your agent generate detailed cost reports for its activities. Shows how much was spent on tokens and services.
thedotmack/claude-mem
claude-mem-install
Helps your agent set up Claude-Mem in different environments. Allows choosing between local or remote workers and configuring observation.
thedotmack/claude-mem
mem-search
Lets your agent search past memories. Useful for recalling previous solutions or work from old sessions.
thedotmack/claude-mem
host-observer
Helps your agent respond to Claude-Mem observer tasks. It should only reply with 'skip_summary' or a full XML observation.
thedotmack/claude-mem
Similar skills
bun-runtime
Has your agent use Bun to run, organize, and test code. It helps choose Bun over other tools and migrate existing projects.
affaan-m/ECC
database-migrations
Helps your agent make safe changes to databases. It ensures changes can be undone and minimizes downtime.
affaan-m/ECC
deployment-patterns
Sets up deployment and CI/CD workflows, containerization, and rollback strategies to ensure safe releases.
affaan-m/ECC