← ClaudeAtlas

apply-semantic-versioninglisted

Apply semantic versioning (SemVer 2.0.0) to determine the correct version bump based on change analysis. Covers major/minor/patch classification, pre-release identifiers, build metadata, and breaking change detection. Use when preparing a new release to determine the correct version number, after merging changes before tagging, evaluating whether a change constitutes a breaking change, adding pre-release identifiers, or resolving disagreement about what version bump is appropriate.
pjt222/agent-almanac · ★ 33 · AI & Automation · score 81
Install: claude install-skill pjt222/agent-almanac
# Apply Semantic Versioning Determine and apply the correct semantic version bump by analyzing changes since the last release. This skill reads version files, classifies changes as breaking (major), feature (minor), or fix (patch), computes the new version number, and updates the appropriate files. Follows [SemVer 2.0.0](https://semver.org/) specification. ## When to Use - Preparing a new release and need to determine the correct version number - After merging a set of changes and before tagging a release - Evaluating whether a change constitutes a breaking change - Adding pre-release identifiers (alpha, beta, rc) to a version - Resolving disagreement about what version bump is appropriate ## Inputs - **Required**: Project root directory containing a version file (DESCRIPTION, package.json, Cargo.toml, pyproject.toml, or VERSION) - **Required**: Git history since the last release (tag or commit) - **Optional**: Commit convention in use (Conventional Commits, free-form) - **Optional**: Pre-release label to apply (alpha, beta, rc) - **Optional**: Previous version if not readable from files ## Procedure ### Step 1: Read Current Version Locate and read the version file in the project root. ```bash # R packages grep "^Version:" DESCRIPTION # Node.js grep '"version"' package.json # Rust grep '^version' Cargo.toml # Python grep 'version' pyproject.toml # Plain file cat VERSION ``` Parse the current version into major.minor.patch components. If the version contains a pr