# Greptimedb Release Note

Generate a GreptimeDB release changelog (minor, patch, or alpha/beta/rc pre-release)...

- Repository: https://github.com/GreptimeTeam/greptimedb (6778 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release-note -g -a claude-code -y`
Codex: `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release-note -g -a codex -y`
Cursor: `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release-note -g -a cursor -y`
Gemini CLI: `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release-note -g -a gemini-cli -y`

## Description

Generate a GreptimeDB release changelog (minor, patch, or alpha/beta/rc pre-release) with git cliff (correct range, subtract already-released patch PRs, rebuild contributors, add human-curated highlights and upgrade notes), output to a file, and prepare the docs-repo blog PR. Use when asked to write/generate a GreptimeDB release note or changelog.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# GreptimeDB Release Note / Changelog

Generate the changelog for a GreptimeDB release. Tooling: **`git cliff`** (config:
`cliff.toml` in the greptimedb repo) and **`gh`**. Run inside the greptimedb checkout.

**Prerequisites:** `git cliff`, `gh` (check `gh auth status`), and **Python** (the
subtract-PRs / rebuild-contributors step in §3, §4 is scripted). This skill writes
`<remote>` for the git remote pointing at `GreptimeTeam/greptimedb` (often `upstream`,
sometimes `origin`); resolve it with
`git remote -v | grep -i 'GreptimeTeam/greptimedb' | awk '{print $1}' | head -1`.

## 1. GitHub token (never print it)

`git cliff` enriches commits with PR titles/authors via the GitHub API; for hundreds of
commits you need a token or you hit rate limits. Pass it inline and **never read or echo the
token**:
```
GITHUB_TOKEN=$(gh auth token) git cliff ...
```
Alternatively the user sources an env file that exports `GITHUB_TOKEN` (don't read it). Without
a token it still runs, but may be rate-limited / incomplete.

## 2. Determine the previous version (skip nightlies)

From `gh release list --repo GreptimeTeam/greptimedb`, ignore `*-nightly-*` and build-suffixed
tags (e.g. `v1.3.0-alpha.1-3c0e2a8d5-20260928-1790639248`).
- Patch `vX.Y.Z` (Z>0): previous = `vX.Y.(Z-1)`.
- New minor `vX.Y.0`: previous = the latest `vX.(Y-1).*` (for `v1.0.0`, the biggest `0.x`).
- Pre-release `vX.Y.Z-{alpha,beta,rc}.N`: previous = the latest pre-release tag of the same
  `vX.Y.Z` (e.g. `v1.3.0-beta.1` for `v1.3.0-beta.2`). If there is none (the first alpha),
  see "First pre-release" in §3: the previous minor's `.0` may not be published yet, and since
  v1.2 a `.0` tag sits on `release/vX.Y`, not on `main`.
Double-check with the user.

## 3. Pick the range and generate

The rest: https://github.com/GreptimeTeam/greptimedb/blob/HEAD/.agents/skills/greptimedb-release-note/SKILL.md
