mcpbeat

Git Release

wesammustafa/git-release

Draft release notes from merged PRs, propose a semver bump, and emit a copy-pasteable `gh release create` command. Use when preparing a tagged GitHub release.

410 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
358
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/wesammustafa/opencode-primer --skill git-release

The instruction itself

4 sections, as written by the author

What I do

  • Read recent merged PRs since the last tag and group them:
  • Features (feat: commits)
  • Fixes (fix:)
  • Other (refactor:, perf:, docs:, chore:, …)
  • Propose a semver bump based on the diff:
  • Major if any breaking changes (look for BREAKING CHANGE: footers or !: markers)
  • Minor if any features
  • Patch otherwise
  • Emit a clean release-notes draft in Keep-a-Changelog format.
  • Print a ready-to-run command:
gh release create v<version> --title "<title>" --notes-file release-notes.md

When to use me

When the user is preparing a tagged release. Triggers include:

  • "draft release notes"
  • "prepare a release"
  • "what's in v1.X.Y?"

Ask the user to confirm the proposed version bump before running anything destructive (tag creation, release publish).

What I need from the repo

  • gh CLI must be authenticated.
  • The repo should have at least one prior tag — if not, propose v0.1.0.
  • Conventional-commit messages are ideal but not required; without them, I'll group by PR labels or fall back to plain summaries.

What I won't do

  • Push tags or publish releases without explicit confirmation.
  • Edit the working tree.
  • Generate fictional changelog entries — if a PR is unclear, I quote the original PR title verbatim and flag it for review.

How to use it

Copy the folder

Take wesammustafa/git-release from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.