AgentSkillsCN

shared-changelog

根据语义化版本控制规范,从常规提交中自动生成 CHANGELOG.md。

SKILL.md
--- frontmatter
name: shared-changelog
description: Generate CHANGELOG.md from conventional commits with semantic versioning.
argument-hint: "[--version <v>] [--from <tag>] [--dry-run]"
disable-model-invocation: true
allowed-tools: Bash, Write, Read, Glob, Grep

Purpose

Generate or update CHANGELOG.md from Git history using conventional commits. Supports semantic versioning and release automation.

Arguments

  • --version <v> — Target version (e.g., 1.2.0). If omitted, suggests based on commit types.
  • --from <tag> — Starting point (default: last tag or initial commit)
  • --dry-run — Show changelog without writing

Version inference

Based on commits since last tag:

  • feat with BREAKING CHANGEmajor bump
  • featminor bump
  • fix, perfpatch bump

Commit categories

TypeChangelog section
feat✨ Features
fix🐛 Bug Fixes
perf⚡ Performance
docs📚 Documentation
refactor♻️ Refactoring
test🧪 Tests
build, ci🔧 Build & CI
choreHidden (unless --all)

Changelog format

markdown
# Changelog

## [1.2.0] - 2025-01-24

### ✨ Features
- **auth:** add biometric login (#42)

### 🐛 Bug Fixes
- **api:** handle network timeout (#38)

### ⚠️ Breaking Changes
- **config:** rename ENV_VAR to NEW_NAME

Workflow

  1. Parse commits since last tag
  2. Group by type and scope
  3. Infer version (or use provided)
  4. Generate changelog entry
  5. Prepend to CHANGELOG.md (or create)
  6. Optionally create git tag

Output

  • Suggested version
  • Changelog preview
  • File updated (unless --dry-run)

Reference

For templates and customization, see reference/shared-changelog-reference.md