git-changelog
Auto-generate beautiful changelogs from git history, grouped by conventional commit types
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/fratua/git-changeloggit-changelog — Auto-Generate Changelogs
Generate polished, categorized changelogs from git commit history. Outputs markdown ready for CHANGELOG.md or GitHub releases.
Steps
1. Verify Git Repository
git rev-parse --is-inside-work-tree
If this fails, stop — not a git repository.
2. Determine Range
The user may specify:
- Tag-to-tag:
v1.0.0..v1.1.0 - Since date:
--since="2025-01-01" - Last N commits:
-n 50 - Since last tag: auto-detect with
git describe --tags --abbrev=0
Default behavior — find the last tag and generate from there to HEAD:
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null)
If no tags exist, use the full history.
3. Extract Commits
# Tag-to-HEAD
git log ${LAST_TAG}..HEAD --pretty=format:"%H|%s|%an|%ad" --date=short
# Date range
git log --since="2025-01-01" --until="2025-02-01" --pretty=format:"%H|%s|%an|%ad" --date=short
# Full history
git log --pretty=format:"%H|%s|%an|%ad" --date=short
4. Categorize by Conventional Commits
Parse each commit subject and group into categories:
| Prefix | Category | Emoji |
|---|---|---|
feat | ✨ Features | New functionality |
fix | 🐛 Bug Fixes | Corrections |
docs | 📚 Documentation | Docs changes |
style | 💄 Styling | Formatting, no logic change |
refactor | ♻️ Refactoring | Code restructuring |
perf | ⚡ Performance | Speed improvements |
test | ✅ Tests | Adding/fixing tests |
build | 📦 Build | Build system, deps |
ci | 👷 CI/CD | Pipeline changes |
chore | 🔧 Chores | Maintenance |
| (other) | 📝 Other | Uncategorized |
Parse pattern: type(scope): description or type: description
5. Generate Markdown
Output format:
# Changelog
## [v1.2.0] — 2025-02-15
### ✨ Features
- **auth**: Add OAuth2 support ([abc1234])
- **api**: New rate limiting middleware ([def5678])
### 🐛 Bug Fixes
- **db**: Fix connection pool leak ([ghi9012])
### 📚 Documentation
- Update API reference ([jkl3456])
Rules:
- Include scope in bold if present:
**scope**: message - Include short hash as reference:
([abc1234]) - Sort categories: Features → Fixes → everything else
- Omit empty categories
- If commits include
BREAKING CHANGEin body/footer, add a### 💥 Breaking Changessection at the top
6. Detect Breaking Changes
git log ${LAST_TAG}..HEAD --pretty=format:"%H|%B" | grep -i "BREAKING CHANGE"
Also flag commits with ! after type: feat!: remove legacy API
7. Output
- Default: print to chat for review
- If user requests file output: write/append to
CHANGELOG.mdat project root - When prepending to existing CHANGELOG.md, insert after the
# Changelogheader, before previous entries
Edge Cases
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-fratua-git-changelog": {
"enabled": true,
"auto_update": true
}
}
}Tags
Related Skills
data-analysis-skill
数据分析技能包 - 自动抓取、清洗、可视化、生成报告。适合数据分析师、运营人员,告别 Excel 手工操作。
polymarket-whale-copier
Copy trade winning Polymarket wallets automatically. Track whale wallets, mirror their bets at configurable percentages, with built-in risk management. No API keys needed.
sharkflow
⚡ SharkFlow - 链上任务自动化,智能合约交互队列 + 多签工作流
obsidian-cli
Skill for the official Obsidian CLI (v1.12+). Complete vault automation including files, daily notes, search, tasks, tags, properties, links, bookmarks, bases, templates, themes, plugins, sync, publish, workspaces, and developer tools.
cherry-mcp
HTTP bridge that keeps MCP servers alive and exposes them via REST. Built for OpenClaw agents that need MCP tools without native MCP support.