update-changelog について
リポジトリの変更履歴を更新するスキルです。リリース基準以降のユーザー向けの重要な変更を既存の記載と照合し、リポジトリの形式に沿ってUnreleasedセクションに追加します。
主な機能
- 01指定バージョンまたは最新タグから基準を決定
- 02基準以降のコミットを確認
- 03既存の変更履歴項目を照合
- 04重要な変更をUnreleasedに追加
- 05変更履歴の既存形式を維持
活用シーン
- 01直近のリリース以降のユーザー向け変更を記録
- 02既存のUnreleasedセクションに不足分を追加
- 03Unreleasedセクションがない場合に作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mitsuhiko/ agent-stuff --skill update-changelogインストール後、Claude Code で/update-changelogを入力して読み込まれたか確認します。
詳細
最後のリリースから現在のバージョン(main)までの変更のうち、まだ反映されていないものをリポジトリの変更履歴に追加します。CHANGELOG.md が存在しない場合は、代わりに CHANGELOG を使用してください。
手順
1. 基準バージョンを確認する
基準バージョンが指定されていない場合は、最新の git タグを使用します。git describe --tags --abbrev=0 で確認できます。
2. git からコミットを確認する
次のコマンドを使用して、コミット情報を収集します。
# Get the baseline version (if not provided)
git describe --tags --abbrev=0
# Get all commits since the baseline version
git log <baseline-version>..HEAD
3. 変更履歴を更新する
既存の変更履歴ファイル(CHANGELOG.md、存在しない場合は CHANGELOG)を読み、まだ反映されていない変更があるか確認し、あれば追加します。必ず「Unreleased」セクションにのみ追加してください。まだセクションがない場合は、既存の変更履歴と同じスタイルで先頭に追加します(例:## Unreleased または ## [Unreleased])。
変更履歴を記述する際の基本ルール
内容に関するガイドライン
- ユーザーに影響する重要な変更(機能、修正、破壊的変更)に重点を置きます
- プルリクエストがある場合は
#NUMBERで記載します。生のコミットハッシュは記載しません - 重要でない変更(誤字の修正、内部リファクタリング、軽微なドキュメント更新)は無視します
- 関連する変更は、適宜まとめて記載します
- 重要度の高い順に並べます。破壊的変更、機能、修正の順です
スタイルに関するガイドライン
- 有効な Markdown 構文を使用します
- 各項目は過去形の動詞、または変更内容を表す語句で始めます
- 変更内容が伝わるよう簡潔かつ具体的に記載します
- 個々の変更には箇条書き(
*または-)を使用します - コードへの参照はバッククォートで囲みます(例:
`foo.cleanup`)
書式例
## 2.13.0
* Added multi-key support to the `|sort` filter. #827
* Fix `not undefined` with strict undefined behavior. #838
* Added support for free threading Python. #841
## 2.12.0
* Item or attribute lookup will no longer swallow all errors in Python. #814
* Added `|zip` filter. #818
* Fix `break_on_hyphens` for the `|wordwrap` filter. #823
* Prefer error message from `unknown_method_callback`. #824
* Ignore `.jinja` and `.jinja2` as extensions in auto escape. #832
良い例と悪い例
良い例:
TypeScript SDK の設定が CJS で誤った内容になる問題を修正しました。チェックポイントへの書き込み時に、要求のタイムアウトを延長する機能を追加しました。タスクの要求がタイムアウトした際のエラー報告を改善しました。
悪い例:
バグを修正しました(曖昧すぎます)依存関係を更新しました(セキュリティ問題の修正でない限り、重要ではありません)内部コード構造をリファクタリングしました(ユーザー向けの変更ではありません)コメントの誤字を修正しました(重要ではありません)
注意事項
- 変更履歴にすでに内容のある「Unreleased」セクションがある場合は、置き換えずに追記します
- 既存の変更履歴のスタイルと書式(見出し、箇条書きの記号、順序、空白)を維持します
- リポジトリで別のデフォルトブランチ名を使用している場合は、
mainではなくそのブランチを「現在のバージョン」として扱います - 変更が重要かどうか判断に迷う場合は、記載する方を選びます
コメント
Markdown 対応