Create git tags from merged PRs or version arguments
Creates annotated git tags for releases from merged PRs or version arguments.
/plugin marketplace add athola/claude-night-market/plugin install pensive@claude-night-marketCreate annotated git tags for releases. Supports multiple modes:
/create-tag v1.2.0 - Tags the most recent merged PR with the specified version/create-tag <PR-URL1> <PR-URL2> - Creates tags for each PR, inferring versions from PR content/create-tag v1.0.5 <PR-URL> - Explicit version for first, inferred for second/create-tag - Detects version from most recently merged PRClassify each argument:
v?\d+\.\d+\.\d+ pattern (e.g., v1.2.0, 1.2.0)github.com/.../pull/\d+ or #\d+ formatFor each PR (explicit or inferred):
Fetch PR details using GitHub MCP tools:
mcp__github__pull_request_read(method="get", owner, repo, pullNumber)
Extract merge commit SHA from response:
merge_commit_sha field contains the commit to tagInfer version (if not explicitly provided):
Before creating tags:
merged: true)git tag -l <version>For each version/commit pair:
# Fetch latest from remote
git fetch origin <base-branch>
# Create annotated tag
git tag -a <version> <merge_commit_sha> -m "<tag message>"
# Push tag to remote
git push origin <version>
Tag message format:
<version> - merged from PR #<number>
<PR title>
Display summary table:
| Tag | PR | Commit | Status |
|---------|------|---------|--------|
| v1.2.0 | #45 | abc1234 | OK |
| v1.3.0 | #52 | def5678 | OK |
Include links to created tags on GitHub.
/create-tag v1.2.0
/create-tag https://github.com/owner/repo/pull/45 https://github.com/owner/repo/pull/52
/create-tag v1.0.5 https://github.com/owner/repo/pull/45
/create-tag
When inferring version from a PR:
PR Title - Extract version from title patterns:
PR Body - Look for version markers:
Changed Files - Check version files in PR diff:
package.json: "version": "1.2.0"pyproject.toml: version = "1.2.0"plugin.json: "version": "1.2.0"setup.py: version="1.2.0"Branch Name - Extract from branch:
release/v1.2.0v1.2.0-releaseversion-1.2.0If no version can be inferred, prompt user to provide one.
--force to overwriteIf GitHub MCP tools are unavailable:
# Get PR info via gh CLI
gh pr view <PR-NUMBER> --json mergeCommit,merged,title
# Create tag manually
git fetch origin
git tag -a v1.2.0 <merge-commit-sha> -m "v1.2.0 - merged from PR #<number>"
git push origin v1.2.0