managing-python-releases
Manages Python library releases including semantic versioning, changelog maintenance (Keep a Changelog format), release automation with GitHub Actions, and deprecation workflows
Install / Use
npx skills add kajisho5/ffmpeg-skill --skill release-managementInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Our assessment of managing-python-releases
managing-python-releases scores 90/100 on our quality scale, 1181st of 2,890 Automation skills we index (top 41%).
Its SKILL.md is 4.1 KB long, well organised into 23 sections with 7 code examples: a solid amount of guidance for an agent.
With 1,987 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 6 days ago, so managing-python-releases is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-10-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
managing-python-releases compared with similar skills
All 4 of these similar skills score higher than managing-python-releases; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| managing-python-releases (this skill)by kajisho5 | 90 | 2.0k | 6d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 101.5k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 89.4k | 1d ago | MCP Server |
| crawl4aiby unclecode | 100 | 86.2k | 2d ago | MCP Server |
Frequently asked questions
- How do I install managing-python-releases?
- Run
npx skills add kajisho5/ffmpeg-skill --skill managing-python-releases. The install tabs above show the steps for each supported agent. - Which AI agents does managing-python-releases work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is managing-python-releases safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is managing-python-releases still maintained?
- The repository was last updated 6 days ago, so managing-python-releases is actively maintained.
Skill content
View source on GitHubname: managing-python-releases description: Manages Python library releases including semantic versioning, changelog maintenance (Keep a Changelog format), release automation with GitHub Actions, and deprecation workflows. Use when planning releases, writing changelogs, automating release pipelines, or communicating breaking changes.
Release Management
Semantic Versioning
MAJOR.MINOR.PATCH (e.g., 1.2.3)
PATCH: Bug fixes, no API changes
MINOR: New features, backward compatible
MAJOR: Breaking changes
Changelog Format (Keep a Changelog)
# Changelog
## [Unreleased]
### Added
- New `batch_encode()` function
## [1.2.0] - 2024-03-15
### Added
- Support for custom formats (#123)
### Fixed
- Edge case at -180 longitude (#145)
### Deprecated
- `old_function()` - use `new_function()` instead
[Unreleased]: https://github.com/user/repo/compare/v1.2.0...HEAD
[1.2.0]: https://github.com/user/repo/releases/tag/v1.2.0
Categories: Added, Changed, Deprecated, Removed, Fixed, Security
Version in Code
# src/package/__init__.py
__version__ = "1.2.3"
# Or use importlib.metadata
from importlib.metadata import version
__version__ = version("my-package")
GitHub Actions Release (PyPI example)
A tag-triggered workflow builds and publishes to a registry via trusted publishing (no stored token) is the general shape — swap the publish step for whatever registry the project actually uses (PyPI, npm, crates.io, ...):
# .github/workflows/release.yml
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write # create the GitHub release
id-token: write # trusted publishing (no token)
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- run: uv build
- uses: softprops/action-gh-release@v2
with:
files: dist/*
- uses: pypa/gh-action-pypi-publish@release/v1
Deprecation Process
Warn with stacklevel=2 so the message points at the caller.
import warnings
def old_function():
"""Deprecated: Use new_function() instead."""
warnings.warn(
"old_function() deprecated, will be removed in 2.0.0",
DeprecationWarning,
stacklevel=2,
)
return new_function()
Release Process
# 1. Update CHANGELOG.md (move Unreleased to version)
# 2. Bump version in the project manifest
# 3. Commit and tag
git commit -am "Release v1.2.0"
git tag -a v1.2.0 -m "Release v1.2.0"
git push origin main --tags
# 4. CI publishes automatically (if automated) or publish manually
Checklist
Before Release:
- [ ] All tests pass
- [ ] CHANGELOG updated
- [ ] Version bumped
- [ ] Documentation current
After Release:
- [ ] Registry shows new version
- [ ] A fresh install actually works (not just that the tag/publish succeeded)
- [ ] GitHub release created
- [ ] Docs updated
Note for this repository (ffmpeg-skill)
CHANGELOG.md here already follows Keep a Changelog's dated-section format
(## 0.10.0 — 2026-09-06 — ...), so the format guidance above matches this
repo exactly. Two real differences from the generic PyPI example:
- No automated release workflow exists. There is no
.github/workflows/release.yml— the 0.10.0 release this session did every step by hand: bumppackage.json'sversion, convert the CHANGELOG's## Unreleasedinto a dated section,git tag, create the GitHub Release, thennpm publishseparately. This is exactly the gapmanaging-python-releasesis meant to close with automation — worth considering if releases become frequent enough that a manual miss (like 0.9.2 sitting un-published to npm for a while, discovered this session) becomes a recurring problem. - The registry is npm, not PyPI, and there is no
__version__in code —scripts/_contract.py'sskill_version()anddoctor'sversionfield both readpackage.jsondirectly (see this repo's ownconcurrent-branchesandbuild-artifactsskill notes for the related merge-conflict and publish-verification patterns this touches).
Source: wdm0006/python-skills (MIT).
Related Skills
Agent-Reach
101.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
77.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Scrapling
89.4k🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
86.2kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key. Join our Discord https://discord.gg/VuxzM8mtf
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
