Generate Changelog

VerifiedSafe

Analyzes git history for a specified time period and generates a vibrant, human-readable changelog, ideal for non-technical teams (product managers, marketing, support) who need user-friendly release notes without technical jargon.

Sby Skills Guide Bot
DocumentationIntermediate
6/2/2026
Claude Code
#changelog#release-notes#git-history#non-technical#summarization

Recommended for

Automated summary

Analyzes git history for a specified time period and generates a vibrant, human-readable changelog tailored for non-technical teams.

Strengths

  • Automates changelog creation from git commits
  • Converts technical jargon into user-facing benefits
  • Provides categorized sections (features, fixes, etc.) with emojis
  • Handles various time period formats

Limitations

  • Requires a git repository with well-structured commit messages
  • May not capture nuances of complex changes
  • Large numbers of commits may need manual trimming
When to use it

When you need to quickly produce release notes or progress summaries for stakeholders, product teams, or external users without manual effort.

When not to use it

When the commit history is messy, inconsistent, or lacks descriptive messages, as the output may be misleading or require significant editing.

Security analysis

Safe
Quality score90/100

The skill runs only read-only git log commands to gather commit history. No destructive actions, no exfiltration of secrets, no disabling of safety features. The commands are safe and commonly used for changelog generation.

No concerns found

How this analysis is made

Examples

Weekly changelog
Generate a changelog for last week
Sprint changelog
Create a changelog from 2024-01-01 to 2024-01-31
Version release notes
Generate release notes between v1.0.0 and v1.1.0

name: utils:changelog description: Generate Changelog - analyzes git history and creates a human-readable changelog for non-technical teams

Generate Changelog

Analyzes git history for a specified time period and generates a vibrant, human-readable changelog that non-technical teams will actually enjoy reading. Perfect for product managers, marketing, support teams, and external release notes.

When to use

Use this skill when the user needs to:

  • Create release notes for stakeholders
  • Summarize development progress for product/marketing teams
  • Generate sprint or iteration summaries
  • Prepare changelog for external communication

Instructions

Step 1: Parse Arguments

The <args> should specify the time period. Supported formats:

  • last week, last month, last 2 weeks
  • since 2024-01-01, since v1.2.0
  • from 2024-01-01 to 2024-01-31
  • v1.0.0..v1.1.0 (between tags)

If no period specified, default to "last week" and confirm with the user.

Step 2: Gather Git History

  1. Run git log for the specified period with full commit messages
  2. Include merge commits to capture feature branches
  3. Gather commit metadata (author, date, files changed)

Example commands:

# Last week
git log --since="1 week ago" --pretty=format:"%h|%s|%b|%an|%ad" --date=short

# Between dates
git log --after="2024-01-01" --before="2024-01-31" --pretty=format:"%h|%s|%b|%an|%ad" --date=short

# Between tags
git log v1.0.0..v1.1.0 --pretty=format:"%h|%s|%b|%an|%ad" --date=short

Step 3: Analyze and Categorize Changes

Group commits into business-friendly categories:

| Category | Emoji | Keywords to detect | |----------|-------|-------------------| | New Features | πŸš€ | feat, add, implement, introduce | | Improvements | πŸ’ͺ | improve, enhance, update, optimize | | Bug Fixes | πŸ› | fix, resolve, repair, correct | | Security | πŸ”’ | security, vulnerability, CVE | | Performance | ⚑ | perf, performance, speed, optimize | | Breaking Changes | ⚠️ | breaking, BREAKING CHANGE | | Deprecations | πŸ“¦ | deprecate, deprecated |

Transformation rules:

  1. Remove technical jargon (PR numbers, file paths, function names)
  2. Convert developer language to user-facing benefits
  3. Combine related commits into single entries
  4. Focus on WHAT changed for users, not HOW it was implemented

Step 4: Generate the Changelog

Create output in this format:

# πŸ“‹ Changelog

**Period:** [Start Date] β†’ [End Date]

---

## ✨ Highlights

> [2-3 sentence summary of the most important changes. Make it sound exciting and valuable!]

---

## πŸš€ New Features

- **[Feature Name]** β€” [Brief description of what users can now do]
- **[Feature Name]** β€” [Brief description of what users can now do]

## πŸ’ͺ Improvements

- **[Area]** β€” [What got better and why it matters]
- **[Area]** β€” [What got better and why it matters]

## πŸ› Bug Fixes

- Fixed an issue where [user-facing problem description]
- Resolved a problem with [user-facing problem description]

## πŸ”’ Security

- [Description without exposing vulnerability details]

## ⚑ Performance

- [Description of what is now faster/more efficient]

---

πŸ“Š **Stats:** [X] changes by [Y] contributors

πŸ™ **Contributors:** @name1, @name2, @name3

Tone Guidelines

Make the changelog feel alive and engaging:

  • Use active voice: "You can now..." instead of "Added ability to..."
  • Celebrate wins: "Finally! Dark mode is here"
  • Be human: "No more frustrating login errors"
  • Add context when helpful: "Based on your feedback, we..."

Step 5: Handle Edge Cases

No commits found:

  • Inform user that no changes were found for the period
  • Suggest alternative time ranges

Too many commits (>100):

  • Warn user about large volume
  • Offer to summarize by category or split into multiple sections

Technical-only changes:

  • If all changes are internal (refactoring, dependencies, CI/CD):
    • Create a brief "Technical Improvements" section
    • Note that no user-facing changes were made

Step 6: Output Options

Ask user their preferred output:

  1. Display - Show the changelog in the conversation
  2. File - Save to a file (default: CHANGELOG-[date].md)
  3. Clipboard - Copy to clipboard for pasting elsewhere

Writing Guidelines

  1. User perspective - Write from the user's point of view

    • ❌ "Refactored auth module to use JWT tokens"
    • βœ… "Your login is now more secure"
  2. Benefit-focused - Emphasize the benefit, not the implementation

    • ❌ "Added Redis caching layer"
    • βœ… "Pages load up to 3x faster"
  3. Plain language - Avoid technical terms

    • ❌ "Fixed race condition in async handler"
    • βœ… "Fixed a rare issue where data could appear incorrect"
  4. Concise - Keep entries to 1-2 sentences max

  5. Positive framing - Frame fixes as improvements

    • ❌ "Fixed broken search"
    • βœ… "Search now works reliably"
  6. Celebrate big wins - Make important features feel special

    • ❌ "Added dark mode"
    • βœ… "πŸŒ™ Dark mode is finally here! Easy on the eyes, day or night"
  7. Acknowledge feedback - Show users they're heard

    • βœ… "You asked, we listened β€” bulk export is now available"

Arguments

  • <args> - Time period specification
    • Relative: last week, last 2 weeks, last month
    • Since: since 2024-01-01, since v1.0.0
    • Range: from 2024-01-01 to 2024-01-31
    • Tags: v1.0.0..v1.1.0

Examples:

  • changelog last week - Changes from the past 7 days
  • changelog since 2024-01-01 - All changes since January 1st
  • changelog v2.0.0..v2.1.0 - Changes between two releases

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/generate-changelog-mm5t8brm/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/generate-changelog-mm5t8brm' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/generate-changelog-mm5t8brm/download' --output '.skill-downloads/generate-changelog-mm5t8brm/SKILL.md.part' && mv '.skill-downloads/generate-changelog-mm5t8brm/SKILL.md.part' '.skill-downloads/generate-changelog-mm5t8brm/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/generate-changelog-mm5t8brm/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills