release

Automates version bumps, changelog updates, commits, tags, and pushes for project releases.

Updated May 26, 2026
One-click install
npx skills add https://github.com/cagriy/dev-skills --skill release-cagriy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release
Source: https://github.com/cagriy/dev-skills/tree/main/skills/release
Command: npx skills add https://github.com/cagriy/dev-skills --skill release-cagriy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Releasing a project involves many error-prone manual steps: bumping version numbers in multiple files, updating the changelog, committing, tagging, and pushing. This Skill runs the entire release procedure end-to-end with language-aware rules, preventing stale lockfiles, mismatched versions, and tag conflicts. ## Core Features & Use Cases - Language Detection: Automatically detects Python, Swift, or generic projects (Node, Rust, PHP, Dart) and applies the correct version-source and pre-commit rules. - Semantic Versioning: Accepts major, minor, or patch arguments, validates the current version, and computes the new one without inventing base versions. - Safe Git Operations: Stages only touched files, checks for existing tags before creating new ones, and pushes the branch and tag without rolling back on failure. - Use Case: Run /release minor in a Python repo to bump pyproject.toml from 1.4.2 to 1.5.0, refresh uv.lock, move Unreleased changelog entries into a dated section, commit, tag v1.5.0, and push. ## Quick Start Ask the assistant to release the current project with a patch version bump using the release skill.

Frequently Asked Questions about release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I release a new version of my project with git tags?

Invoke the release skill with major, minor, or patch as the argument. It bumps the version in the appropriate manifest, updates CHANGELOG.md, commits only the touched files, creates a vX.Y.Z tag, and pushes both the branch and tag.

How to bump a version in pyproject.toml and keep uv.lock in sync?

The Python language section updates the static version in pyproject.toml plus any __version__ files, then runs uv lock when uv.lock exists so the lockfile's pinned project version stays in sync with the bump.

Does the release skill support Swift and Xcode projects?

Yes, it detects Package.swift or xcodeproj/xcworkspace markers and updates every MARKETING_VERSION entry in project.pbxproj. X.Y values are normalized to X.Y.0, and a CHANGELOG.md is created from git history if missing.

What happens if the git tag already exists during a release?

The skill checks local tags and remote tags via git ls-remote before tagging. If vX.Y.Z already exists, it stops before tagging and surfaces the conflict rather than force-overwriting the existing tag.

What happens when no version manifest is found in the repository?

The skill stops and reports that no version manifest was found, listing the files it looked for: .claude-plugin/plugin.json, package.json, Cargo.toml, composer.json, and pubspec.yaml. It never invents a base version.