release_skill

This skill releases Python packages to PyPI with intelligent version suggestions, changelog generation, and git tagging to streamline releases.
  • Python

653

GitHub Stars

5

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill dropseed/plain --skill release

  • add-hunks4.1 KB
  • bump-versions1.6 KB
  • commit-and-push3.2 KB
  • discover-changes4.2 KB
  • SKILL.md5.0 KB

Overview

This skill automates releasing Plain Python packages to PyPI with intelligent version suggestions and parallel release-notes generation. It discovers changed packages, recommends semantic bumps based on commit analysis, updates versions, prepends changelog entries, and commits/tags/pushes releases. Use it to standardize releases and reduce manual overhead when publishing package updates.

How this skill works

The tool inspects the git history to find packages with unreleased commits and parses commit messages and diffs to suggest patch/minor/major bumps. It supports first-release handling for 0.0.0 packages, runs scripts to bump versions, generates release-note entries from actual diffs (skipping tests/internal-only changes), and then runs a commit-and-push workflow that tags and pushes each package. Flags allow forcing a release despite a dirty git state and overriding automatic bump choices.

When to use it

  • Preparing one or more Plain packages for publication to PyPI after development changes.
  • When you want automated, consistent changelogs and semantic version suggestions.
  • When multiple subpackages changed and you need coordinated commits/tags.
  • When releasing a package for the first time (0.0.0) and deciding initial version.

Best practices

  • Keep Git working directory clean before running (or use --force deliberately).
  • Review suggested bump types and generated changelog text before committing.
  • Prefer 0.1.0 for initial development releases and 1.0.0 only for stable milestones.
  • Exclude test-only and internal refactor changes from user-facing release notes.
  • Release sub-packages first and the core package last to preserve dependency order.

Example use cases

  • Discover changed packages and interactively release them: /release
  • Release specific packages with an enforced patch bump: /release plain-admin --patch
  • First-time release for a package at 0.0.0: choose 0.1.0 or 1.0.0 and set version via uv.
  • Generate changelogs that summarize diffs and include commit hash links automatically.

FAQ

The tool stops and asks you to commit or stash changes unless you pass --force to override the check.

How are release types suggested?

It analyzes commits and diffs: 'fix'/'docs' hints at patch, 'add'/'feature' hints at minor, and explicit breaking indicators suggest major. You can accept or override each suggestion.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational