bump-release
リリースの作成やバージョン管理に関する操作を行うスキルです。「バージョンを上げる」「リリースを作成する」「タグを付ける」といった指示や、changelog の更新・バージョンタグのワークフローについて言及された際にトリガーされます。
description の原文を見る
This skill should be used when the user asks to "bump release", "cut a release", "tag a release", "bump version", "create a new release", or mentions release versioning, changelog updates, or version tagging workflows.
SKILL.md 本文
Bump Release
通常リリースとベータリリースの両方に対応しています。
パラメータ
version: 使用するバージョンを明示的に指定します (例:2.0.0)。指定されている場合、自動バージョン推論がスキップされます--beta:-beta.Xサフィックス付きでベータリリースを作成します--dry-run: リリースをプレビューします。実際の変更 (ファイル修正、コミット、タグ) は行いません
ステップ
- パッケージを探す - ユーザーがモノレポにいる場合、リリース対象のパッケージはサブディレクトリに存在する可能性があります。現在の作業ディレクトリで最初に
package.jsonを探します。見つからない場合は、どのパッケージをリリースするかユーザーに質問します。すべてのファイルパス (CHANGELOG.md,package.json,justfile) はパッケージディレクトリを基準とします。 CHANGELOG.mdファイルを最後のバージョンリリース以降のすべての変更で更新します (ベータリリースの場合このステップをスキップします)。package.jsonのバージョンをバンプします:- 通常リリース: セマンティック バージョニングに従います (例: 1.2.3)
- ベータリリース:
-beta.Xサフィックスを追加します (例: 1.2.3-beta.1)
- ファイルをフォーマット - リポジトリに
justfileが存在する場合はjust full-writeを実行して、CHANGELOG.mdとpackage.jsonが適切にフォーマットされていることを確認します - "docs: release <version>" というメッセージでコミットします
git tag -a v<version> -m "<version>"を実行して新しい git タグを作成します
注: --dry-run フラグが指定されている場合は、実際のファイル変更、コミット、タグ作成を行わずに、何が実行されるかを表示します。
プロセス
-
引数をチェック -
versionが指定されているか、ベータリリース (--beta) か、ドライラン (--dry-run) かを判定します -
クリーンな作業ツリーをチェック -
git status --porcelainを実行して、このリリースに関係のないコミットされていない変更がないことを確認します。存在する場合は、commitスキルを実行してから続行します -
Changelog を記入 - 現在のブランチと前のタグ間の差分を調べて Changelog を記入します。次に、コミット履歴を確認して関連する PR を検索し、各 changelog に追加します (利用可能な場合)。
package.jsonにfilesフィールドが含まれている場合は、指定されたファイル/ディレクトリ内の変更のみを含めます。filesフィールドが存在しない場合は、テスト変更、CI/CD ワークフロー、開発ツーリングを除くすべての変更を含めます -
形式に従う -
references/common-changelog.mdで Common Changelog 仕様を参照します -
バージョンをチェック -
package.jsonから現在のバージョンを取得します -
バージョンをバンプ -
version引数が指定されている場合は直接使用します。それ以外の場合、最後のリリース以降に変更がなければ、セマンティック バージョニング ルールに従ってバンプします:-
通常リリースの場合:
- PATCH (x.x.X) - バグ修正、ドキュメント更新
- MINOR (x.X.x) - 新機能、後方互換性のある変更
- MAJOR (X.x.x) - 破壊的変更
-
ベータリリースの場合 (
--betaフラグ):- 現在のバージョンにベータサフィックスがない場合: バージョンに
-beta.1を追加します - 現在のバージョンにすでにベータサフィックスがある場合: ベータ番号をインクリメントします (例:
-beta.1→-beta.2) - ベータからリリースに移行する場合: ベータサフィックスを削除し、ベースバージョンを使用します
- 現在のバージョンにベータサフィックスがない場合: バージョンに
-
不確実な場合 — 変更が曖昧な場合 (例: 利用者に影響を与える可能性のある新機能、または修正と機能の混在)、
AskUserQuestionを使用してユーザーに semver レベルを決定させます:- header: "Version"
- question: "Changes include both
<summary>. Which release level?" - options: 妥当な semver レベルを、その結果のバージョンと共にリストアップします (例: "1.3.0 (minor)", "2.0.0 (major)")
- multiSelect: false
ユーザーの選択を使用してステップ 7 をスキップします
-
-
バージョンを確認 - バージョンが確実に推論された場合 (明示的な
version引数がない)、AskUserQuestionを使用して進行前に確認します:- header: "Version"
- question: "Release
<current>→<inferred>?" - options:
- 推論されたバージョン ラベル (例: "1.3.0 (minor)") — "(Recommended)" としてマークします
- semver レベルが 1 つ高い代替案 (例: "2.0.0 (major)")
- 可能な場合は semver レベルが 1 つ低い代替案 (例: "1.2.4 (patch)")
- multiSelect: false
ユーザーが代替案を選択した場合は、残りのステップでそのバージョンを使用します。
--dry-runがアクティブな場合はこのステップをスキップします (プレビューで推論されたバージョンを代わりに表示します)
ベータリリース ロジック
$ARGUMENTS で --beta フラグが指定されている場合
- 明示的なバージョンをチェック -
versionが指定されている場合:- バージョンにすでにベータサフィックスがある場合 → そのまま使用します
- バージョンにベータサフィックスがない場合 →
-beta.1を追加します
- それ以外の場合は、
package.jsonから現在のバージョンを解析し、ベータバージョンを決定します:- 現在のバージョンが
1.2.3の場合:1.2.4-beta.1を作成します (patch をインクリメント + beta.1) - 現在のバージョンが
1.2.3-beta.1の場合:1.2.3-beta.2を作成します (ベータ番号をインクリメント) - 現在のバージョンが
1.2.3-beta.5の場合:1.2.3-beta.6を作成します (ベータ番号をインクリメント)
- 現在のバージョンが
- CHANGELOG.md 更新をスキップ - ベータリリースは changelog を更新しません
- ベータバージョンでコミットおよびタグ付け します (例:
v1.2.4-beta.1)
出力
通常リリースのみの場合、references/common-changelog.md の形式と作成ガイドラインに従って CHANGELOG.md に changelog エントリを生成します。Changed, Added, Removed, Fixed カテゴリを使用します (この順序で)。すべてのエントリは命令法の現在形の動詞で始まる必要があります。
包含基準
通常リリースのみ (ベータリリースの場合は changelog 生成がスキップされます):
- Files フィールド制約 -
package.jsonにfilesフィールドが含まれている場合は、そのフィールドで指定されたファイル/ディレクトリへの変更のみを含めます。その他すべてのコードベース変更は CHANGELOG から除外します - 本番環境の変更のみ -
filesフィールドが存在しない場合は、テスト変更、CI/CD ワークフロー、開発ツーリングを除外します - Pull Request を参照 - コンテキストのために利用可能な場合は PR にリンクします
- ネット変更のみ - 現在のブランチと前のタグ間の差分を調べて、変更を特定します
- dependencies と peerDependencies の変更のみ - devDependencies への変更を除外します
例
通常リリース
# 通常の patch/minor/major リリースを作成します
/bump-release
# 通常リリースの内容をプレビューします
/bump-release --dry-run
ベータリリース
# -beta.X サフィックス付きでベータリリースを作成します
/bump-release --beta
# ベータリリースの内容をプレビューします
/bump-release --beta --dry-run
明示的なバージョン
# 正確なバージョンを指定します
/bump-release 2.0.0
# 正確なベータバージョンを指定します
/bump-release 2.0.0-beta.1
# フラグと組み合わせます
/bump-release 2.0.0 --dry-run
バージョン例
| 現在のバージョン | リリースタイプ | 新規バージョン |
|---|---|---|
1.2.3 | 通常 | 1.2.4 (patch) |
1.2.3 | ベータ | 1.2.4-beta.1 |
1.2.3-beta.1 | ベータ | 1.2.3-beta.2 |
1.2.3-beta.5 | 通常 | 1.2.3 |
1.2.3 | 2.0.0 | 2.0.0 |
1.2.3 | 2.0.0 + ベータ | 2.0.0-beta.1 |
リソース
references/common-changelog.md— changelog エントリを生成する場合に読みます: Common Changelog 形式と作成ガイドライン
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- paulrberg
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/paulrberg/agent-skills / ライセンス: MIT
関連スキル
nature-response
Nature系ジャーナルの原稿修正に対する査読者への回答文について、下書き、チェック、または修正を行うことができます。査読者からのコメント、編集者の決定文、修正指示、回答案の作成、または大幅修正・軽微修正の対応方法に関するご相談があれば、対応いたします。査読報告書や回答文作成のサポートが必要な場合にご利用ください。
microsoft-docs
公式のMicrosoft文書を参照して、Azure、.NET、Agent Framework、Aspire、VS Code、GitHubなど様々な分野の概念、チュートリアル、コード例を検索します。デフォルトではMicrosoft Learn MCPを使用し、learn.microsoft.com外のコンテンツについてはContext7およびAspire MCPを使用します。
API Documentation Lookup
このスキルは、ユーザーが「Effect APIを調べる」「Effectドキュメントを確認する」「Effect関数のシグネチャを探す」「Effect.Xは何をするのか」「Effect.Xの使い方」「Effect APIリファレンス」「Effectドキュメントを取得する」といった質問をした場合や、公式のEffect-TS APIドキュメントから特定の関数シグネチャ、パラメータ、使用例を調べる必要がある場合に使用します。
knowledge-base
このスキルは、ヘルプセンターのアーキテクチャ設計、サポート記事の執筆、検索とセルフサービスの最適化が必要な場合に活用できます。ナレッジベース、ヘルプセンター、サポート記事、セルフサービス、記事テンプレート、検索最適化、コンテンツ分類、ヘルプドキュメントの設計・管理に関するあらゆるタスクで動作します。
markdown
GitHub Flavored Markdown標準に従ったMarkdownファイルのフォーマットと検証ができます。自動的なlinting処理と手動による意味的なレビューを組み合わせることで、ファイルの品質を確保します。
claude-md-enhancer
CLAUDE.mdファイルをプロジェクトタイプに合わせて分析・生成・改善します。ベストプラクティス、モジュール設計対応、技術スタックのカスタマイズに対応しています。新規プロジェクトの立ち上げ、既存のCLAUDE.mdファイルの改善、またはAI支援開発の標準化を図る際にご活用ください。