Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyzes git commit and PR history to generate structured release notes (RELEASE_NOTES.md). Automatically categorizes changes, identifies contributors, and produces a polished release document through a brief confirmation interview.
.claude/skills/kangminhyuk1111-release-notes/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 52% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 483% | 0% |
This skill generates structured release notes by analyzing git history. It determines the version range from git tags, categorizes commits by type, identifies contributors, and produces a comprehensive RELEASE_NOTES.md. A brief interview confirms version number, highlights, and breaking changes before final output.
git tag --sort=-version:refname to find existing tags.AskUserQuestion to ask the user for the range (e.g., a specific commit SHA, "last 20 commits", or "all history")./release-notes v1.0.0..v1.1.0).git log <range> --pretty=format:"%H|%an|%ae|%s|%b" --no-merges to get commit details.git log <range> --pretty=format:"%H|%an|%ae|%s|%b" --merges to identify PR merges.git shortlog -sne <range> to gather contributor information.feat, add, new, or containing "added", "implement"fix, bugfix, or containing "fixed", "resolve"BREAKING CHANGE, BREAKING:, or using ! after type (e.g., feat!:)refactor, improve, update, perf, enhancedocs, docchore, ci, build, test, style, or anything elsefeat: add login becomes Add login).AskUserQuestion and confirm:Round 1 - Version & Highlights:
Round 2 - Breaking Changes & Extras (only if applicable):
skills/release-notes/output-template.md and use it as the structure for generating RELEASE_NOTES.md in the project root.vX.Y.Z with the confirmed version number.YYYY-MM-DD with today's date./release-notes(In a project with git tag v1.2.0 and 15 commits since that tag)
Range: v1.2.0..HEAD (15 commits)
Categorized:
- Features (3): Add OAuth login, Add user avatar upload, Add dark mode toggle
- Bug Fixes (5): Fix session timeout, Fix mobile nav overlap, ...
- Improvements (4): Refactor auth middleware, Improve query performance, ...
- Other (3): Update CI config, Add unit tests for auth, ...
Contributors: alice (7), bob (5), charlie (3)
Suggested version: v1.3.0 (minor - new features, no breaking changes)Questions:
1. "Based on the changes (3 new features, no breaking changes), the suggested
version is v1.3.0. What version should this release be?"
Options: ["v1.3.0 (Recommended)", "v1.2.1 (patch)", "v2.0.0 (major)"]
2. "Auto-detected highlights: OAuth login support, dark mode toggle, and
significant auth middleware refactoring. Would you like to adjust these?"
Options: ["Looks good", "I'll provide my own"]markdown# Release Notes - v1.3.0 > Released: 2025-01-15 ## Highlights - OAuth login support enabling Google and GitHub authentication - Dark mode toggle with system preference detection - Significant performance improvements in authentication flow ## Features - Add OAuth login with Google and GitHub providers - Add user avatar upload with image cropping - Add dark mode toggle with system preference detection ## Bug Fixes - Fix session timeout not redirecting to login page - Fix mobile navigation menu overlapping content - Fix password reset email not sending in production - Fix race condition in concurrent API requests - Fix incorrect timezone display in user profile ## Improvements - Refactor auth middleware for better extensibility - Improve database query performance for user listings - Update error messages to be more descriptive - Enhance logging format for production debugging ## Contributors - @alice (7 commits) - @bob (5 commits) - @charlie (3 commits)
fix: nav overlap on mobile becomes "Fix mobile navigation menu overlapping content").RELEASE_NOTES.md or CHANGELOG.md files. If one exists, ask whether to append, prepend, or create a new file.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 13,666 | 4,511 | -67% | 1 | 1 | 0% | 2,495 | 1,998 | -20% | 0 | 0 | — |
case-02 | fail→fail | 2,712 | 5,371 | +98% | 1 | 1 | 0% | 440 | 2,068 | +370% | 0 | 0 | — |
case-03 | fail→fail | 15,541 | 15,177 | -2% | 1 | 1 | 0% | 2,876 | 2,174 | -24% | 0 | 0 | — |
case-04 | pass→pass | 7,230 | 6,817 | -6% | 1 | 1 | 0% | 1,433 | 2,804 | +96% | 0 | 0 | — |
case-05 | pass→pass | 6,896 | 7,638 | +11% | 1 | 1 | 0% | 1,296 | 3,121 | +141% | 0 | 0 | — |
case-06 | fail→fail | 3,182 | 7,013 | +120% | 1 | 1 | 0% | 397 | 3,019 | +660% | 0 | 0 | — |
case-07 | fail→pass | 5,621 | 2,956 | -47% | 1 | 1 | 0% | 1,220 | 2,204 | +81% | 0 | 0 | — |
case-08 | fail→pass | 9,862 | 5,474 | -44% | 1 | 1 | 0% | 2,037 | 2,527 | +24% | 0 | 0 | — |
case-09 | pass→pass | 3,540 | 2,385 | -33% | 1 | 1 | 0% | 654 | 2,164 | +231% | 0 | 0 | — |
case-10 | pass→pass | 8,832 | 4,645 | -47% | 1 | 1 | 0% | 1,613 | 2,620 | +62% | 0 | 0 | — |
case-11 | pass→pass | 8,699 | 2,988 | -66% | 1 | 1 | 0% | 1,609 | 2,283 | +42% | 0 | 0 | — |
case-12 | pass→pass | 8,010 | 2,829 | -65% | 1 | 1 | 0% | 1,503 | 2,216 | +47% | 0 | 0 | — |
case-13 | fail→pass | 15,978 | 1,704 | -89% | 1 | 1 | 0% | 1,279 | 1,948 | +52% | 0 | 0 | — |
case-14 | fail→pass | 11,637 | 4,856 | -58% | 1 | 1 | 0% | 2,120 | 2,612 | +23% | 0 | 0 | — |
case-15 | pass→pass | 5,271 | 1,816 | -66% | 1 | 1 | 0% | 978 | 2,003 | +105% | 0 | 0 | — |
case-16 | pass→pass | 4,237 | 3,129 | -26% | 1 | 1 | 0% | 834 | 2,386 | +186% | 0 | 0 | — |
case-17 | pass→pass | 9,469 | 2,548 | -73% | 1 | 1 | 0% | 1,626 | 2,177 | +34% | 0 | 0 | — |
case-18 | pass→pass | 7,461 | 1,638 | -78% | 1 | 1 | 0% | 1,314 | 1,986 | +51% | 0 | 0 | — |
case-19 | pass→pass | 10,017 | 2,248 | -78% | 1 | 1 | 0% | 1,695 | 2,065 | +22% | 0 | 0 | — |
case-20 | fail→pass | 1,885 | 1,835 | -3% | 1 | 1 | 0% | 352 | 2,052 | +483% | 0 | 0 | — |
case-21 | pass→pass | 9,303 | 1,654 | -82% | 1 | 1 | 0% | 1,494 | 1,964 | +31% | 0 | 0 | — |
case-22 | pass→pass | 7,509 | 2,183 | -71% | 1 | 1 | 0% | 1,410 | 2,106 | +49% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.