release

Automate end-to-end software releases via PR-based version bumps and PyPI publishing.

Updated Mar 11, 2026
One-click install
npx skills add https://github.com/prata0x/gfo --skill release-prata0x
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release
Source: https://github.com/prata0x/gfo/tree/main/.claude/skills/release
Command: npx skills add https://github.com/prata0x/gfo --skill release-prata0x

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

PR 経由でリリースを一括実行する workflow を提供します。main がクリーンか検証 → release-v<X.Y.Z> ブランチを切る → バージョン bump(init.py / test_cli.py / CHANGELOG 2種)→ PR 作成 → CI green 後に --merge → main のマージコミットに注釈タグ → タグ push。タグ push(v*)が release.yml をトリガーし PyPI へ自動公開する。「リリース」「リリースして」「deploy」「PyPI に公開」と言われたときに使う。

Core Features & Use Cases

  • End-to-end release orchestration via PR flow
  • Checks and tagging per CLAUDE.md rules
  • PR-based version bump and changelog coordination

Quick Start

Create a release PR after confirming main is clean, then let the CI verify and publish to PyPI.

Frequently Asked Questions about release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate a PyPI release through a pull request flow?

To automate a PyPI release through a PR flow, this Skill validates that main is clean, creates a release branch, bumps versions, updates changelogs, and opens a PR. After CI passes and merges, it pushes an annotated git tag to trigger PyPI publishing.

What is the best way to automate version bumps and changelog updates before publishing?

Automating version bumps and changelog updates is handled by creating a dedicated release branch where version numbers in files like __init__.py and both English and Japanese changelogs are updated automatically before a pull request is created.

How does pushing a git tag trigger CI and PyPI publishing automatically?

Pushing an annotated git tag triggers CI and PyPI publishing by matching a tag pattern like v*, which automatically activates the release.yml workflow to build and upload the package to PyPI after the release PR merges.

Can I use this release orchestration if my main branch is not clean?

You cannot use this release orchestration if your main branch is not clean. The workflow explicitly validates that the main branch is in a clean state before allowing the creation of a release branch to ensure release stability.

Does this workflow support maintaining changelogs in both English and Japanese?

Yes, this workflow supports maintaining changelogs in both English and Japanese. The automated release process concurrently updates both language changelog files alongside the version bump in the codebase before creating the pull request.

Why do I need a PR-based workflow for software releases instead of pushing tags directly?

A PR-based workflow for software releases is needed to enforce CI verification before merging. It ensures that version bumps, changelog updates, and code changes pass all checks before an annotated tag is pushed to trigger the final PyPI deployment.