askill
changelog

changelogSafety 100Repository

Generate an intelligent changelog from recent commits. Use for release notes, version history, or documenting what changed.

23 stars
1.2k downloads
Updated 3/8/2026

Package Files

Loading files...
SKILL.md

Context

  • Current branch: !git branch --show-current
  • Latest tag: !git describe --tags --abbrev=0 2>/dev/null | head -1
  • Recent commits (last 7 days): !git log --oneline --since="7 days ago" 2>/dev/null | head -20

Arguments

  • $ARGUMENTS - Optional: time period to look back (e.g., "2 weeks", "since v1.2.0", "last 30 days", "2025-01-01..2025-02-01")

Your task

Generate a well-organized, human-readable changelog from recent git history.

Step 1: Determine the time range

If the user provided a time period in $ARGUMENTS, use it. Otherwise, ask the user what time period they want the changelog to cover. Suggest useful options based on the context above:

  • Since a specific tag (if tags exist)
  • Last N days/weeks
  • A date range
  • Since a specific commit

Step 2: Gather commits

Run git log for the chosen time range with full commit messages:

git log --format="%H%n%s%n%b%n---END---" <range>

If there are merge commits, also look at what was merged:

git log --merges --format="%H %s" <range>

If there are very few commits, also inspect the diffs to understand what changed:

git diff --stat <range>

Step 3: Analyze and categorize

Read through all commit messages and diffs. Group changes into categories. Use only categories that have entries — skip empty ones. Choose from:

  • Added — new features, commands, tools, or capabilities
  • Changed — modifications to existing behavior, UI updates, refactors
  • Fixed — bug fixes
  • Removed — deleted features, deprecated code removal
  • Infrastructure — CI/CD, build system, dependency updates, tooling
  • Documentation — README, docs, comments

Step 4: Write the changelog

Write a changelog that is:

  • Grouped by category with clear headers
  • Concise but meaningful — each entry should explain what and why, not just parrot the commit message
  • Deduplicated — combine related commits into a single entry (e.g., a feature + its follow-up fix = one entry)
  • Ordered by significance within each category
  • Free of noise — omit trivial changes like typo fixes or formatting unless nothing else happened

Format each entry as a bullet point. Include relevant context like file paths or component names only when it helps the reader understand the scope.

Step 5: Present the changelog

Print the changelog in this format:

## Changelog: <description of range>

### Added
- Entry here

### Changed
- Entry here

### Fixed
- Entry here

After presenting, offer to:

  1. Copy to clipboard (pbcopy)
  2. Save to a file

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

94/100Analyzed 3/8/2026

Excellent, production-ready skill for generating changelogs from git history. Provides comprehensive step-by-step guidance with concrete git commands, handles various input scenarios, includes proper categorization (Added/Changed/Fixed/etc.), and offers practical output options. Well-structured with tags, clear description, and usable across any git repository. Only minor gap is the missing icon field.

100
90
90
92
90

Metadata

Licenseunknown
Version-
Updated3/8/2026
Publisherdrn

Tags

ci-cd