home / skills / eyadsibai / ltk / changelog-generator

This skill helps you generate polished changelogs and release notes from git history, translating commits into user-friendly entries for customers.

npx playbooks add skill eyadsibai/ltk --skill changelog-generator

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.0 KB
---
name: changelog-generator
description: Use when creating "changelog", "release notes", "version updates", generating "CHANGELOG.md", or asking about "git history to changelog", "commit summary", "what changed since last release"
version: 1.0.0
---

<!-- Adapted from: awesome-claude-skills/changelog-generator -->

# Changelog Generator

Transform technical git commits into polished, user-friendly changelogs.

## When to Use

- Preparing release notes for a new version
- Creating weekly or monthly product update summaries
- Documenting changes for customers
- Writing changelog entries for app store submissions
- Generating update notifications
- Maintaining a public changelog/product updates page

## Process

### 1. Scan Git History

Analyze commits from a specific time period or between versions:

```bash
# Since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline

# Between dates
git log --since="2024-01-01" --until="2024-01-31" --oneline

# Between versions
git log v1.0.0..v2.0.0 --oneline
```

### 2. Categorize Changes

Group commits into logical categories:

| Category | Emoji | Includes |
|----------|-------|----------|
| New Features | ✨ | New functionality, capabilities |
| Improvements | πŸ”§ | Enhancements, optimizations |
| Bug Fixes | πŸ› | Resolved issues, corrections |
| Breaking Changes | ⚠️ | API changes, migrations needed |
| Security | πŸ”’ | Security patches, vulnerability fixes |
| Documentation | πŸ“š | Docs updates (usually excluded) |
| Internal | πŸ”¨ | Refactoring, tests (usually excluded) |

### 3. Translate Technical β†’ User-Friendly

**Bad (developer-speak):**

```
fix: resolve null pointer in UserService#getById
refactor: extract common logic to BaseRepository
```

**Good (user-friendly):**

```
- Fixed an issue where user profiles wouldn't load
- Improved application performance and reliability
```

### 4. Format Output

```markdown
# Updates - Week of March 10, 2024

## ✨ New Features

- **Team Workspaces**: Create separate workspaces for different
  projects. Invite team members and keep everything organized.

## πŸ”§ Improvements

- **Faster Sync**: Files now sync 2x faster across devices
- **Better Search**: Search now includes file contents, not just titles

## πŸ› Fixes

- Fixed issue where large images wouldn't upload
- Resolved timezone confusion in scheduled posts
```

## Filter Rules

**Include:**

- Features (feat:, feature:)
- Fixes (fix:, bugfix:)
- Performance (perf:)
- Security (security:)

**Exclude:**

- Refactoring (refactor:)
- Tests (test:)
- CI/CD (ci:, build:)
- Chores (chore:)
- WIP commits

## Usage Examples

```
Create a changelog from commits since last release
```

```
Generate changelog for all commits from the past week
```

```
Create release notes for version 2.5.0 based on commits since v2.4.0
```

## Tips

- Run from your git repository root
- Specify date ranges for focused changelogs
- Review and adjust before publishing
- Keep customer perspective - "what does this mean for them?"
- Save output directly to CHANGELOG.md

Overview

This skill transforms raw git commit history into clear, customer-facing changelogs and release notes. It scans commits between tags, dates, or ranges, groups them into meaningful categories, and rewrites technical messages into plain-language entries. The output is formatted for CHANGELOG.md, release pages, or app store copy.

How this skill works

The tool inspects git logs for a specified range (since last tag, between versions, or by date) and filters commits by type (features, fixes, perf, security). It groups commits into categories like New Features, Improvements, Fixes, and Breaking Changes, then converts developer-speak into user-friendly summaries. Finally it generates a formatted markdown section ready to append or publish.

When to use it

  • Preparing release notes for a new version or patch
  • Creating weekly or monthly product update summaries
  • Generating app store or customer-facing update descriptions
  • Converting git history into a public CHANGELOG.md
  • Summarizing what changed since the last release

Best practices

  • Run from the repository root so commit ranges and tags resolve correctly
  • Filter by date or tags to keep changelogs focused and relevant
  • Exclude internal-only commits (refactor, test, chore, ci) to avoid noise
  • Translate technical details into customer impact, not implementation specifics
  • Review and edit auto-generated text before publishing to ensure tone and accuracy

Example use cases

  • Generate release notes for v2.5.0 using commits since v2.4.0
  • Create a weekly changelog of all commits from the last 7 days
  • Produce a short app store update describing user-facing fixes and features
  • Compile a security-only summary for a patch release
  • Save a formatted changelog section directly into CHANGELOG.md

FAQ

How do I restrict the changelog to user-visible changes?

Filter commits by conventional prefixes (feat:, fix:, perf:, security:) and exclude refactor:, test:, ci:, chore: or WIP commits before generating summaries.

Can it summarize commits between two tags?

Yes. Point the generator at the tag range (for example v1.0.0..v2.0.0) and it will scan and categorize commits between those tags.