SkillAgentSearch skills...

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-management

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

90/100

Category

Automation

Supported Platforms

Universal

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.

Substance
26/30
Structure
20/20
Description
15/15
Adoption
14/20
Freshness
15/15

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 found

Our 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.

SkillScoreStarsUpdatedFormat
managing-python-releases (this skill)by kajisho5902.0k6d agoSKILL.md
Agent-Reachby Panniantong100101.5k1d agoCLAUDE.md
headroomby headroomlabs-ai10077.7ktodayCLAUDE.md
Scraplingby D4Vinci10089.4k1d agoMCP Server
crawl4aiby unclecode10086.2k2d agoMCP 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.

name: 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: bump package.json's version, convert the CHANGELOG's ## Unreleased into a dated section, git tag, create the GitHub Release, then npm publish separately. This is exactly the gap managing-python-releases is 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's skill_version() and doctor's version field both read package.json directly (see this repo's own concurrent-branches and build-artifacts skill notes for the related merge-conflict and publish-verification patterns this touches).

Source: wdm0006/python-skills (MIT).

Related Skills

View on GitHub
GitHub Stars2.0k
CategoryAutomation
Updated6d ago
Forks162

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions