utils: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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "utils:changelog" with this command: npx skills add ikatsuba/skills/ikatsuba-skills-utils-changelog

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

  • Run git log for the specified period with full commit messages

  • Include merge commits to capture feature branches

  • 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:

  • Remove technical jargon (PR numbers, file paths, function names)

  • Convert developer language to user-facing benefits

  • Combine related commits into single entries

  • 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:

  • Display - Show the changelog in the conversation

  • File - Save to a file (default: CHANGELOG-[date].md )

  • Clipboard - Copy to clipboard for pasting elsewhere

Writing Guidelines

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

  • ❌ "Refactored auth module to use JWT tokens"

  • ✅ "Your login is now more secure"

Benefit-focused - Emphasize the benefit, not the implementation

  • ❌ "Added Redis caching layer"

  • ✅ "Pages load up to 3x faster"

Plain language - Avoid technical terms

  • ❌ "Fixed race condition in async handler"

  • ✅ "Fixed a rare issue where data could appear incorrect"

Concise - Keep entries to 1-2 sentences max

Positive framing - Frame fixes as improvements

  • ❌ "Fixed broken search"

  • ✅ "Search now works reliably"

Celebrate big wins - Make important features feel special

  • ❌ "Added dark mode"

  • ✅ "🌙 Dark mode is finally here! Easy on the eyes, day or night"

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

spec:design

No summary provided by upstream source.

Repository SourceNeeds Review
General

spec:requirements

No summary provided by upstream source.

Repository SourceNeeds Review
General

git:amend

No summary provided by upstream source.

Repository SourceNeeds Review
General

git:commit

No summary provided by upstream source.

Repository SourceNeeds Review