スキル一覧に戻る

manage-changelog

pjt222
更新日 2 days ago
6 閲覧
17
2
17
GitHubで表示
デザインai

について

このClaudeスキルは、開発者が「Keep a Changelog」標準に従ってプロジェクトの変更履歴を維持するのを支援します。エントリの分類(追加、変更、修正など)を管理し、バージョンセクションを扱います。リリース時には「未リリース」エントリをバージョン付きセクションに昇格させる機能も含みます。新規プロジェクト開始時、変更後のエントリ追加時、リリース準備時、既存の変更履歴を標準フォーマットに変換する際にご利用ください。

クイックインストール

Claude Code

推奨
メイン
npx skills add pjt222/agent-almanac -a claude-code
プラグインコマンド代替
/plugin add https://github.com/pjt222/agent-almanac
Git クローン代替
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-changelog

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

Manage Changelog

Maintain project changelog per Keep a Changelog. Create new, categorize entries, manage [Unreleased], promote to versioned on release. Adapts R convention (NEWS.md) when detected.

Use When

  • Start new project needing changelog
  • Add entries after features / fixes / other changes
  • Prep release → move Unreleased → versioned section
  • Review completeness before publish
  • Convert free-form → Keep a Changelog format

In

  • Req: Project root dir
  • Req: Change description (or git log to extract from)
  • Opt: Target version # (release promotion)
  • Opt: Release date (default today)
  • Opt: Format pref (Keep a Changelog / R NEWS.md)

Do

Step 1: Locate / Create Changelog

Search existing changelog in project root.

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

None exists → create w/ std header:

# 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 pkgs → use NEWS.md w/ R convention:

# packagename (development version)

## New features

## Bug fixes

## Minor improvements and fixes

→ Changelog located / created w/ proper header + Unreleased section.

If err: Exists in non-std format → don't overwrite. Note format diff + adapt entries to match existing style.

Step 2: Parse Existing Entries

Read + ID structure:

  1. Header/preamble (project name, format desc)
  2. [Unreleased] w/ pending changes
  3. Versioned in reverse chron order ([1.2.0] before [1.1.0])
  4. Comparison links at bottom (opt)

Per section → ID categories:

  • Added — new features
  • Changed — changes in existing fn
  • Deprecated — soon-to-be removed
  • Removed — now removed
  • Fixed — bug fixes
  • Security — vulnerability fixes

→ Structure understood, existing entries inventoried.

If err: Malformed (missing sections, wrong order) → note issues, don't restructure w/o confirmation. Add new correctly + flag structural issues for manual review.

Step 3: Categorize New Changes

Per change → classify into 1 of 6:

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)

Entry writing guidelines:

  • Start w/ imperative verb (Add, Change, Fix, Remove)
  • Specific enough user understands impact w/o reading code
  • Ref issue #s / CVEs where applicable
  • One line; sub-bullets only for complex changes

→ Each change in exactly one category w/ well-written entry.

If err: Change spans multi categories (feature + bug fix) → separate entries per category. Unclear → default "Changed".

Step 4: Add Entries to Unreleased

Insert under [Unreleased]. Maintain category order: 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

Only add categories w/ entries; don't include empty category headings.

→ New entries added under [Unreleased] in correct categories, consistent formatting.

If err: Unreleased section missing → create immediately below header/preamble + above first versioned section.

Step 5: Promote to Versioned on Release

Release cut → move Unreleased → new versioned section:

  1. New heading: ## [1.3.0] - 2026-02-17
  2. Move all entries from [Unreleased] → new section
  3. Leave [Unreleased] empty (keep heading)
  4. Update comparison links at bottom
## [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

Update comparison links (if present):

[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 → use R convention:

# 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 entries moved to dated versioned section; Unreleased cleared; comparison links updated.

If err: Version # conflicts w/ existing → already released. Check apply-semantic-versioning for correct version.

Step 6: Validate Format

Verify meets format requirements:

  1. Versions in reverse chron (newest first)
  2. Dates ISO 8601 (YYYY-MM-DD)
  3. Each versioned has ≥1 categorized entry
  4. No dup version sections
  5. Comparison links match version sections
# 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}"

→ Passes all format checks w/ no warnings.

If err: Fix format issues: reorder, correct dates, remove dups. Report issues requiring human judgment (missing entries for known changes).

Check

  • File exists w/ proper header ref Keep a Changelog + SemVer
  • [Unreleased] at top (below header)
  • All new entries categorized into Added/Changed/Deprecated/Removed/Fixed/Security
  • Entries start w/ imperative verb + describe user-facing impact
  • Versioned sections reverse chron
  • Dates ISO 8601 (YYYY-MM-DD)
  • No dup version sections
  • Comparison links (if used) correct + up to date
  • Empty categories not included (no heading w/o entries)

Traps

  • Internal-only entries: "Refactored DB module" not useful to users. Focus on user-facing. Internal refactors → commit msgs, not changelogs.
  • Vague entries: "Various bug fixes" tells user nothing. Each fix → specific descriptive entry.
  • Forget Unreleased: Adding directly to versioned = changes documented as released when not.
  • Wrong category: "Fix" actually adds feature. Fix restores expected behavior; new capability = "Added" even if requested as bug report.
  • Missing Security: Security fixes always documented w/ CVE ids when avail. Users need to know if should upgrade urgently.
  • Changelog drift: Not updating at time of change. Batch-writing before release → missed / poorly described changes. Write entries alongside code changes.

  • apply-semantic-versioning — determine version # pairing w/ entries
  • plan-release-cycle — define when entries promoted to versioned
  • commit-changes — commit changelog updates w/ proper msgs
  • release-package-version — R-specific release workflow incl NEWS.md updates
  • create-github-release — use changelog content as GitHub release notes

GitHub リポジトリ

pjt222/agent-almanac
パス: i18n/caveman-ultra/skills/manage-changelog
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

関連スキル

executing-plans

デザイン

executing-plansスキルは、完全な実装計画があり、それを管理されたバッチでレビューチェックポイントを設けながら実行する場合に使用します。このスキルは計画を読み込んで批判的にレビューした後、小さなバッチ(デフォルトは3タスク)でタスクを実行し、各バッチの間に進捗状況を報告してアーキテクトのレビューを受けます。これにより、品質管理チェックポイントが組み込まれた体系的な実装が保証されます。

スキルを見る

requesting-code-review

デザイン

このスキルは、コードレビュアーサブエージェントを起動し、処理を進める前に要件に対してコード変更を分析します。タスク完了後、主要な機能の実装後、またはmainブランチへのマージ前などに使用すべきです。このレビューは、現在の実装と元の計画を比較することで、問題を早期に発見するのに役立ちます。

スキルを見る

connect-mcp-server

デザイン

このスキルは、開発者がHTTP、stdio、またはSSEトランスポートを使用してMCPサーバーをClaude Codeに接続するための包括的なガイドを提供します。GitHub、Notion、カスタムAPIなどの外部サービスを統合するためのインストール、設定、認証、セキュリティについて解説しています。MCP統合のセットアップ、外部ツールの設定、またはClaudeのModel Context Protocolを扱う際にご利用ください。

スキルを見る

web-cli-teleport

デザイン

このスキルは、タスク分析に基づいて開発者がClaude Code WebとCLIインターフェースの選択を支援し、これらの環境間でのシームレスなセッションテレポーテーションを可能にします。Web、CLI、モバイル環境を切り替える際のセッション状態とコンテキストを管理することで、ワークフローを最適化します。様々な段階で異なるツールを必要とする複雑なプロジェクトにご活用ください。

スキルを見る