claudegoodies
Skill

prepare-release

From CherryHQ

Prepare a new release by collecting commits, generating bilingual release notes, updating version files, and creating a release branch with PR. Use when asked to prepare/create a release, bump version, or run `/prepare-release`.

Facts

Status
Actively maintained
Last commit

Source preview

The instructions Claude Code reads when this skill runs.

# Prepare Release

Automate the Cherry Studio release workflow: collect changes → generate bilingual release notes → update files → create release branch + PR → trigger CI/CD.

## Arguments

Parse the version intent from the user's message. Accept any of these forms:
- Bump type keyword: `patch`, `minor`, `major`
- Exact version: `x.y.z` or `x.y.z-pre.N` (e.g. `1.8.0`, `1.8.0-beta.1`, `1.8.0-rc.1`)
- Natural language: "prepare a beta release", "bump to 1.8.0-rc.2", etc.

Defaults to `patch` if no version is specified. Always echo the resolved target version back to the user before proceeding with any file edits.

- `--dry-run`: Preview only, do not create branch or PR.

## Workflow

### Step 1: Determine Version

1. Get the latest tag:
   ```bash
   git describe --tags --abbrev=0
   ```
2. Read current version from `package.json`.
3. Compute the new version based on the argument:
   - `patch` / `minor` / `major`: bump from the current tag version.
   - `x.y.z` or `x.y.z-pre.N`: use as-is after validating it is valid semver.

### Step 2: Collect Commits

1. List all commits since the last tag:
   ```bash
   git log <last-tag>..HEAD --format="%H %s" --no-merges
   ```
2. For each commit, get the full body:
   ```bash
   git log <hash> -1 --format="%B"
   ```
3. Extract the content inside `` ```release-note `` code blocks from each commit body.
4. Extract the conventional commit t
View full source on GitHub →

Other skills