mcpField
U
update-changelog

update-changelog

github.com/mitsuhiko開発3.2k125 回インストール4 週間前に更新
リポジトリ

update-changelog について

リポジトリの変更履歴を更新するスキルです。リリース基準以降のユーザー向けの重要な変更を既存の記載と照合し、リポジトリの形式に沿ってUnreleasedセクションに追加します。

主な機能

  1. 01指定バージョンまたは最新タグから基準を決定
  2. 02基準以降のコミットを確認
  3. 03既存の変更履歴項目を照合
  4. 04重要な変更をUnreleasedに追加
  5. 05変更履歴の既存形式を維持

活用シーン

  1. 01直近のリリース以降のユーザー向け変更を記録
  2. 02既存のUnreleasedセクションに不足分を追加
  3. 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 ではなくそのブランチを「現在のバージョン」として扱います
  • 変更が重要かどうか判断に迷う場合は、記載する方を選びます

コメント