Skip to content
Back to skills

Changelog Generator 4

ASecurity

Generate structured changelogs for app releases from git history. Use when preparing releases, documenting changes, or creating version notes.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
documentationbashgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill changelog-generator-4 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Changelog Generator 4?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Changelog Generator 4
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-changelog-generator-4/badge)](https://www.skillsdirectory.com/skills/david-li0406-changelog-generator-4)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: changelog-generator
description: Generate structured changelogs for app releases from git history. Use when preparing releases, documenting changes, or creating version notes.
allowed-tools: Read, Bash(git:*)
---

# Changelog Generator

> Generate clean, developer-friendly changelogs from git history with code samples for breaking changes.

## When to Use

- Preparing a new release
- Documenting changes since last version
- Creating release notes
- Reviewing what changed between tags

## Instructions

### Step 1: Determine Version Range

```bash
# Find the last release tag
git describe --tags --abbrev=0

# List recent tags for reference
git tag --sort=-version:refname | head -5
```

### Step 2: Gather Commits

```bash
# Get commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges
```

### Step 3: Generate Changelog

Create `.changelogs/{version}.md` with:

1. **Simple checklist format** - one item per meaningful change
2. **No unnecessary comments** - keep it scannable
3. **Code samples for breaking/API changes** - brief, compliant examples

## Output Format

```markdown
# v{version}

## Changes

- [ ] Added: Feature description
- [ ] Fixed: Bug description  
- [ ] Changed: Behavior change description
- [ ] Removed: Deprecated item

## Breaking Changes

### Change Title

Brief description of what changed.

```ts
// Before
oldMethod(param: string)

// After  
newMethod(param: string, options?: Options)
```

## Migration Notes

[Only if applicable - brief migration steps]
```

## Guidelines

- **Group by type**: Added, Fixed, Changed, Removed, Deprecated
- **Be concise**: One line per change, details only when needed
- **Code samples**: Only for developer-facing changes that need examples
- **Language tags**: Always include language in code blocks (e.g., `ts`, `js`, `bash`)

## Example

**Input**: Generate changelog for v2.1.0

**Output**: `.changelogs/v2.1.0.md`

```markdown
# v2.1.0

## Changes

- [x] Added: WebSocket reconnection with exponential backoff
- [x] Fixed: Memory leak in event listener cleanup
- [x] Changed: Default timeout from 30s to 60s

## Breaking Changes

### Event handler signature updated

```ts
// Before
client.on('message', (data) => {})

// After
client.on('message', (data, metadata) => {})
```
```

## Notes

- Infer version from context or prompt user if unclear
- Skip merge commits and version bump commits
- Focus on user/developer-facing changes

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…