Bump version across all project files, commit, push, and create PR. Use when the user says 'bump version', 'release', 'bump-release', 'cut a release', 'version bump', or similar.
From moonsite-skillsnpx claudepluginhub moonsite/moonsite-claude-extensions --plugin moonsite-skillsThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Detect all version files in the project, bump them to a new version, commit, push, create a PR if on a feature branch, and merge it.
Scan the project root (and immediate subdirectories) for files containing version strings. Check for:
package.json — "version": "x.y.z"*.csproj / Directory.Build.props — <Version>x.y.z</Version>pyproject.toml — version = "x.y.z"setup.py / setup.cfg — version= or version =Cargo.toml — version = "x.y.z"build.gradle / build.gradle.kts — version = or version=*.podspec — .version =marketplace.json / plugin.json — "version": "x.y.z"SKILL.md frontmatter — version: x.y.z"version": "x.y.z" or version = "x.y.z" patternsUse Glob and Grep to find these files. Collect each file path and its current version string.
Important: Only include files that are tracked by git or are in the project's source directories. Skip node_modules/, dist/, build/, .git/, vendor directories, and lock files (package-lock.json, yarn.lock, Cargo.lock, etc.).
If the user specified a bump type (patch, minor, major), use it. Otherwise, ask using AskUserQuestion:
Display a table of all detected version files and their current versions. Example:
File Current Version
──────────────────────────────────── ───────────────
.claude-plugin/marketplace.json 1.0.0
plugins/foo/.claude-plugin/plugin.json 4.0.0
skills/bar/SKILL.md 1.0.0
Ask the user to confirm before proceeding. If versions differ across files, ask whether to:
Update each detected file with the new version using the Edit tool. Handle each file format correctly:
package.json, marketplace.json, plugin.json): Update the "version" valueSKILL.md): Update the version: fieldpyproject.toml, Cargo.toml): Update version = "..." in the appropriate section.csproj, Directory.Build.props): Update <Version>...</Version>version = "..." or version '...'version= argumentIf CHANGELOG.md exists in the project root, prepend a new release entry after the --- separator (below the header). Use today's date and the new top-level version:
## [X.Y.Z] — YYYY-MM-DD
### plugin-name X.Y.Z
- Brief summary of each change (one bullet per change)
- Focus on user-facing changes, not internal refactors
To determine what changed: check git log since the last version tag or release commit, and read PR descriptions. Group changes by plugin. Keep descriptions concise (one line each).
If CHANGELOG.md does not exist, skip this step.
Also update any plugins/<name>/CHANGELOG.md files if they exist. Use the same format and change detection logic. If a per-plugin changelog doesn't exist, skip it (don't create during bump-release — only /publish creates initial changelogs).
git status and git diff to review changesCHANGELOG.md, and any plugins/<name>/CHANGELOG.md files (by name, not git add -A)Bump version to X.Y.ZCheck the current branch. If it's NOT the main/default branch:
gh pr create to create a pull request
Release vX.Y.Zgh pr merge --merge --admin
--admin fails due to permissions, try without it: gh pr merge --mergegit checkout main && git pullIf already on main/master, skip PR creation and inform the user that the version bump has been pushed directly.
"version" fields (e.g., nested dependencies), only bump the top-level project version.gitignore — don't scan ignored directories