release について
ButterCutのリリース準備と公開を案内するスキルです。テスト、バージョン更新、変更履歴、Gitタグ、GitHub Releaseの作成を扱い、RubyGemsへの公開は含みません。
主な機能
- 01リリース前のテスト実行
- 02プロジェクトのバージョン更新
- 03ユーザー向け変更履歴の作成
- 04Gitタグの作成とプッシュ
- 05GitHub Releaseの公開
活用シーン
- 01マージ済みの機能や修正をリリース
- 02セマンティックバージョンのリリースを準備
- 03公開済みリリースを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ barefootford/ buttercut --skill releaseインストール後、Claude Code で/releaseを入力して読み込まれたか確認します。
詳細
スキル:ButterCut のリリース
バージョン更新、変更履歴、Git 操作、GitHub リリースの作成を含む、リリースプロセス全体を案内します。
ButterCut は git clone のみで配布されています。RubyGems の buttercut gem は 0.7.1 で非推奨となり、現在は公開されていません。このスキルでは gem build や gem push を実行しないでください。これらの手順は削除されています。
使用する場面
- ButterCut の新しいバージョンを公開するとき
- リリース対象の機能や修正をマージしたあと
ワークフロー
1. 最初にテストを実行する
重要:リリース前には必ずテストを実行してください。テストに失敗した場合は、絶対にリリースしないでください。
bundle exec rspec
テストに失敗した場合は、直ちに作業を中止し、リリースを進める前に修正するようユーザーに依頼してください。
2. 現在の状態を確認する
# Read current version
cat lib/buttercut/version.rb
# Check git status (must be clean)
git status
# Check existing tags
git tag -l
git status がクリーンでない場合は、作業を中止し、続行する前に変更をコミットするか、stash するようユーザーに依頼してください。
3. 新しいバージョンを決める
セマンティック バージョニングに従って、どの種類のリリースにするかユーザーに確認してください。
- MAJOR(1.0.0):破壊的変更
- MINOR(0.2.0):後方互換性のある新機能
- PATCH(0.1.1):後方互換性のあるバグ修正
現在のバージョンとリリースの種類に基づいて、新しいバージョン番号を算出してください。
4. バージョンファイルを更新する
lib/buttercut/version.rb を新しいバージョンに更新してください。
class ButterCut
VERSION = "0.8.0" # Update this
end
5. Gemfile.lock を更新する
Gemfile.lock に新しいバージョンが反映されるよう、bundle install を実行してください。
bundle install
続行する前に、Gemfile.lock のバージョンが更新されていることを確認してください。
6. 変更履歴のメモを集める
最後のタグ以降のコミット(git log --oneline v<last>..HEAD)を読み、ユーザーにとっての意味ごとにまとめてください。不足があれば、ユーザーに確認してください。
- このリリースで何が変わりましたか?
- 新機能はありますか?
- バグ修正はありますか?
- 破壊的変更はありますか?
7. CHANGELOG.md を更新する
変更履歴は顧客向けです。読者はエンジニアではなく、動画編集者です。すべての項目を、変更されたコードではなく、ユーザーが得られる利点として記述してください。
文体のルール:
- 顧客向けであり、売り込み口調にしない。 ユーザーが新たにできるようになったことや、修正された内容を説明してください。誇張表現(「驚異的に高速」「画期的」「劇的に」など)は使わないでください。
- 簡潔明瞭に。 平易な言葉で、要点を述べてください。
- AP スタイル。 センテンスケース、シリアルコンマ、10 未満の数字はスペルアウトするなどのルールに従ってください。
- できるだけ能動態に。 「タイムラインが開かれる」ではなく「ButterCut がタイムラインを開きます」とします。
- em ダッシュや en ダッシュは使わない。 ピリオド、コンマ、かっこを使ってください。
- 編集者の語彙を使う。 開発者ではなく、編集者のように(カット、シーケンス、タイムライン、フッテージ、ライブラリなど)表現してください。内部の詳細、コード記号、ファイルパス、クラス名は省いてください。リファクタリング、テストカバレッジ、リポジトリの整理など、ユーザーが気づく効果のない変更は記載しないでください。
## [Unreleased] の下に新しい項目を追加してください。### New & Improved と ### Fixed に分けます(ユーザーに見える動作の変更がある場合のみ ### Changed を追加してください)。
## [0.8.0] - 2026-MM-DD
One or two plain sentences on what this release means for the user.
### New & Improved
- **Short benefit headline.** A sentence on what the user can now do.
### Fixed
- **Short benefit headline.** What used to go wrong, and that it now works.
8. バージョン更新をコミットする
git add lib/buttercut/version.rb Gemfile.lock CHANGELOG.md
git commit -m "Bump version to 0.8.0"
9. Git タグを作成してプッシュする
git tag v0.8.0
git push origin main
git push origin v0.8.0
10. GitHub リリースを作成する
GitHub CLI を使用する場合:
gh release create v0.8.0 \
--title "v0.8.0" \
--notes "[Release notes from changelog]"
gh CLI が利用できない場合:
手動でリリースを作成する手順をユーザーに案内してください。
- https://github.com/barefootford/buttercut/releases/new にアクセスします
- タグとして v0.8.0 を選択します
- タイトルに v0.8.0 を設定します
- 説明に変更履歴のメモを貼り付けます
- 「Publish release」をクリックします
11. リリースを確認する
すべて正しく完了したことを確認してください。
- GitHub リリース:https://github.com/barefootford/buttercut/releases
- Git タグ:
git tag -l
12. 成功を報告する
次の内容をまとめてください。
✓ ButterCut 0.8.0 released successfully
Version: 0.8.0
Git tag: v0.8.0
GitHub Release: https://github.com/barefootford/buttercut/releases/tag/v0.8.0
Update existing installs with the `update-buttercut` skill, or:
cd /path/to/buttercut && git pull
重要な原則
必ず最初にテストを実行する — テストに失敗した場合は、絶対にリリースしないでください。
Git の状態をクリーンにする — リリース前に未コミットの変更があってはいけません。
公開前にプッシュする — GitHub リリースを作成する前に、タグをプッシュしてください。
セマンティック バージョニングに従う — バージョン番号には semver を厳密に適用してください。
変更履歴は必須 — すべてのリリースで変更内容を記録してください。
RubyGems に公開しない — gem は 0.7.1 で非推奨となり、gemspec はリポジトリから削除されています。gem build や gem push を実行しようとしている場合は、作業を中止し、このスキルを読み直してください。
よくある問題
テストが失敗する場合: 続行する前に、ユーザーにテストを修正するよう依頼してください。 Git の作業ツリーがクリーンでない場合: まず変更をコミットするか、スタッシュするようユーザーに依頼してください。 タグがすでに存在する場合: 重複したリリースではないことを確認してください。 GitHub CLI がインストールされていない場合: 手動でリリースする手順を提示してください。