Back to Skills

manage-changelog

pjt222
Updated 2 days ago
6 views
17
2
17
View on GitHub
Othergeneral

About

This Claude Skill helps developers create and maintain changelogs following the Keep a Changelog format. It manages categorized entries (Added, Changed, Fixed, etc.), handles version sections, and tracks unreleased changes. Use it when starting a new project, adding entries after completing features/fixes, or preparing releases by promoting unreleased entries to versioned sections.

Quick Install

Claude Code

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-changelog

Copy and paste this command in Claude Code to install this skill

Documentation

チェンジログの管理

Keep a Changelog形式に従ってプロジェクトのチェンジログを維持管理する。このスキルは新しいチェンジログの作成、エントリの分類、[Unreleased]セクションの管理、リリース時のバージョン付きセクションへのエントリ昇格を網羅する。検出された場合はR規約(NEWS.md)に適応する。

使用タイミング

  • チェンジログが必要な新しいプロジェクトを開始する時
  • 機能、フィックス、その他の変更の完了後にエントリを追加する時
  • 未リリースエントリをバージョン付きセクションに移動してリリースを準備する時
  • 公開前にチェンジログの完全性を確認する時
  • フリーフォームのチェンジログをKeep a Changelog形式に変換する時

入力

  • 必須: プロジェクトルートディレクトリ
  • 必須: 文書化する変更の説明(またはgitログからの抽出元)
  • 任意: 対象バージョン番号(リリース昇格用)
  • 任意: リリース日(デフォルトは今日)
  • 任意: チェンジログ形式の好み(Keep a ChangelogまたはR NEWS.md)

手順

ステップ1: チェンジログの検索または作成

プロジェクトルートで既存のチェンジログを検索する。

# Check for common changelog filenames
ls -1 CHANGELOG.md CHANGELOG NEWS.md CHANGES.md HISTORY.md 2>/dev/null

チェンジログが存在しない場合、標準ヘッダーで作成する:

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

Rパッケージの場合、R規約のフォーマットでNEWS.mdを使用する:

# packagename (development version)

## New features

## Bug fixes

## Minor improvements and fixes

期待結果: チェンジログファイルが適切なヘッダーとUnreleasedセクションで検索または作成されること。

失敗時: 非標準形式のチェンジログが存在する場合、上書きしない。代わりに形式の違いを注記し、既存のスタイルに合わせてエントリを適応する。

ステップ2: 既存エントリの解析

チェンジログを読み、その構造を特定する:

  1. ヘッダー/プリアンブル(プロジェクト名、形式の説明)
  2. 保留中の変更を含む[Unreleased]セクション
  3. 逆時系列順のバージョン付きセクション([1.2.0][1.1.0]の前)
  4. 末尾の比較リンク(任意)

各セクションについて、存在するカテゴリを特定する:

  • Added -- 新機能
  • Changed -- 既存機能の変更
  • Deprecated -- 近く削除される機能
  • Removed -- 削除された機能
  • Fixed -- バグ修正
  • Security -- 脆弱性の修正

期待結果: チェンジログの構造が理解され、既存のエントリが棚卸しされること。

失敗時: チェンジログが不正な形式(セクション欠落、順序の誤り)の場合、問題を注記するが確認なしに再構成しない。新しいエントリを正しく追加し、構造的な問題を手動レビュー用にフラグする。

ステップ3: 新しい変更の分類

文書化する各変更を6つのカテゴリの1つに分類する:

CategoryWhen to UseExample Entry
AddedNew feature or capability- Add CSV export for summary reports
ChangedModification to existing feature- Change default timeout from 30s to 60s
DeprecatedFeature marked for future removal- Deprecate old_function()in favor ofnew_function()``
RemovedFeature or capability removed- Remove legacy XML parser
FixedBug fix- Fix off-by-one error in pagination
SecurityVulnerability fix- Fix SQL injection in user search (CVE-2026-1234)

エントリの記述ガイドライン:

  • 各エントリを命令法の動詞で始める(Add、Change、Fix、Remove)
  • コードを読まなくてもユーザーが影響を理解できるほど具体的にする
  • 該当する場合はイシュー番号やCVEを参照する
  • エントリは1行に収める; 複雑な変更にのみサブ箇条書きを使用する

期待結果: 各変更が適切に記述されたエントリとともに正確に1つのカテゴリに割り当てられること。

失敗時: 変更が複数のカテゴリにまたがる場合(例えば機能の追加とバグの修正の両方)、関連する各カテゴリに別々のエントリを作成する。カテゴリが不明な場合、デフォルトで「Changed」を使用する。

ステップ4: Unreleasedセクションへのエントリ追加

分類されたエントリを[Unreleased]セクションに挿入する。カテゴリの順序を維持する: Added、Changed、Deprecated、Removed、Fixed、Security。

## [Unreleased]

### Added

- Add batch processing mode for large datasets
- Add `--dry-run` flag to preview changes without applying

### Fixed

- Fix memory leak when processing files over 1GB
- Fix incorrect timezone handling in date parsing

エントリのあるカテゴリのみを追加する; 空のカテゴリ見出しは含めない。

期待結果: 新しいエントリが正しいカテゴリで[Unreleased]に追加され、一貫したフォーマットが維持されること。

失敗時: Unreleasedセクションが存在しない場合、ヘッダー/プリアンブルの直下、最初のバージョン付きセクションの上に作成する。

ステップ5: リリース時のバージョン付きセクションへの昇格

リリースを作成する際、すべてのUnreleasedエントリを新しいバージョン付きセクションに移動する:

  1. 新しいセクション見出しを作成する: ## [1.3.0] - 2026-02-17
  2. [Unreleased]のすべてのエントリを新しいセクションに移動する
  3. [Unreleased]を空にする(ただし見出しは残す)
  4. ファイル末尾の比較リンクを更新する
## [Unreleased]

## [1.3.0] - 2026-02-17

### Added

- Add batch processing mode for large datasets

### Fixed

- Fix memory leak when processing files over 1GB

## [1.2.0] - 2026-01-15

### Added

- Add CSV export for summary reports

比較リンクを更新する(末尾にある場合):

[Unreleased]: https://github.com/user/repo/compare/v1.3.0...HEAD
[1.3.0]: https://github.com/user/repo/compare/v1.2.0...v1.3.0
[1.2.0]: https://github.com/user/repo/compare/v1.1.0...v1.2.0

R NEWS.mdの場合、R規約を使用する:

# packagename 1.3.0

## New features

- Add batch processing mode for large datasets

## Bug fixes

- Fix memory leak when processing files over 1GB

# packagename 1.2.0
...

期待結果: Unreleasedエントリが日付付きバージョンセクションに移動され、Unreleasedセクションがクリアされ、比較リンクが更新されること。

失敗時: バージョン番号が既存のセクションと競合する場合、そのバージョンはすでにリリースされている。正しいバージョンを決定するためにapply-semantic-versioningで確認する。

ステップ6: チェンジログ形式の検証

チェンジログが形式要件を満たしていることを検証する:

  1. バージョンが逆時系列順である(最新が最初)
  2. 日付がISO 8601形式(YYYY-MM-DD)に従っている
  3. 各バージョンセクションに少なくとも1つの分類されたエントリがある
  4. バージョンセクションの重複がない
  5. 比較リンク(存在する場合)がバージョンセクションと一致する
# Check for duplicate version sections
grep "^## \[" CHANGELOG.md | sort | uniq -d

# Verify date format
grep "^## \[" CHANGELOG.md | grep -v "Unreleased" | grep -vE "\d{4}-\d{2}-\d{2}"

期待結果: チェンジログがすべての形式チェックに警告なしで合格すること。

失敗時: 発見された形式の問題を修正する: セクションの並べ替え、日付形式の修正、重複の除去。人間の判断が必要な問題(例えば既知の変更に対する欠落エントリ)を報告する。

バリデーション

  • Keep a ChangelogとSemVerを参照する適切なヘッダーのチェンジログファイルが存在する
  • [Unreleased]セクションが上部(ヘッダーの下)に存在する
  • すべての新しいエントリがAdded/Changed/Deprecated/Removed/Fixed/Securityに分類された
  • エントリが命令法の動詞で始まりユーザーへの影響を説明する
  • バージョン付きセクションが逆時系列順である
  • 日付がISO 8601形式(YYYY-MM-DD)を使用する
  • バージョンセクションの重複がない
  • 比較リンク(使用する場合)が正確で最新である
  • 空のカテゴリが含まれていない(エントリのない見出しがない)

よくある落とし穴

  • 内部のみのエントリ: 「データベースモジュールをリファクタリング」はユーザーに有用ではない。ユーザーに面する変更に焦点を当てる。内部のリファクタリングはコミットメッセージに入れ、チェンジログには入れない。
  • 曖昧なエントリ: 「様々なバグ修正」はユーザーに何も伝えない。各修正は具体的で説明的なエントリであるべきである。
  • Unreleasedの忘却: バージョン付きセクションに直接エントリを追加すると、変更がまだリリースされていないのにリリース済みとして文書化される。
  • 誤ったカテゴリ: 実際には新機能を追加する「修正」。修正は期待される動作を復元するもの; バグレポートとして要求されたものでも新しい機能は「Added」である。
  • Securityエントリの欠落: セキュリティ修正は利用可能な場合、常にCVE識別子とともに文書化すべきである。ユーザーは緊急アップグレードが必要かどうかを知る必要がある。
  • チェンジログのドリフト: 変更時にチェンジログを更新しないこと。リリース前にエントリを一括で書くと、見逃されたり不十分に記述された変更につながる。コード変更とともにエントリを書く。

関連スキル

  • apply-semantic-versioning -- チェンジログエントリと対になるバージョン番号の決定
  • plan-release-cycle -- チェンジログエントリがバージョン付きセクションに昇格されるタイミングの定義
  • commit-changes -- 適切なメッセージでのチェンジログ更新のコミット
  • release-package-version -- NEWS.mdの更新を含むR固有のリリースワークフロー
  • create-github-release -- チェンジログの内容をGitHubリリースノートとして使用

GitHub Repository

pjt222/agent-almanac
Path: i18n/ja/skills/manage-changelog
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Related Skills

llamaguard

Other

LlamaGuard is Meta's 7-8B parameter model for moderating LLM inputs and outputs across six safety categories like violence and hate speech. It offers 94-95% accuracy and can be deployed using vLLM, Hugging Face, or Amazon SageMaker. Use this skill to easily integrate content filtering and safety guardrails into your AI applications.

View skill

cost-optimization

Other

This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.

View skill

quantizing-models-bitsandbytes

Other

This skill quantizes LLMs to 8-bit or 4-bit precision using bitsandbytes, achieving 50-75% memory reduction with minimal accuracy loss. It's ideal for running larger models on limited GPU memory or accelerating inference, supporting formats like INT8, NF4, and FP4. The skill integrates with HuggingFace Transformers and enables QLoRA training and 8-bit optimizers.

View skill

dispatching-parallel-agents

Other

This Claude Skill dispatches multiple agents to investigate and fix 3+ independent problems concurrently. It is designed for scenarios involving unrelated failures that can be resolved without shared state or dependencies. The core capability is parallel problem-solving, assigning one agent per independent problem domain to maximize efficiency.

View skill