Version Bumper
Overview
Automates semantic version bumps across all version-bearing files in a Claude Code plugin. Ensures consistency between plugin.json, marketplace.extended.json, and the generated marketplace.json catalog.
Prerequisites
jq installed and available on PATH for JSON manipulation
- Read/write access to
.claude-plugin/plugin.json and .claude-plugin/marketplace.extended.json
pnpm run sync-marketplace available at the repository root
- Git installed for optional tag creation
Instructions
- Identify the target plugin directory and read the current version from
.claude-plugin/plugin.json using jq -r '.version'.
- Determine the bump type (major, minor, or patch) from the user request. If unspecified, infer from the nature of changes: breaking changes warrant major, new features warrant minor, and fixes warrant patch.
- Parse the current version into its
major.minor.patch components and compute the new version according to semver rules (see ${CLAUDE_SKILL_DIR}/references/version-bump-process.md).
- Update the
"version" field in .claude-plugin/plugin.json with the new version string.
- Locate the plugin entry in
.claude-plugin/marketplace.extended.json and update its "version" field to match (see ${CLAUDE_SKILL_DIR}/references/update-locations.md).
- Run
pnpm run sync-marketplace at the repository root to regenerate marketplace.json.
- Verify version consistency across all three files by reading each and confirming the version strings match.
- Optionally create a git tag (
git tag -a "v<new_version>" -m "Release v<new_version>") and prepare a commit message following the chore: Release v<version> convention (see ${CLAUDE_SKILL_DIR}/references/release-workflow.md).
Output
A version bump execution summary containing:
- The computed transition (
old_version to new_version)
- The exact files updated:
.claude-plugin/plugin.json, .claude-plugin/marketplace.extended.json, and regenerated .claude-plugin/marketplace.json
- Validation confirmation that all files carry the same version
- Suggested next commands (
git add, git commit, git tag, validation scripts)
Error Handling
| Error |
Cause |
Solution |
jq: command not found |
jq not installed |
Install via apt install jq or brew install jq |
| Version format invalid |
Non-semver string in plugin.json |
Correct to x.y.z format before bumping |
| Plugin not found in marketplace |
Missing catalog entry |
Add the plugin to marketplace.extended.json first |
| Sync marketplace failure |
Schema mismatch or missing fields |
Run jq empty on both JSON files to locate syntax errors |
| Version mismatch after sync |
sync-marketplace did not pick up changes |
Verify the plugin name in marketplace.extended.json matches plugin.json exactly |
Examples
Patch bump for a specific plugin:
Trigger: "Bump the security-scanner plugin to patch version"
Process: Read current version 1.2.3, compute 1.2.4, update plugin.json and marketplace.extended.json, run sync, verify consistency, report success.
Explicit major release:
Trigger: "Release version 2.0.0 of plugin-name"
Process: Set version to 2.0.0 in all files, sync marketplace, create git tag v2.0.0, prepare commit with chore: Release v2.0.0.
Feature-based minor bump:
Trigger: "Increment version for new feature"
Process: Detect minor bump, compute 1.2.3 to 1.3.0, update all version locations, sync, validate, report completion.
Resources
${CLAUDE_SKILL_DIR}/references/version-bump-process.md -- step-by-step bump algorithm
${CLAUDE_SKILL_DIR}/references/update-locations.md -- all files requiring version updates
${CLAUDE_SKILL_DIR}/references/release-workflow.md -- full release process including git tags
${CLAUDE_SKILL_DIR}/references/examples.md -- additional usage scenarios
- Semantic Versioning specification
1---2name: version-bumper3description: |4 Execute automatically handles semantic version updates across plugin.json and marketplace catalog when user mentions version bump, update version, or release. ensures version consistency in AI assistant-code-plugins repository. Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.5allowed-tools: Read, Write, Edit, Grep, Bash(cmd:*)6version: 1.0.07author: Jeremy Longshore <jeremy@intentsolutions.io>8license: MIT9compatible-with: claude-code, codex, openclaw10tags: [example, version-bumper]1112---1314# Version Bumper1516## Overview1718Automates semantic version bumps across all version-bearing files in a Claude Code plugin. Ensures consistency between `plugin.json`, `marketplace.extended.json`, and the generated `marketplace.json` catalog.1920## Prerequisites2122- `jq` installed and available on PATH for JSON manipulation23- Read/write access to `.claude-plugin/plugin.json` and `.claude-plugin/marketplace.extended.json`24- `pnpm run sync-marketplace` available at the repository root25- Git installed for optional tag creation2627## Instructions28291. Identify the target plugin directory and read the current version from `.claude-plugin/plugin.json` using `jq -r '.version'`.302. Determine the bump type (major, minor, or patch) from the user request. If unspecified, infer from the nature of changes: breaking changes warrant major, new features warrant minor, and fixes warrant patch.313. Parse the current version into its `major.minor.patch` components and compute the new version according to semver rules (see `${CLAUDE_SKILL_DIR}/references/version-bump-process.md`).324. Update the `"version"` field in `.claude-plugin/plugin.json` with the new version string.335. Locate the plugin entry in `.claude-plugin/marketplace.extended.json` and update its `"version"` field to match (see `${CLAUDE_SKILL_DIR}/references/update-locations.md`).346. Run `pnpm run sync-marketplace` at the repository root to regenerate `marketplace.json`.357. Verify version consistency across all three files by reading each and confirming the version strings match.368. Optionally create a git tag (`git tag -a "v<new_version>" -m "Release v<new_version>"`) and prepare a commit message following the `chore: Release v<version>` convention (see `${CLAUDE_SKILL_DIR}/references/release-workflow.md`).3738## Output3940A version bump execution summary containing:41- The computed transition (`old_version` to `new_version`)42- The exact files updated: `.claude-plugin/plugin.json`, `.claude-plugin/marketplace.extended.json`, and regenerated `.claude-plugin/marketplace.json`43- Validation confirmation that all files carry the same version44- Suggested next commands (`git add`, `git commit`, `git tag`, validation scripts)4546## Error Handling4748| Error | Cause | Solution |49|---|---|---|50| `jq: command not found` | `jq` not installed | Install via `apt install jq` or `brew install jq` |51| Version format invalid | Non-semver string in plugin.json | Correct to `x.y.z` format before bumping |52| Plugin not found in marketplace | Missing catalog entry | Add the plugin to `marketplace.extended.json` first |53| Sync marketplace failure | Schema mismatch or missing fields | Run `jq empty` on both JSON files to locate syntax errors |54| Version mismatch after sync | `sync-marketplace` did not pick up changes | Verify the plugin name in `marketplace.extended.json` matches `plugin.json` exactly |5556## Examples5758**Patch bump for a specific plugin:**59Trigger: "Bump the security-scanner plugin to patch version"60Process: Read current version 1.2.3, compute 1.2.4, update `plugin.json` and `marketplace.extended.json`, run sync, verify consistency, report success.6162**Explicit major release:**63Trigger: "Release version 2.0.0 of plugin-name"64Process: Set version to 2.0.0 in all files, sync marketplace, create git tag `v2.0.0`, prepare commit with `chore: Release v2.0.0`.6566**Feature-based minor bump:**67Trigger: "Increment version for new feature"68Process: Detect minor bump, compute 1.2.3 to 1.3.0, update all version locations, sync, validate, report completion.6970## Resources7172- `${CLAUDE_SKILL_DIR}/references/version-bump-process.md` -- step-by-step bump algorithm73- `${CLAUDE_SKILL_DIR}/references/update-locations.md` -- all files requiring version updates74- `${CLAUDE_SKILL_DIR}/references/release-workflow.md` -- full release process including git tags75- `${CLAUDE_SKILL_DIR}/references/examples.md` -- additional usage scenarios76- [Semantic Versioning specification](https://semver.org/)