release

Bump semantic versions, tag git repositories, and update CHANGELOG files.

1|Updated Jan 12, 2026
One-click install
npx skills add https://github.com/hankh95/yurtle-kanban --skill release-hankh95
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release
Source: https://github.com/hankh95/yurtle-kanban/tree/main/skills/release
Command: npx skills add https://github.com/hankh95/yurtle-kanban --skill release-hankh95

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill automates the creation of a versioned release by calculating the next semantic version, tagging the repository, and updating the CHANGELOG, reducing manual steps and human error.

Core Features & Use Cases

  • Semantic version bump: automatic calculation of patch/minor/major based on changes.
  • CHANGELOG automation: adds a top entry for the new version with date and notes.
  • Git tagging & publishing: creates annotated tags and pushes to remote.
  • Audit-ready releases: ensures all release steps are deterministic and reproducible.
  • Use Case: When preparing a release after merging into main, run the release flow to produce a tagged version and updated changelog.

Quick Start

Use the skill to perform a release by following these steps:

  1. Check Current State

    • git checkout main
    • git pull origin main
    • git status
    • grep -h "version" pyproject.toml | head -1
  2. Calculate New Version

    • Determine bump type: patch, minor, or major
  3. Update Version Files

    • Update version in pyproject.toml
    • If present, update init.py version
  4. Update CHANGELOG

    • Create a top entry with the new version and date
  5. Commit Release

    • git add pyproject.toml CHANGELOG.md
    • git commit -m "chore: release vX.Y.Z

    [Release description]

    Co-Authored-By: Your Name [email protected]"

  6. Create Git Tag

    • git tag -a vX.Y.Z -m "Release vX.Y.Z

    [Release description]"

  7. Push Release

    • git push origin main
    • git push origin vX.Y.Z
  8. Confirm Release

    • Show: New version number, tag created, CHANGELOG entry, and next steps.

Frequently Asked Questions about release

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

FAQPage Schema
How do I automate semantic versioning and git tagging for releases?

Automate semantic versioning and git tagging by calculating the next version, updating version files, creating an annotated git tag, and pushing changes to the remote repository. This deterministic workflow reduces manual errors during software releases.

How do I automatically update a CHANGELOG when creating a git release tag?

Update a CHANGELOG during a git release tag by automatically generating a top entry with the new version and date. The workflow validates the working tree, commits version file changes, and pushes the tag to the remote repository.

What is the best way to calculate patch, minor, or major version bumps for git projects?

Calculate patch, minor, or major version bumps by analyzing project changes and updating semantic version files accordingly. The release workflow then commits these updates, creates an annotated tag, and pushes to the remote.

Does this semantic release workflow require a clean git working tree?

Yes, the semantic release workflow requires a clean git working tree. It enforces deterministic steps by validating the working tree before updating version files, committing changes, creating an annotated tag, and pushing to the remote.

Can I use this release automation skill across different git branches?

Yes, you can use this release automation skill across different git branches. It targets software projects that follow semantic versioning and requires repeatable, auditable release workflows across branches.

What files are updated during an automated semantic release?

During an automated semantic release, the workflow updates version files like pyproject.toml and __init__.py, adds a top entry to the CHANGELOG with the new version and date, commits the changes, and creates an annotated git tag.