Skip to content
Back to skills

Ship It

ASecurity

Releases main, with or without a milestone: reads the commits and CHANGELOG `[Unreleased]` entries since the last release, proposes the next version in the last release's scheme (`0.x`, CalVer `YY.MM.MICRO` or SemVer), bumps each version file and moves the entries under the new version in one MR, then tags its merge commit, asking first unless the version came as its argument. Use when the user asks to "cut a release", "release main", "ship 26.11", "ship it" or "bump the version".

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 6, 2026
ai-agents

Works with

  • cli

Security analysis

A100/100

Scanned November 11, 2026

npx -y skills add nshopik/dream-team --skill ship-it --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ship It?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ship It
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nshopik-ship-it/badge)](https://www.skillsdirectory.com/skills/nshopik-ship-it)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ship-it
description: >-
  Releases main, with or without a milestone: reads the commits and CHANGELOG `[Unreleased]`
  entries since the last release, proposes the next version in the last release's scheme (`0.x`,
  CalVer `YY.MM.MICRO` or SemVer), bumps each version file and moves the entries under the new
  version in one MR, then tags its merge commit, asking first unless the version came as its
  argument.
  Use when the user asks to "cut a release", "release main", "ship 26.11", "ship it" or "bump the
  version".
---

# ship-it

## 1. Propose

- Last release: the newest `v*` tag on main; no tag → the last commit that changed the version
  file.
- Read the commits on main since the last release and the CHANGELOG `[Unreleased]` entries.
- Propose the next version from the last release's version, its tag or else the version file;
  the user approves it, names another version or declines:
  - No tag and no version file → `0.1.0`.
  - A `0.x` version → the next minor: `v0.4.0` → `0.5.0`.
  - A CalVer `YY.MM.MICRO` version → this month's `YY.MM`, MICRO one above the last release's in
    the same month, else 0: `v26.11.0` → `26.11.1` in November 2026, `26.12.0` in December.
  - A CalVer month has no leading zero: `27.5.0`, never `27.05.0`.
  - A SemVer version at `1.0` or above → the next minor, unless the user names a CalVer version.
- A version passed as the skill argument → that version is the release; don't wait for a reply.
- No version file or no CHANGELOG `[Unreleased]` entries → say so in the proposal; create neither.
- The project's `CLAUDE.md` or `AGENTS.md` forbids tagging → the **Tag:** line reads
  `none, <that file> forbids tagging`.
- Lay out the proposal as:

```
- **Version:** <current> → <next>
- **Commits:** <n> since <last tag or version commit>
- **CHANGELOG:** <n> `[Unreleased]` entries move under `[<next>] - <date>`
- **Tag:** `v<next>` on the MR's merge commit, <pushed | offered> once it merges
```

- Tagging not forbidden → the **Tag:** line reads `pushed` when the version came as the skill
  argument, else `offered`.

## 2. Bump

- One MR: bump each version file, rename the CHANGELOG `[Unreleased]` to `[<version>] - <date>`
  and add an empty `[Unreleased]` above it.

## 3. Tag

- `CLAUDE.md` or `AGENTS.md` forbids tagging → no tag; this wins over the two lines below.
- Once that MR merges and the version came as the skill argument → create and push a
  `v<version>` tag on its merge commit without asking.
- Once that MR merges and the version came any other way → offer a `v<version>` tag on its merge
  commit.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.