Skills Agentes

Managing Python Releases

Gestiona lanzamientos de librerías Python: versionado semántico, changelog (Keep a Changelog), automatización con GitHub Actions y deprecaciones. Úsalo al planificar lanzamientos, escribir changelogs o comunicar breaking changes.

Reemplaza a: Publicación manual de releases (bump de versión, changelog, tag, GitHub Release y subida al registro).

Estrellas
1.3k

en todo el repo

Actividad
60

0–100, la ruta de este skill

Actualizado
el mes pasado

último commit aquí

Commits
1

últimos 90 días

Contexto
1.1k tok

73 tok en reposo

Paquete
1 archivo

4 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add kajisho5/ffmpeg-skill --skill release-management --agent claude-code

Se instala solo en este repositorio.

Este skill makes network requests.

Qué hace

  • Te guía en la elección del número de versión según el versionado semántico (MAJOR.MINOR.PATCH).
  • Mantiene el changelog en formato Keep a Changelog con sus categorías: Added, Changed, Deprecated, Removed, Fixed, Security.
  • Automatiza el lanzamiento de una release con GitHub Actions, incluyendo la publicación por trusted publishing.
  • Aplica el proceso de deprecación con warnings y stacklevel=2, y revisa el checklist pre y post release.

Úsalo cuando

  • Cuando planifiques una release de una librería Python.
  • Al escribir o actualizar un changelog en formato Keep a Changelog.
  • Cuando quieras automatizar el pipeline de publicación con GitHub Actions.
  • Para comunicar cambios incompatibles o deprecar funciones.

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • “Ayúdame a planificar la release 1.4.0 de mi librería Python.”
    • “Pasa mi changelog al formato Keep a Changelog.”
    • “Crea un workflow de GitHub Actions que publique en PyPI al hacer push de un tag.”
    • “¿Cómo deprecar una función para que el warning apunte a quien la llama?”
    • “Prepárame el checklist de lanzamiento de la versión 2.0.0.”

    SKILL.md

    En inglés

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

    Reproducido de kajisho5/ffmpeg-skill bajo licencia MIT. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere un repositorio Git; para el flujo automatizado, GitHub Actions y acceso al registro de paquetes (PyPI, npm, etc.).

    Necesita en el PATH:git

    Detalles

    Creador
    kajisho5
    Licencia
    MIT
    Recursos incluidos
    Solo SKILL.md
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de kajisho5/ffmpeg-skill

    Este repo incluye 13 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack ffmpeg-skill entero y su comando de instalación

    Edita vídeo y audio con FFmpeg local desde lenguaje natural: cortes, unión, reframe 9:16/1:1, velocidad, subtítulos, overlays, multicámara/sync, LUFS, HDR→SDR, LUTs, export y verificación. Python 3.9 stdlib, sin nube ni API keys.

    Costo de contexto al activarse
    8.1k tok
    Tamaño del paquete
    123 archivos
    Última actualización
    el mes pasado
    video

    Crea servidores MCP robustos en Python con FastMCP: diseño de herramientas, contratos de error, trabajo bloqueante, subprocesos/CLI, distribución, pruebas e inyección de prompts. Úsalo al escribir, exponer, depurar o probar servidores MCP.

    Costo de contexto al activarse
    3.2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    herramientas desarrollo

    Genera configuraciones de CI/CD para GitHub Actions: compilación y pruebas de librerías y paquetes. Úsalo al crear o actualizar workflows de npm, Python, Go o Rust con caché de dependencias, pruebas en matriz y publicación de artefactos.

    Costo de contexto al activarse
    1.1k tok
    Tamaño del paquete
    5 archivos
    Última actualización
    el mes pasado
    devops infraestructura

    Resuelve conflictos de merge con varias ramas abiertas: unión, recomputación y reconstrucción como resoluciones correctas; artefactos generados, serialización no determinista e IDs renumerados; un auto-merge limpio no es un test que pasa.

    Costo de contexto al activarse
    2.8k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    herramientas desarrollo

    Guarda operaciones destructivas: borrados, sobrescrituras, reescritura de historial o resolución de nombres a rutas; rechaza en vez de avisar, comprueba antes de mutar, clasifica por estructura y prueba cada mitad.

    Costo de contexto al activarse
    2.6k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    herramientas desarrollo

    Previene, detecta y corrige la subida a git de secretos (.env, API tokens, credenciales) y artefactos dev (builds, BD de trabajo, editor/SO). Cubre .gitignore (por qué no deja de trackear), git rm --cached, auditoría, historial y rotación.

    Costo de contexto al activarse
    2.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    herramientas desarrollo

    Skills relacionados

    Crea servidores MCP robustos en Python con FastMCP: diseño de herramientas, contratos de error, trabajo bloqueante, subprocesos/CLI, distribución, pruebas e inyección de prompts. Úsalo al escribir, exponer, depurar o probar servidores MCP.

    Costo de contexto al activarse
    3.2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    herramientas desarrollo

    Resuelve conflictos de merge con varias ramas abiertas: unión, recomputación y reconstrucción como resoluciones correctas; artefactos generados, serialización no determinista e IDs renumerados; un auto-merge limpio no es un test que pasa.

    Costo de contexto al activarse
    2.8k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    herramientas desarrollo

    Guarda operaciones destructivas: borrados, sobrescrituras, reescritura de historial o resolución de nombres a rutas; rechaza en vez de avisar, comprueba antes de mutar, clasifica por estructura y prueba cada mitad.

    Costo de contexto al activarse
    2.6k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    herramientas desarrollo