home / skills / dedalus-erp-pas / foundation-skills / changelog-generator

changelog-generator skill

/skills/changelog-generator

This is most likely a fork of the changelog-generator skill from questnova502
npx playbooks add skill dedalus-erp-pas/foundation-skills --skill changelog-generator

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

Files (1)
SKILL.md
7.4 KB
---
name: changelog-generator
description: Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
---

# Changelog Generator

This skill transforms technical git commits into polished, user-friendly changelogs that your customers and users will actually understand and appreciate.

## When to Use This Skill

- 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
- Creating internal release documentation
- Maintaining a public changelog/product updates page

## What This Skill Does

1. **Scans Git History**: Analyzes commits from a specific time period or between versions
2. **Categorizes Changes**: Groups commits into logical categories (features, improvements, bug fixes, breaking changes, security)
3. **Translates Technical โ†’ User-Friendly**: Converts developer commits into customer language
4. **Formats Professionally**: Creates clean, structured changelog entries
5. **Filters Noise**: Excludes internal commits (refactoring, tests, etc.)
6. **Follows Best Practices**: Applies changelog guidelines and your brand voice

## How to Use

### Basic Usage

From your project repository:

```
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
```

### With Specific Date Range

```
Create a changelog for all commits between March 1 and March 15
```

### With Custom Guidelines

```
Create a changelog for commits since v2.4.0, using my changelog 
guidelines from CHANGELOG_STYLE.md
```

## Instructions

When creating a changelog:

1. **Analyze Git History**
   - Use `git log` to retrieve commit messages for the specified time period
   - Default to commits since the last tag if no range specified
   - Look for commit conventions (Conventional Commits, semantic versioning tags)

2. **Categorize Commits**
   - **โœจ New Features**: New capabilities or functionality
   - **๐Ÿ”ง Improvements**: Enhancements to existing features
   - **๐Ÿ› Bug Fixes**: Corrections to defects
   - **โš ๏ธ Breaking Changes**: Changes that require user action
   - **๐Ÿ”’ Security**: Security-related fixes or improvements
   - **๐Ÿ“š Documentation**: Documentation updates (usually exclude from user-facing changelog)
   - **๐Ÿงน Internal**: Refactoring, tests, build changes (exclude from user-facing changelog)

3. **Transform Technical โ†’ User Language**
   - Focus on **what changed for the user**, not how it was implemented
   - Use active voice and present tense
   - Explain the benefit, not the implementation
   - Replace technical jargon with plain language
   
   **Examples:**
   - โŒ "Refactored authentication service to use JWT tokens"
   - โœ… "Faster, more secure login experience"
   
   - โŒ "Added Redis caching layer to API endpoints"
   - โœ… "Pages load 50% faster"
   
   - โŒ "Implemented debounce on search input component"
   - โœ… "Search now responds instantly as you type"

4. **Format the Changelog**
   - Use clear section headers with emojis for visual scanning
   - Start with most impactful changes (features, breaking changes)
   - Use bold for the feature name, then explain in plain language
   - Keep entries concise (1-2 sentences)
   - Group related changes together

5. **Apply Filters**
   - Exclude commits marked as `chore:`, `test:`, `docs:`, `refactor:` (unless user-facing)
   - Skip merge commits and version bump commits
   - Combine multiple commits about the same feature into one entry
   - Remove developer-only changes

6. **Add Context**
   - Include the date or version number in the title
   - Add a brief introduction if it's a major release
   - Link to detailed documentation for breaking changes
   - Include migration guides when relevant

## Example

**User**: "Create a changelog for commits from the past 7 days"

**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.

- **Keyboard Shortcuts**: Press ? to see all available shortcuts. 
  Navigate faster without touching your mouse.

## ๐Ÿ”ง 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
- Corrected notification badge count
```

**Inspired by:** Manik Aggarwal's use case from Lenny's Newsletter

## Changelog Best Practices

### Writing Style
- **User-focused**: Explain what changed for the user, not the code
- **Benefit-oriented**: Lead with why this matters
- **Concise**: Keep entries to 1-2 sentences
- **Scannable**: Use formatting to help users find what they care about

### Structure
- **Consistent categorization**: Use the same categories every time
- **Most important first**: Features and breaking changes before bug fixes
- **Chronological within categories**: Newest changes first
- **Visual hierarchy**: Use headers, bold text, and emojis effectively

### Content Guidelines
- **Be specific**: "Fixed login issues" โ†’ "Fixed issue where login failed with Google accounts"
- **Quantify when possible**: "Faster loading" โ†’ "Pages load 50% faster"
- **Include context**: Explain why changes were made for major updates
- **Link to details**: Reference documentation or migration guides for complex changes

## Tips

- Run from your git repository root
- Specify date ranges for focused changelogs
- Use your CHANGELOG_STYLE.md for consistent formatting
- Review and adjust the generated changelog before publishing
- Save output directly to CHANGELOG.md

## Related Use Cases

- Creating GitHub release notes
- Writing app store update descriptions
- Generating email updates for users
- Creating social media announcement posts

## Example Transformations

### Technical Commit โ†’ User-Friendly Entry

| Technical Commit | User-Friendly Entry |
|-----------------|---------------------|
| "Add OAuth2 support for SSO integration" | "**Single Sign-On**: Log in with your company account" |
| "Optimize database queries with indexes" | "Dashboard loads 3x faster" |
| "Implement WebSocket connection for real-time updates" | "See changes instantly without refreshing" |
| "Add validation for email input fields" | "Helpful error messages when entering invalid emails" |
| "Fix memory leak in background sync worker" | "Improved app stability during long sessions" |

### Category Examples

**โœจ New Features**
- New capabilities that didn't exist before
- Major additions to functionality
- New integrations or platform support

**๐Ÿ”ง Improvements**
- Performance enhancements
- UI/UX refinements
- Expanded existing functionality
- Better error messages

**๐Ÿ› Bug Fixes**
- Corrections to existing features
- Resolution of reported issues
- Fixes to edge cases

**โš ๏ธ Breaking Changes**
- Changes requiring user action
- Removed features or APIs
- Changes to default behavior
- Migration steps required

**๐Ÿ”’ Security**
- Security patches
- Permission improvements
- Authentication enhancements
- Data protection updates