AgentSkillsCN

release

通过更新变更日志、升级版本、提交、打标签并推送,完成项目发布。当用户提出发布、切割版本、升级版本,或发布新版本时使用此功能。

SKILL.md
--- frontmatter
name: release
description: Perform a project release by updating the changelog, bumping the version, committing, tagging, and pushing. Use when the user asks to release, cut a release, bump the version, or publish a new version.

Release Skill

Perform a full release for this project.

Process

  1. Ensure you are on main and up to date:
    bash
    git checkout main
    git pull
    
  2. Run the changelog task to auto-determine the next version:
    bash
    uvx --from taskipy task changelog
    
  3. Read CHANGELOG.md and extract the new version number from the latest heading.
  4. Present the changelog diff to the user for review. Wait for user approval before continuing.
  5. Update __version__ in src/{{ python_package_import_name }}/__init__.py to match the new version (without the v prefix).
  6. Stage and commit:
    bash
    git add CHANGELOG.md src/{{ python_package_import_name }}/__init__.py
    git commit -m "chore: Release version X.Y.Z"
    
  7. Push, tag, and push the tag:
    bash
    git push
    git tag vX.Y.Z
    git push --tags
    
  8. The GitHub Actions release workflow will automatically create a GitHub release from the tag.

Important

  • Always wait for user approval after showing the changelog diff before committing.
  • The version in __init__.py must match the tag without the v prefix (e.g., __version__ = "1.2.0" and tag v1.2.0).
  • Only changelog-relevant commit types appear: build, deps, feat, fix, refactor.
  • If there are no releasable commits since the last tag, inform the user and stop.