version-bump

Bump semantic versions in pyproject.toml and prepend changelog entries.

112|6|Updated Mar 19, 2026
One-click install
npx skills add https://github.com/agentculture/culture --skill version-bump-agentculture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: version-bump
Source: https://github.com/agentculture/culture/tree/main/.claude/skills/version-bump
Command: npx skills add https://github.com/agentculture/culture --skill version-bump-agentculture

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill removes the repetitive, error-prone work of updating a package version in pyproject.toml and keeping CHANGELOG.md entries consistent during release prep.

Core Features & Use Cases

  • Bump semver in pyproject.toml: Update the version = "x.y.z" field for major, minor, or patch releases.
  • Prepend a Keep-a-Changelog-style entry: Insert a new ## [x.y.z] - YYYY-MM-DD section at the top of CHANGELOG.md.
  • Summarize release notes from diff JSON: Accept changelog items via stdin in an added/changed/fixed JSON object, or generate empty stubs if none is provided.
  • Optional init.py rewrite: If __version__ = "..." exists as a literal in the package __init__.py, it rewrites it to match the new version.

Quick Start

Ask to bump a patch version by running the bump script with the patch argument from the repository root.

Frequently Asked Questions about version-bump

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

FAQPage Schema
How do I automate bumping a Python package version in pyproject.toml for a release?

You can automate bumping a Python package version by running a script that updates the version field in pyproject.toml for major, minor, or patch releases. The script locates the file by walking upward from the current directory.

How do I generate a Keep-a-Changelog entry automatically during release prep?

To generate a Keep-a-Changelog entry, the script prepends a new section with the version number and date to the top of CHANGELOG.md. It can populate added, changed, and fixed notes from stdin JSON input or create empty stubs.

Does version bumping automatically update __version__ in __init__.py?

Yes, version bumping updates __init__.py if a literal __version__ string exists. The script automatically rewrites the assigned value to match the newly bumped semantic version.

Can I pass release notes directly to the changelog generation process?

Yes, you can pass release notes by providing a JSON object via stdin containing added, changed, and fixed categories. The script uses this input to populate the new changelog section.

What happens if I bump a version without providing release note data?

If no release note data is provided via stdin, the script generates empty stubs for the added, changed, and fixed sections in the new CHANGELOG.md entry.

Do I need to run the version bump script from the repository root?

You do not need to run it from the exact root. The script locates pyproject.toml by walking upward from the current directory, so it works from any subdirectory within the project.