mcpbeat

Create New Release

clickhouse/create-new-release

Create and push a new semver release tag. Asks for release type (patch/minor/major), validates commit exists on remote, bumps version, and pushes the tag.

489 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
119
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/ClickHouse/pg_stat_ch --skill create-new-release

The instruction itself

4 sections, as written by the author

Create New Release

Create and push a new semantic version release tag.

Steps

  • Ask release type: Use AskUserQuestion to ask if this is a patch, minor, or major release.
  • Fetch latest tags from remote:
   git fetch --tags origin
  • Get the latest semver tag (assumes v prefix like v1.2.3):
   git tag --sort=-version:refname -l 'v*' | head -1
  • Parse and bump version based on user selection:
  • patch: v1.2.3v1.2.4
  • minor: v1.2.3v1.3.0
  • major: v1.2.3v2.0.0
  • Verify META.json version matches the new tag:

Read META.json and check that both version and provides.pg_stat_ch.version match the new version (without the v prefix). If they don't match, abort and tell the user to update META.json first — PGXN uses this file for the release version.

  • Validate current commit exists on remote:
   git fetch origin
   git branch -r --contains HEAD

If no remote branch contains HEAD, abort with an error asking the user to push their commits first.

  • Create and push the tag:
   git tag -a <new_version> -m "Release <new_version>"
   git push origin <new_version>
  • Report success with the new tag name.

Version Parsing

Parse version from tag like v1.2.3:

  • Extract numbers after v prefix
  • Split by . to get major, minor, patch components
  • Handle edge case: if no tags exist, start at v0.1.0

Error Handling

  • If current commit is not on remote: "Current commit is not pushed to remote. Please push your changes first."
  • If tag already exists: "Tag already exists. Please check existing tags."
  • If git operations fail: Report the specific error.

How to use it

Copy the folder

Take clickhouse/create-new-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.