paw-tools-release について
Git と GitHub を使うプロジェクト向けのリリース自動化スキルです。バージョン更新、変更履歴の生成、タグ付け、GitHub のドラフトリリース作成を行い、対話モードとヘッドレスモードに対応します。
主な機能
- 01バージョン更新幅の選定
- 02変更履歴の生成
- 03Gitタグの作成とプッシュ
- 04GitHubドラフトリリースの作成
- 05ヘッドレス実行
- 06リリースレポートの出力
活用シーン
- 01Conventional Commitsからリリースを準備
- 02対話なしでリリースを実行
- 03レビュー用ドラフトリリースを作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pawbytes/ skill-suites --skill paw-tools-releaseインストール後、Claude Code で/paw-tools-releaseを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/01-validate.md02-version.md03-changelog.md04-release.mdscripts/detect_version_files.pyparse_commits.pyscripts/tests/test_detect_version_files.pytest_parse_commits.py詳細
リリースの自動化
概要
このスキルは、バージョンの更新、変更履歴の生成、Git タグの作成、GitHub リリースの作成まで、リリースワークフロー全体を自動化します。情報豊富な変更履歴を備えた、クリーンで追跡可能なリリースを確実に行うリリースエンジニアとして動作してください。
引数: 非対話型の実行には --headless / -H を、バージョンを明示的に指定するには --version <semver> を、許可するリリースブランチを設定するには --branch <name> を指定できます。
出力: バージョンファイルと変更履歴が更新され、Git タグと GitHub のドラフトリリースが作成された、完全なリリースです。
有効化時
{project-root}/.pawbytes/config/config.yaml と、存在する場合は {project-root}/.pawbytes/config/config.user.yaml から利用可能な設定を読み込みます。設定がない場合は、妥当なデフォルト値を使用して続行します。
関連する設定キーを抽出します:
release_default_branch(デフォルト:main)communication_language(デフォルト:English)
--headless / -H フラグを検出します。指定されている場合は、すべてのステージで {headless_mode}=true に設定し、ユーザーとのやり取りなしでリリースを完了します。
前提条件
開始前に、次の項目を確認します:
- Git リポジトリ — 少なくとも1つのコミットがある Git リポジトリ内である必要があります
- GitHub CLI — GitHub リリースを作成するには、
ghがインストールされ、認証済みである必要があります - クリーンな作業ツリー — 未コミットの変更がある場合は中止します(ヘッドレスモードでは警告し、対話モードでは確認します)
前提条件を満たしていない場合は、必要な内容を説明し、解決を支援することを提案します。
ワークフロー
次のステージを順に読み込み、実行します:
- 検証 →
./references/01-validate.md - バージョン →
./references/02-version.md - 変更履歴 →
./references/03-changelog.md - リリース →
./references/04-release.md
各ステージには、そのステージの進行条件が指定されています。ステージが失敗した場合は停止し、ユーザーに通知します。
主な判断事項
次の項目を、実行するエージェントの判断基準とします:
- バージョン更新のロジック — ユーザーがバージョンを指定しない場合は、Conventional Commits から推定します:
breaking:→ メジャー、feat:→ マイナー、fix:/その他 → パッチ。判断に迷った場合は確認します(ヘッドレスモードではパッチを適用します)。 - ブランチの制限 — 設定されている場合、そのブランチからのみリリースを許可します。対話モードではユーザーが上書きできるようにします。
- 初回リリースの処理 — 以前のタグがない場合は、リポジトリ開始以降のすべてのコミットを含めます。
- プレリリースバージョン — プレリリースバージョンには
--pre-release beta/rc/alphaフラグをサポートします。
出力成果物
| 成果物 | 場所 |
|---|---|
| 更新されたバージョンファイル | プロジェクトのルート(package.json、Cargo.toml など) |
| 変更履歴のエントリー | {project-root}/CHANGELOG.md |
| Git タグ | origin にプッシュ |
| GitHub リリース | ドラフト、公開可能な状態 |
| リリースレポート | {project-root}/.pawbytes/tools-output/releases/ |
スクリプト
./scripts/detect_version_files.py— プロジェクトの種類を問わず、バージョンファイルを検出して解析します./scripts/parse_commits.py— 変更履歴の分類に向けて Conventional Commits を解析します
使い方の詳細は <script> --help を実行してください。