# tag-release

Automates cutting Git release tags based on existing project conventions. It calculates the next version, checks CI status, and tracks remote release workflows.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1700 installs
- Author: jssblck
- License: GPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/jssblck/agents/tree/HEAD/skills/tag-release/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/tag-release

## What it does

The skill inspects remote repository history to determine the right version bump, whether patch, minor, or major. It operates directly against the fetched remote HEAD ref. Because of this, dirty working directories or diverged local branches cannot pollute the release.

It detects existing repository conventions, including package prefixes, leading `v` markers, and whether tags are lightweight, annotated, or GPG-signed. If global git configurations enforce signing but the project uses unsigned tags, it applies `--no-sign` to match. The agent queries commit checks via `gh api` and waits for clean CI. Once pushed, it can generate a GitHub release and track completion through `gh run watch`.

You need both `git` and the GitHub CLI (`gh`) configured with write access to the target repository. If CI status checks fail on the release commit, the workflow stops rather than releasing broken code.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill tag-release -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/tag-release/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/tag-release/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill tag-release -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/tag-release/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill tag-release -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/tag-release/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install jssblck/agents tag-release
```

2. **Manually: put the files in place**
- File: `.github/skills/tag-release/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill tag-release -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/jssblck/agents --path skills/tag-release
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/tag-release/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add jssblck/agents --skill tag-release -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/jssblck/agents/tree/HEAD/skills/tag-release/SKILL.md

## When to use it
- determine the next semantic version without manual tag inspection
- create a matching git tag directly from the remote default branch HEAD
- verify that CI checks are passing before pushing a new release
- publish the GitHub release and monitor the pipeline until green

## Example prompts
- Cut a patch release for the default branch
- Tag the next minor version and verify that CI passes
- Prepare a major release following our repository conventions

## Similar
- [triage](https://affpapa.org/en/nevibecode/skills/triage.md) — skill · 990453 installs
- [code-review](https://affpapa.org/en/nevibecode/skills/code-review.md) — skill · 789521 installs
- [implement](https://affpapa.org/en/nevibecode/skills/implement.md) — skill · 774700 installs
- [git-guardrails-claude-code](https://affpapa.org/en/nevibecode/skills/git-guardrails-claude-code.md) — skill · 499069 installs
- [setup-pre-commit](https://affpapa.org/en/nevibecode/skills/setup-pre-commit.md) — skill · 489289 installs
- [scaffold-exercises](https://affpapa.org/en/nevibecode/skills/scaffold-exercises.md) — skill · 480196 installs

From the same set: [jssblck/agents](https://affpapa.org/en/nevibecode/by/jssblck/agents.md) — 10 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
