← Back to Skills Marketplace
charlie-morrison

git-release-notes

by charlie-morrison · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
94
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install git-release-notes
Description
Generate polished release notes and changelogs from git history. Analyzes commits between tags/refs, categorizes changes (features, fixes, breaking changes,...
README (SKILL.md)

Git Release Notes

Generate formatted release notes from git commit history. Analyzes commits between any two refs (tags, branches, SHAs) and produces categorized, human-readable release notes.

Quick Usage

Generate Notes Between Tags

scripts/gather_commits.sh v1.2.0 v1.3.0

Then format the JSON output into release notes using the formatting rules below.

Generate Notes Since Last Tag

scripts/gather_commits.sh $(git describe --tags --abbrev=0) HEAD

Generate Notes Between Branches

scripts/gather_commits.sh main release/2.0

Workflow

1. Gather Commits

Run scripts/gather_commits.sh \x3Cfrom_ref> \x3Cto_ref> to get structured commit data (JSON array).

If no refs provided, ask user for:

  • The starting point (tag, branch, or SHA)
  • The ending point (default: HEAD)

2. Categorize Commits

Group commits by type using conventional commit prefixes and content analysis:

Category Prefixes / Signals Emoji
Breaking Changes BREAKING CHANGE:, !: in subject 💥
Features feat:, feature:, add:
Bug Fixes fix:, bugfix:, hotfix: 🐛
Performance perf:
Documentation docs:, doc: 📚
Refactoring refactor: ♻️
Testing test:, tests: 🧪
CI/Build ci:, build:, chore: 🔧
Dependencies deps:, dep:, "bump", "upgrade" in subject 📦
Other Anything else 📝

If commits don't follow conventional commits, analyze the commit message content to infer categories.

3. Format Release Notes

Default format (GitHub Release style):

# v1.3.0

> Released on 2026-03-26 | 47 commits | 5 contributors

## 💥 Breaking Changes
- Remove deprecated `legacy_auth` endpoint (#234)

## ✨ Features
- Add dark mode support (#220)
- Implement batch export for CSV/JSON (#215)

## 🐛 Bug Fixes
- Fix race condition in queue processor (#228)
- Correct timezone handling for UTC offset (#225)

## ⚡ Performance
- Optimize database queries for dashboard load (#222)

## 📦 Dependencies
- Bump express from 4.18 to 4.21

## 🔧 Other
- Update CI pipeline for Node 22

**Full Changelog:** v1.2.0...v1.3.0

4. Alternative Formats

Compact (for small releases):

v1.3.0 — Dark mode, batch export, 5 bug fixes. Breaking: removed legacy_auth.

Keep a Changelog (keepachangelog.com):

## [1.3.0] - 2026-03-26
### Added
- Dark mode support
### Changed
- Optimized dashboard queries
### Removed
- Deprecated legacy_auth endpoint
### Fixed
- Race condition in queue processor

Slack/Discord announcement:

🚀 **v1.3.0 is out!**

Highlights:
→ Dark mode support
→ Batch CSV/JSON export
→ 5 bug fixes

⚠️ Breaking: `legacy_auth` endpoint removed — migrate to `/v2/auth`

Customization

Users can specify:

  • Format — github (default), compact, keepachangelog, slack
  • Include/exclude categories — "skip docs and chore commits"
  • Group by — category (default), author, scope
  • PR links — auto-detect GitHub PR numbers (#NNN)
  • Contributors — list contributors at the bottom
  • Scope filter — only include commits touching certain paths

Scripts

  • scripts/gather_commits.sh \x3Cfrom> \x3Cto> — Outputs JSON array of commits with hash, author, date, subject, body
Usage Guidance
This skill is mostly coherent for generating release notes, but review the included script before running. Specific checks: 1) It uses git and python3 even though the metadata lists no required binaries — ensure those are available and intended. 2) The script emits author email addresses and full commit bodies in JSON; if you plan to run it against repos containing private emails or sensitive commit messages, remove or mask the email/body fields. 3) Because it’s an instruction-only skill with an embedded script, run it in a safe environment (or a copy of the repo) first to confirm behavior. If you don’t trust the source, don’t run it against sensitive repositories. Finally, you may ask the author to update the metadata to declare required binaries (git, python3) and to add an option to omit emails/body for privacy.
Capability Analysis
Type: OpenClaw Skill Name: git-release-notes Version: 1.0.0 The skill is a legitimate tool for generating release notes from Git history. The core logic in `scripts/gather_commits.sh` uses standard git commands and a Python helper to structure commit data into JSON, while `SKILL.md` provides clear instructions for the AI agent to categorize and format the output without any signs of malicious intent or data exfiltration.
Capability Assessment
Purpose & Capability
The skill's stated purpose (generate release notes from git history) matches the included script and SKILL.md workflow. However, the files rely on git and python3 (git log and an inline Python JSON serializer) even though the skill metadata declares no required binaries; that omission is an inconsistency the author should have declared.
Instruction Scope
SKILL.md instructions are narrowly scoped to reading git history between refs, categorizing commits, and formatting output. It does not instruct the agent to read unrelated system files, environment variables, or send data to external endpoints.
Install Mechanism
This is an instruction-only skill with a small bundled script. There is no install spec and no remote downloads. The script runs local git and Python commands and writes only to stdout; no installation actions are performed by the skill itself.
Credentials
No environment variables or external credentials are requested (OK). But the script extracts and emits author emails and other commit metadata in full JSON — reasonable for release notes or contributor lists, but it may expose private email addresses or other sensitive commit details. The skill does not declare or warn about this privacy exposure.
Persistence & Privilege
The skill does not request persistent presence (always:false) or elevated privileges and does not modify other skills or system config. Autonomous invocation is allowed by default (normal).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install git-release-notes
  3. After installation, invoke the skill by name or use /git-release-notes
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release
Metadata
Slug git-release-notes
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is git-release-notes?

Generate polished release notes and changelogs from git history. Analyzes commits between tags/refs, categorizes changes (features, fixes, breaking changes,... It is an AI Agent Skill for Claude Code / OpenClaw, with 94 downloads so far.

How do I install git-release-notes?

Run "/install git-release-notes" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is git-release-notes free?

Yes, git-release-notes is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does git-release-notes support?

git-release-notes is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created git-release-notes?

It is built and maintained by charlie-morrison (@charlie-morrison); the current version is v1.0.0.

💬 Comments