executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
manage-changelogKeep a Changelog形式に従ったチェンジログの維持管理。エントリの分類(Added、 Changed、Deprecated、Removed、Fixed、Security)、バージョンセクションの管理、 未リリースの追跡を網羅する。チェンジログが必要な新しいプロジェクトを開始する時、 機能やフィックスの完了後にエントリを追加する時、未リリースエントリをバージョン 付きセクションに昇格させてリリースを準備する時、またはフリーフォームのチェンジ ログをKeep a Changelog形式に変換する時に使用する。
Independent GitHub snapshot · Automated classification · Original documentation governs
Keep a Changelog形式に従ってプロジェクトのチェンジログを維持管理する。このスキルは新しいチェンジログの作成、エントリの分類、[Unreleased]セクションの管理、リリース時のバージョン付きセクションへのエントリ昇格を網羅する。検出された場合はR規約(NEWS.md)に適応する。
プロジェクトルートで既存のチェンジログを検索する。
# 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セクションで検索または作成されること。
失敗時: 非標準形式のチェンジログが存在する場合、上書きしない。代わりに形式の違いを注記し、既存のスタイルに合わせてエントリを適応する。
チェンジログを読み、その構造を特定する:
[Unreleased]セクション[1.2.0]が[1.1.0]の前)各セクションについて、存在するカテゴリを特定する:
期待結果: チェンジログの構造が理解され、既存のエントリが棚卸しされること。
失敗時: チェンジログが不正な形式(セクション欠落、順序の誤り)の場合、問題を注記するが確認なしに再構成しない。新しいエントリを正しく追加し、構造的な問題を手動レビュー用にフラグする。
文書化する各変更を6つのカテゴリの1つに分類する:
| Category | When to Use | Example Entry |
|---|---|---|
| Added | New feature or capability | - Add CSV export for summary reports |
| Changed | Modification to existing feature | - Change default timeout from 30s to 60s |
| Deprecated | Feature marked for future removal | - Deprecate old_function()in favor ofnew_function()`` |
| Removed | Feature or capability removed | - Remove legacy XML parser |
| Fixed | Bug fix | - Fix off-by-one error in pagination |
| Security | Vulnerability fix | - Fix SQL injection in user search (CVE-2026-1234) |
エントリの記述ガイドライン:
期待結果: 各変更が適切に記述されたエントリとともに正確に1つのカテゴリに割り当てられること。
失敗時: 変更が複数のカテゴリにまたがる場合(例えば機能の追加とバグの修正の両方)、関連する各カテゴリに別々のエントリを作成する。カテゴリが不明な場合、デフォルトで「Changed」を使用する。
分類されたエントリを[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セクションが存在しない場合、ヘッダー/プリアンブルの直下、最初のバージョン付きセクションの上に作成する。
リリースを作成する際、すべてのUnreleasedエントリを新しいバージョン付きセクションに移動する:
## [1.3.0] - 2026-02-17[Unreleased]のすべてのエントリを新しいセクションに移動する[Unreleased]を空にする(ただし見出しは残す)## [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で確認する。
チェンジログが形式要件を満たしていることを検証する:
# 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}"
期待結果: チェンジログがすべての形式チェックに警告なしで合格すること。
失敗時: 発見された形式の問題を修正する: セクションの並べ替え、日付形式の修正、重複の除去。人間の判断が必要な問題(例えば既知の変更に対する欠落エントリ)を報告する。
[Unreleased]セクションが上部(ヘッダーの下)に存在するapply-semantic-versioning -- チェンジログエントリと対になるバージョン番号の決定plan-release-cycle -- チェンジログエントリがバージョン付きセクションに昇格されるタイミングの定義commit-changes -- 適切なメッセージでのチェンジログ更新のコミットrelease-package-version -- NEWS.mdの更新を含むR固有のリリースワークフローcreate-github-release -- チェンジログの内容をGitHubリリースノートとして使用