Skip to content
Back to skills

Changelog Automation

ASecurity

Apply changelog automation and semantic versioning patterns using Changesets or semantic-release: conventional commits, automated version bumping, release notes generation. Use when setting up release workflows, discussing versioning, or implementing changelog automation.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
devopsbashgitci/cd

Works with

  • cli

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 4 files and shows the line behind each finding

Scanned September 27, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Changelog Automation?

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

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

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-automation
description: "Apply changelog automation and semantic versioning patterns using Changesets or semantic-release: conventional commits, automated version bumping, release notes generation. Use when setting up release workflows, discussing versioning, or implementing changelog automation."
---

# Changelog Automation

**Manual changelog maintenance is error-prone. Automate version bumping, changelog updates, and release notes.**

> **For full infrastructure setup, use `/changelog`** — the orchestrator skill that installs semantic-release, LLM synthesis, and a public changelog page.

## Philosophy

Two proven approaches:
1. **semantic-release**: Commit-based workflow using conventional commits (recommended for web apps)
2. **Changesets**: PR-based workflow with explicit change declarations (best for npm monorepos)

Both enforce Semantic Versioning and integrate with CI/CD.

## When to Use What

| Scenario | Tool |
|----------|------|
| Web app (every merge is a release) | semantic-release |
| Publishing npm packages | Changesets or semantic-release |
| Monorepo with multiple npm packages | Changesets |
| Want maximum automation | semantic-release |
| Want explicit control over releases | Changesets |

**Default recommendation:** semantic-release for web apps. Every merge to main deploys to production anyway — let the release happen automatically.

## Semantic Versioning (SemVer)

`MAJOR.MINOR.PATCH`:
- **MAJOR** (1.0.0 → 2.0.0): Breaking changes
- **MINOR** (1.0.0 → 1.1.0): New features, backward-compatible
- **PATCH** (1.0.0 → 1.0.1): Bug fixes

## Comparison

| Feature | semantic-release | Changesets |
|---------|------------------|-----------|
| **Best for** | Web apps, single packages | npm monorepos |
| **Workflow** | Commit-based (automatic) | PR-based (explicit files) |
| **Automation** | Fully automated | Semi-automated |
| **Control** | Low (commits drive releases) | High |
| **Team discipline** | High (strict commits) | Low |
| **Monorepo support** | Requires plugins | Excellent |

## The Full Stack

For complete release infrastructure (not just versioning), `/changelog` installs:
1. **semantic-release** — Automatic version bumping from conventional commits
2. **commitlint + Lefthook** — Enforce commit message format
3. **GitHub Actions** — CI workflow for releases
4. **Gemini 3 Flash synthesis** — Transform technical notes to user-friendly language
5. **Public changelog page** — `/changelog` route with RSS feed

## Best Practices

### Do
- Choose one approach, not both
- Enforce conventional commits (commitlint)
- Automate with GitHub Actions
- Generate user-friendly release notes (LLM synthesis)
- Tag releases in git
- Provide a public changelog page

### Don't
- Manually edit CHANGELOG.md
- Skip commit message enforcement
- Ignore breaking changes
- Publish without CI
- Forget to build before publish
- Hide release notes behind auth

## Quick Setup

**Full infrastructure (recommended):**
```
/changelog setup
```

**Just semantic-release:**
```bash
pnpm add -D semantic-release @semantic-release/git @semantic-release/changelog
pnpm add -D @commitlint/cli @commitlint/config-conventional
# Configure .releaserc.js, commitlint, GitHub Action
```

**Just Changesets:**
```bash
pnpm add -D @changesets/cli
pnpm changeset init
# Add GitHub Action, document workflow
```

## References

Detailed configurations:
- `/changelog` orchestrator — Full infrastructure setup
- `references/changesets.md` — Changesets installation, config, workflow
- `references/semantic-release.md` — semantic-release installation, config
- `references/conventional-commits.md` — Commitlint setup, Lefthook integration

**"Versioning should be automatic, not an afterthought."**

Files in this skill

  • SKILL.md3.7 KB
  • references/changesets.md2.8 KB
  • references/conventional-commits.md1.9 KB
  • references/semantic-release.md2.4 KB

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…