From semver
Invoked automatically when deciding version bumps to determine correct MAJOR/MINOR/PATCH increment. Covers SemVer 2.0.0: version format, decision tree, conflict resolution, common mistakes. Do NOT bump versions without consulting this guide for non-obvious cases. Keywords: semver, version bump, major minor patch, breaking change, version conflict, semantic versioning.
npx claudepluginhub tribe-coding/claude-plugins --plugin semverThis skill uses the workspace's default tool permissions.
`MAJOR.MINOR.PATCH` — e.g., `2.1.0`
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.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
MAJOR.MINOR.PATCH — e.g., 2.1.0
When to reset: incrementing MINOR resets PATCH to 0; incrementing MAJOR resets both.
Backwards-compatible bug fixes. No new API surface.
New features, backwards-compatible. Reset PATCH to 0.
Breaking changes. Reset MINOR and PATCH to 0.
Changed files → excluded (docs, LICENSE, .gitignore)? → YES → No bump needed
→ NO ↓
Did you remove / rename / break existing API? → YES → MAJOR
Did you add new public API or feature? → YES → MINOR (at minimum)
Did you fix a bug? → YES → PATCH
Refactoring, internal restructure only? → PATCH (or skip if truly zero user impact)
0.x.y signals the API is not yet stable — anything may change.
0.1.00.x.y freely during development1.0.0 for the first stable public releaseFormat: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-beta.2, 1.0.0-rc.1
Precedence: alpha < alpha.1 < beta < rc.1 < release
Use for unstable or pre-release testing builds.
When you rebase and find a version conflict:
git show <baseBranch>:<versionFile> | jq -r '.version'
Example: You bumped 1.1.0 → 1.1.1. Base is now 1.2.0 → yours becomes 1.2.1.
| Mistake | Correct approach |
|---|---|
| MAJOR for every change | MAJOR only for breaking changes |
| No bump for bug fixes | PATCH for every bug fix |
| Bumping for docs-only changes | Usually skip (unless docs are your product) |
| Skipping versions (1.0.0 → 1.0.5) | Increment by 1 per release |
| Adding MAJOR bump for new optional feature | Optional feature with default = MINOR |