Get the FREE Ultimate OpenClaw Setup Guide →

changelog-manager

Scanned
npx machina-cli add skill datamaker-kr/synapse-claude-marketplace/changelog-manager --openclaw
Files (1)
SKILL.md
4.7 KB

Changelog Manager Skill

Purpose

This skill manages changelog entries in CHANGELOG.md following the Keep a Changelog format with Calendar Versioning.

Core Capabilities

1. Changelog Entry Generation

  • Analyze current changes and commits
  • Generate appropriate changelog descriptions
  • Support Korean and English languages
  • Extract ticket IDs from branch names
  • Follow Keep a Changelog categories

2. Change Analysis

  • Review git commits since last release
  • Identify changed files and their purposes
  • Categorize changes appropriately
  • Generate concise but informative descriptions

3. Format Compliance

  • Maintain Keep a Changelog format
  • Use CalVer (YYYY.MM.MICRO) versioning
  • Include JIRA ticket linking
  • Preserve existing format and conventions

Versioning Strategy

This plugin uses Calendar Versioning with format YYYY.Minor.Patch.

Examples:

  • 2026.1.0 - First minor release in 2026
  • 2026.1.1 - First patch release
  • 2026.2.0 - Second minor release in 2026

Changelog Categories

Based on Keep a Changelog:

  • Added: New features, endpoints, functionality
  • Changed: Changes in existing functionality, improvements, updates
  • Fixed: Bug fixes, error corrections, issue resolutions
  • Deprecated: Soon-to-be removed features
  • Removed: Removed features
  • Security: Security fixes

Entry Format

- [TICKET-ID](JIRA-URL) Description in specified language

Korean Example:

- [SYN-1234](https://jira.example.com/browse/SYN-1234) 사용자 인증 기능 추가

English Example:

- [SYN-1234](https://jira.example.com/browse/SYN-1234) Add user authentication feature

Workflow

1. Extract Ticket ID

From branch name:

git branch --show-current
# Example: feature/SYN-1234-user-authentication
# Extract: SYN-1234

Pattern: (PROJ-\d+) where PROJ is project prefix

2. Analyze Changes

Review commits:

git log --oneline --since="$(git describe --tags --abbrev=0)"

Review changed files:

git diff --name-status $(git describe --tags --abbrev=0)..HEAD

3. Generate Description

Based on:

  • Commit messages
  • Changed files
  • Code diff analysis
  • User input if needed

Guidelines:

  • Be concise but informative
  • Focus on "what" not "how"
  • Use active voice
  • Mention affected components

4. Add to CHANGELOG.md

Location: Under ## [Unreleased] in appropriate category

Format:

## [Unreleased] - yyyy-mm-dd

### Added
- [TICKET-ID](JIRA-URL) New feature description

### Changed
- [TICKET-ID](JIRA-URL) Updated feature description

### Fixed
- [TICKET-ID](JIRA-URL) Bug fix description

Parameters

  • type: Changelog category (added/changed/fixed/deprecated/removed/security)
  • lang: Description language (korean/english)
  • ticket: Ticket ID (optional, auto-extracted from branch if not provided)

Integration

This skill is invoked by:

  • /add-changelog command - Manual changelog entry addition

Best Practices

Do:

  • ✅ Follow Keep a Changelog format
  • ✅ Use CalVer versioning
  • ✅ Include ticket IDs with links
  • ✅ Write clear, concise descriptions
  • ✅ Maintain chronological order (newest first)
  • ✅ Group related changes together

Don't:

  • ❌ Mix multiple unrelated changes in one entry
  • ❌ Use vague descriptions
  • ❌ Forget ticket ID linking
  • ❌ Break existing format
  • ❌ Add duplicate entries

Example Usage

Add new feature (Korean):

User: /add-changelog --type added
Skill: Analyzes changes → Generates description → Adds to CHANGELOG.md
Result: - [SYN-1234](URL) 사용자 프로필 이미지 업로드 기능 추가

Fix bug (English):

User: /add-changelog --type fixed --lang eng
Skill: Analyzes changes → Generates description → Adds to CHANGELOG.md
Result: - [SYN-1235](URL) Fix profile image upload validation error

Error Handling

  • No ticket ID found: Ask user to provide ticket ID
  • CHANGELOG.md not found: Create new CHANGELOG.md with proper format
  • No Unreleased section: Add Unreleased section
  • Invalid category: Default to "Added" or ask user

File Structure

CHANGELOG.md format:

# Changelog

## [Unreleased] - yyyy-mm-dd

### Added
### Changed
### Fixed

## [2026.1.0] - 2026-01-15

### Added
- Feature 1
- Feature 2

### Changed
- Change 1

Source

git clone https://github.com/datamaker-kr/synapse-claude-marketplace/blob/main/plugins/platform-dev-team-common/skills/changelog-manager/SKILL.mdView on GitHub

Overview

Keeps CHANGELOG.md in Keep a Changelog format using CalVer versioning. It analyzes recent commits, extracts JIRA ticket IDs from branch names, and creates language-appropriate, concise changelog entries.

How This Skill Works

The tool extracts the ticket ID from the current branch name, reviews commits since the last tag, and generates a concise description based on changed files and diffs. It then updates CHANGELOG.md under the Unreleased section in the appropriate category, preserving the Keep a Changelog structure.

When to Use It

  • Preparing a new release and needing a compliant changelog entry
  • Aggregating multiple commits into a single categorized entry
  • Automatically linking work to JIRA tickets via branch names
  • Maintaining CalVer versioning across releases
  • Updating CHANGELOG.md in a repository that follows Keep a Changelog

Quick Start

  1. Step 1: Run /add-changelog --type <added|changed|fixed|deprecated|removed|security> --lang <korean|english> [--ticket SYN-1234]
  2. Step 2: If --ticket is omitted, the skill extracts it from the current branch name (e.g., feature/SYN-1234-...)
  3. Step 3: The skill analyzes commits, generates a description, and updates CHANGELOG.md under Unreleased

Best Practices

  • Follow Keep a Changelog format strictly
  • Use CalVer correctly (YYYY.Minor.Patch) and update on release
  • Include ticket IDs with links to JIRA
  • Write concise, informative descriptions in active voice
  • Avoid mixing unrelated changes in a single entry

Example Use Cases

  • - [SYN-1234](https://jira.example.com/browse/SYN-1234) Add user authentication feature
  • - [SYN-2345](https://jira.example.com/browse/SYN-2345) Improve API search endpoint performance
  • - [SYN-3456](https://jira.example.com/browse/SYN-3456) Fix crash on startup under low memory
  • - [SYN-4567](https://jira.example.com/browse/SYN-4567) Remove deprecated login method
  • - [SYN-5678](https://jira.example.com/browse/SYN-5678) Harden security by enabling MFA for admins

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers