release-notes

Generate release notes and changelogs from git ranges using repo generators or templates.

Updated Nov 25, 2024
One-click install
npx skills add https://github.com/cbrostrom/dotfiles --skill release-notes-cbrostrom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: release-notes
Source: https://github.com/cbrostrom/dotfiles/tree/main/stow/agents/.agents/skills/release-notes
Command: npx skills add https://github.com/cbrostrom/dotfiles --skill release-notes-cbrostrom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing release notes by hand means digging through git history, classifying commits, and rewriting them into user-facing language. This Skill automates that workflow by delegating to a repo's own generator script when one exists, or falling back to git-range analysis with templates. ## Core Features & Use Cases - Repo generator delegation: When build/scripts/generate-release-notes.ts exists, it runs npm run release:notes with flags mapped from user intent (tag, explicit range, or since last release) instead of re-parsing git history. - Generic git-range fallback: For repos without a generator, it classifies commits by conventional-commit prefixes and formats them with github.md, slack.md, or changelog.md templates. - Use Case: After tagging v1.47.1, ask for the release notes and get a ready-to-review draft file built from the last tag range, without manually scanning git log. ## Quick Start Ask the assistant to generate release notes for the current repository since the last tag and show the draft before publishing.

Frequently Asked Questions about release-notes

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate release notes from git history?▼

Run the repo's generator with `npm run release:notes` when `build/scripts/generate-release-notes.ts` exists, mapping your intent to flags like `--tag` or `--from/--to`. Otherwise the Skill classifies `git log <range> --oneline --no-merges` output by conventional-commit prefix and formats it with a template.

How to create a changelog for a specific version tag?▼

Use `npm run release:notes -- --tag=v1.47.1` in repos with the generator script, or specify an explicit range like `v1.47.0..v1.47.1` for the generic git-log path. The draft is always shown before anything is committed or published.

Does this work in repos without a release notes generator script?▼

Yes. A generic fallback path uses git ranges and conventional-commit prefixes with templates from `~/dotfiles/scripts/release-notes/templates/` (github.md, slack.md, changelog.md). Chore, ci, and build commits are skipped unless you ask to show all.

Can it look up Jira tickets for release note items?▼

Ticket keys are never guessed via Jira title matching. The Skill treats git tag ranges as the source of truth and GitHub or Jira data as enrichment only, avoiding false attribution in client-facing notes.

Will it publish releases or post to Slack automatically?▼

No. It never pushes tags, creates GitHub releases, or posts to Slack unless you explicitly say to do it. The draft is always shown first for review.