Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

version-bump — Claude Code skill: release and setup

This skill runs a plugin release from version selection to npm publishing. Use it when manifests, builds, tags, changelog, and release checks must follow one workflow.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add thedotmack/claude-mem --skill version-bump -a claude-code
Open on GitHub

What version-bump does

version-bump guides a release for Claude Code plugins. It helps classify a change as PATCH, MINOR, or MAJOR, updates versions in package.json, plugin manifests, and the README.md badge, then checks that old and new values are consistent. The workflow runs npm run build-and-sync, creates a commit and Git tag, pushes main and the tag, and creates a GitHub release.

It then regenerates CHANGELOG.md, audits the release worktree, and prepares publication from a detached worktree. Publishing uses npm whoami followed by npm publish --access public; post-publish checks cover the exact npm version and the latest dist-tag. An active npm token with write access to claude-mem is required, and the description gives it a 30-day lifetime. Check authentication first, because an expired token blocks the npm step.

After npm verification, the workflow can run the Discord notification from ~/Scripts/claude-mem/. The repository must match the expected manifest paths and build commands, and dependencies for prepublishOnly need to be available before publishing.

What it helps with

  • sync versions across plugin manifests
  • verify the release build before publishing
  • create and push a Git tag
  • regenerate the changelog after a release
  • check npm publication and send a Discord notice

Example prompts for the agent

  • Raise `claude-mem` to the next PATCH version and run the complete release workflow.
  • Check every version file, run `npm run build-and-sync`, then create the tag and GitHub release.
  • Verify npm version `X.Y.Z`, check the `latest` dist-tag, and send the Discord notification.

How to install version-bump

1Skills CLI (Vercel)

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

2Manually: put the files in place

~/.claude/skills/version-bump/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/version-bump/

From the same set15

The whole set →
mem-search thedotmack Searches memory for solutions and context from previous coding sessions when you need to recall past work. Claude Code CX Codex Cursor +1 8,900installs smart-explore thedotmack Uses tree-sitter to map code structure and find symbols. Useful when you need to explore a codebase without loading every full file. Claude Code CX Codex Cursor +1 7,300installs make-plan thedotmack Turns a feature request into a phased plan built on real documentation instead of guesses. Useful right before you run do. Claude Code CX Codex Cursor +1 7,200installs do thedotmack The skill runs an implementation plan in phases through subagents. Use it when a plan needs execution with checks after each phase. Claude Code CX Codex Cursor +1 7,000installs knowledge-agent thedotmack Builds focused knowledge corpora from claude-mem observations and lets you query them in an AI session. Useful for reviewing past work by topic or project. Claude Code CX Codex Cursor +1 5,700installs learn-codebase thedotmack Instructs the agent to read every source file in full before starting work. Built for onboarding on unfamiliar repositories. Claude Code CX Codex Cursor +1 5,300installs how-it-works thedotmack Explains how claude-mem works behind the scenes. It covers tool observation logging, local file storage, and memory injection timing. Claude Code CX Codex Cursor +1 5,100installs pathfinder thedotmack This skill maps feature flows, finds duplicated concerns, and proposes a unified architecture. Use it to inspect a codebase before a refactor. Claude Code CX Codex Cursor +1 5,100installs

Similar

gke-ai-troubleshooting-jobset-interruption official google Diagnoses GKE JobSet restarts and interruptions in AI/ML training workloads. Use it to trace worker crashes, node failures, and spot VM preemptions. Claude Code Gemini CLI CX Codex 4,500installs developer-device-platform-basics official google This skill guides agents through managing remote Android devices on Developer Device Platform, from checking availability to connecting over ADB. Claude Code Gemini CLI CX Codex 4,500installs firebase-remote-config-basics Google LLC Manages Firebase Remote Config templates, loading strategies, and feature flags for Android and iOS. Helps tweak app behavior without pushing a release to app stores. Claude Code CX Codex Cursor +1 120,800installs gke-ai-troubleshooting-tpu-vbar-oom official google Investigate vbar_control_agent crashes and OOMs on GKE TPU v6e nodes, especially around device resets or frequent metrics polling. Claude Code Gemini CLI CX Codex 4,400installs iii-engine-config iii-hq Configures the iii engine via worker-compose.yaml or config.yaml. Sets up engine ports, observers, RBAC proxy, and configuration storage. Claude Code CX Codex Cursor +1 4,200installs deployment-pipeline-design Seth Hobson Designs staged CI/CD pipelines with approvals, security checks and rollout strategies. Use it for canary, blue-green and rollback planning. Claude Code CX Codex Cursor 13,758installs wizard Matt Pocock This skill creates an interactive bash wizard for manual setup steps, CI secrets, third-party dashboards, and one-off migrations. Claude Code 553,369installs hyperframes-cli heygen-com Controls HyperFrames video workflows from the CLI: audits layouts and contrast, edits timeline clips, captures snapshots, and renders locally or in cloud runtimes. Claude Code CX Codex Cursor +1 1,200,000installs

Questions about version-bump

How do I install version-bump in Claude Code?

Run npx skills add thedotmack/claude-mem --skill version-bump -a claude-code, run the same command again, then open ~/.claude/skills/version-bump/SKILL.md.

What does version-bump do?

It synchronizes plugin versions, builds release artifacts, creates a Git tag and GitHub release, regenerates the changelog, and checks the npm publication.

What is required for publishing with version-bump?

You need an active npm token with write access to claude-mem. The skill checks it with npm whoami before running npm publish --access public.

Source text

SKILL.md · Apache-2.0
---
name: version-bump
description: 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.
---

# 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 [email protected]` 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:
    ```bash
    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 [email protected] 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:
    ```bash
    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
    for the maintainer (`open <url>`), replace the token value in `~/.npmrc` with
    `PASTE_NEW_TOKEN_HERE`, and `open -e ~/.npmrc` so he can paste the new token
    there. Never ask for the token in chat. Re-run `npm whoami`, then publish.
    Do not wait on `.github/workflows/npm-publish.yml` — its `NPM_TOKEN` secret
    has failed every tag since v13.26.1 (`E404 ... PUT https://registry.npmjs.org/claude-mem`).
    The publish rebuild rewrites `plugin/scripts/*.cjs` with minifier-name churn
    only; discard it with the worktree (`git worktree remove --force`).
12. **Post-publish verification and notification**: After publishing, verify
    both the exact version and the latest dist-tag:
    ```bash
    npm view [email protected] version
    npm view claude-mem version
    ```
    If the publish build touched tracked artifacts, run `npm run build-and-sync`,
    review the result, and commit/push any legitimate changes. Then run the
    Discord notification from `~/Scripts/claude-mem/`, where the `.env` with
    webhook details lives:
    ```bash
    cd ~/Scripts/claude-mem/ && npm run discord:notify vX.Y.Z
    ```
    Do this only after npm verification, and even when the release worktree does
    not have a local `.env`.
13. **Finalize**: `git status` — working tree must be clean and everything must
    be pushed.

## Checklist

- [ ] All fifteen version files (fourteen JSON manifests and the README badge) have matching versions
- [ ] `git grep` for old version returns zero hits
- [ ] `npm run build-and-sync` succeeded
- [ ] Git tag created and pushed
- [ ] GitHub release created with notes
- [ ] `CHANGELOG.md` updated and pushed
- [ ] Pre-publish audit passed
- [ ] `npm whoami` succeeded and the agent ran `npm publish --access public`
- [ ] Exact npm version and `latest` both verified after publishing
- [ ] Discord notification run from `~/Scripts/claude-mem/` only after npm verification
- [ ] `git status` shows clean tree

© thedotmack · Apache-2.0 · thedotmack/claude-mem

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor