Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
npx skills add kasperjunge/agent-resources-legacy --skill "release"
Install specific skill from multi-skill repository
# Description
Generate release notes from git history. Use when preparing a release, creating a GitHub release, or when the user says "release", "/release", "release notes", or asks for help documenting what changed between versions. Analyzes commits since the last tag and produces categorized, human-readable release notes.
# SKILL.md
name: release
description: Generate release notes from git history. Use when preparing a release, creating a GitHub release, or when the user says "release", "/release", "release notes", or asks for help documenting what changed between versions. Analyzes commits since the last tag and produces categorized, human-readable release notes.
Release Notes Generator
Generate release notes that users actually want to read.
Workflow
- Find the last release (tag)
- Gather commits since then
- Categorize changes
- Generate formatted release notes
Step 1: Find Last Release
# Get the most recent tag
git describe --tags --abbrev=0
# List recent tags
git tag --sort=-version:refname | head -5
# If no tags, use first commit
git rev-list --max-parents=0 HEAD
Step 2: Gather Commits
# Commits since last tag (replace v1.0.0 with actual tag)
git log v1.0.0..HEAD --oneline
# With full messages
git log v1.0.0..HEAD --format="%h %s%n%b---"
# With file changes
git log v1.0.0..HEAD --stat --oneline
Step 3: Categorize Changes
Analyze each commit and categorize:
| Category | Prefix/Keywords | Example |
|---|---|---|
| β¨ Features | feat, add, new |
New dark mode |
| π Bug Fixes | fix, bug, patch |
Fix login crash |
| π§ Improvements | improve, update, enhance |
Faster startup |
| π₯ Breaking | BREAKING, !: |
API renamed |
| π¦ Dependencies | deps, bump, upgrade |
Update React 19 |
| π Docs | docs, readme |
Update API docs |
| π§ͺ Tests | test |
Add unit tests |
Use conventional commit prefixes when available. Otherwise, infer from commit message content.
Step 4: Generate Release Notes
Use this template:
# v2.0.0 (YYYY-MM-DD)
[Optional: One paragraph summary of the release theme/highlights]
## β¨ New Features
- Add dark mode support (#123)
- New export to PDF functionality (#145)
- Implement user preferences panel
## π Bug Fixes
- Fix memory leak in data processing (#134)
- Resolve race condition in auth flow (#156)
- Fix incorrect timezone handling in reports
## π§ Improvements
- 40% faster startup time
- Reduced bundle size by 15%
- Better error messages for API failures
## π₯ Breaking Changes
- `oldMethod()` has been renamed to `newMethod()`
- Minimum Node.js version is now 18
- Config file format changed (see migration guide)
## π¦ Dependencies
- Upgraded React from 18.2 to 19.0
- Removed deprecated `moment` in favor of `date-fns`
- Added `zod` for schema validation
## π Contributors
Thanks to @contributor1, @contributor2 for their contributions!
---
**Full Changelog**: https://github.com/user/repo/compare/v1.0.0...v2.0.0
<sub>π Release notes generated with [agent-resources](https://github.com/kasperjunge/agent-resources) β’ `uvx add-skill kasperjunge/release`</sub>
Formatting Guidelines
Version Number
- Use semantic versioning (vX.Y.Z)
- Major: breaking changes
- Minor: new features
- Patch: bug fixes
Each Entry
- Start with action verb (Add, Fix, Improve, Remove)
- Include PR/issue number if available
- Be specific but concise
Breaking Changes
- Always highlight prominently
- Include migration steps or link to guide
- Explain what users need to do
Handling Edge Cases
No conventional commits: Infer category from message content and changed files
Large releases: Add a "Highlights" section at top with 3-5 key changes
Security fixes: Always mention prominently, consider separate section
Contributors: Extract from commit authors, mention significant contributors
Quick Commands
# Generate contributor list
git log v1.0.0..HEAD --format="%an" | sort -u
# Count commits by type (if using conventional commits)
git log v1.0.0..HEAD --oneline | grep -c "^[a-f0-9]* feat"
# Get PR numbers from commit messages
git log v1.0.0..HEAD --oneline | grep -oE "#[0-9]+"
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.