Agent skill

GreptimeDB Release Notes

by GreptimeTeam in GreptimeTeam/greptimedb

Generates a GreptimeDB release changelog with git cliff, subtracts patch PRs already shipped, rebuilds contributors and prepares the docs-repo blog PR.

Apache-2.0Auto-check passedDevelopment

Install GreptimeDB Release Notes

skills CLI
$ npx skills add GreptimeTeam/greptimedb --skill greptimedb-release-note -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GreptimeTeam/greptimedb greptimedb-release-note --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GreptimeTeam/greptimedb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/greptimedb-release-note .claude/skills/greptimedb-release-note && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
greptimedb-release-note
GitHub stars
6.7k
Token cost
~2.5k tokens
SKILL.md length
1,176 words
Files
2
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Generates a GreptimeDB release changelog with git cliff, subtracts patch PRs already shipped, rebuilds contributors and prepares the docs-repo blog PR.

  • Works in 8 steps: GitHub token (never print it) → Determine the previous version (skip… → Pick the range and generate → …
  • Writing the changelog for a new GreptimeDB minor or patch release
  • SKILL.md covers 1. GitHub token (never print it), 2. Determine the previous…, 3. Pick the range and generate and 4. Rebuild contributor…, plus 4 more sections
  • Calls git and gh; needs GITHUB_TOKEN

What it does

The agent runs git cliff with the repository's cliff.toml and the gh CLI inside a greptimedb checkout, passing a GitHub token inline from gh auth token and never printing or reading it. It finds the previous version from the formal release list, ignoring nightly, rc and beta tags, and double-checks that choice with you. A patch release uses the previous patch as its base; for a new minor release the changelog range starts at the previous minor tag, while the latest patch of the prior line is used only to decide which PRs to subtract.

Range choice depends on tag topology: minor tags are ancestors of main, whereas patch tags live on the release branch as cherry-picks and are not, which is verified with git merge-base. After generating the changelog to a file, the skill subtracts PRs already shipped in intermediate patch releases, rebuilds the contributor list with a scripted step that needs Python, adds human-curated highlights and prepares the blog PR in the docs repository.

When your agent uses it

  • Writing the changelog for a new GreptimeDB minor or patch release
  • Working out the correct git cliff range from release tags
  • Removing PRs already shipped in earlier patch releases from a minor release's notes
  • Preparing the release blog PR in the docs repository

Example prompts

  • “Generate the GreptimeDB release note for the next minor release into ./CHANGELOG-next.md.”
  • “Which previous version should the patch changelog be based on?”
  • “Rebuild the contributor list after removing the patch-release PRs.”

Requirements

  • git cliff
  • The gh CLI, authenticated
  • Python for the subtract and contributor steps
  • A greptimedb checkout

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. GitHub token (never print it)
  2. Determine the previous version (skip nightlies)
  3. Pick the range and generate
  4. Rebuild contributor sections after subtracting
  5. Verify
  6. Human-curated sections (insert after the Release date: line)
  7. Output
  8. Docs-repo blog variant + draft PR

What it can do on your machine

Read from SKILL.md and the folder at commit a8e293f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GITHUB_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

GreptimeDB Release Notes loads about 2.5k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 1,176 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from GreptimeTeam/greptimedb at commit a8e293f, republished under its Apache-2.0 licence (© GreptimeTeam). 1,176 words, ~2,453 tokens.

Download SKILL.mdSave it as .claude/skills/greptimedb-release-note/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
greptimedb-release-note
description
Generate a GreptimeDB release changelog with git cliff (correct range, subtract already-released patch PRs, rebuild contributors, add human-curated highlights), output to a file, and prepare the docs-repo blog PR. Use when asked to write/generate a GreptimeDB release note or changelog.

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-*, -rc.*, -beta.*, and build-suffixed tags; focus on formal vX.Y.Z.

  • 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). Double-check with the user.

3. Pick the range and generate

Key topology fact: a minor tag (e.g. v1.0.0) is an ancestor of main; patch tags (v1.0.1, v1.0.2) live on the release/v1.0 branch and are NOT ancestors of main (they are cherry-picks with different SHAs). Verify with git merge-base --is-ancestor <tag> <remote>/main.

New minor (X.Y.0, cut from main)

Note the two different tags here: the git cliff base is the previous minor .0 tag (e.g. v1.0.0, an ancestor of main) — not the "previous version" from §2 (the latest patch, e.g. v1.0.2), which is only used below to decide which patch PRs to subtract.

Base = the previous minor tag (e.g. v1.0.0); tip = the release commit (= release/vX.Y tip, usually <remote>/main):

GITHUB_TOKEN=$(gh auth token) git cliff <prev-minor-tag>..<release-commit> --tag vX.Y.0 \
  -o /path/CHANGELOG-vX.Y.0.md

cliff.toml's ignore_tags folds in-range nightly tags into the single section.

Then subtract PRs already shipped in the intermediate patch releases (vX.(Y-1).1, .2, …) — their main-branch commits are inside the range and would duplicate, and the audience cares about what's new vs the latest patch. Collect the PR set from the patch release bodies and remove matching lines:

gh release view vX.(Y-1).Z --repo GreptimeTeam/greptimedb | grep -oE 'pull/[0-9]+'

Remove every changelog bullet whose #NNNN is in that combined set (a small Python script is the reliable way — match pull/<n>) on lines starting with *).

Patch (X.Y.Z, Z>0, cherry-picks on the release branch)

The previous patch tag is an ancestor of the release branch, so a plain range works when the cherry-picks land as individual commits:

GITHUB_TOKEN=$(gh auth token) git cliff <prev-patch-tag>..<release-branch-tip> --tag vX.Y.Z -o ...

No extra subtraction (the branch only contains the new cherry-picks).

Common case — squashed pick commit. Patch branches are often a single squashed commit like chore: pick fixes and bump version to vX.Y.Z (#NNNN), so the plain range above yields just that one bullet. First find the picked PRs: read the squash commit message (git log -1 --format=%B <release-branch-tip>) — each * fix: ... (#NN) line is a picked PR. Then pick one of two ways to build the changelog (a patch is usually only a few PRs — ask the user which they prefer):

  • (a) Generate on main and filter — lets git cliff produce correctly formatted bullets (titles, authors, categories):
    1. Locate and order the picked PRs' commits on main chronologically:
      git log --oneline <remote>/main --grep='#NN1' --grep='#NN2' --reverse
      The first line is the oldest pick, and the last line is the newest pick.
    2. Run cliff over a main range covering all of them (base = parent of the oldest picked commit, tip = the newest), then keep only the picked #NN bullets:
      GITHUB_TOKEN=$(gh auth token) git cliff <oldest-pick>~1..<newest-pick> --tag vX.Y.Z -o /tmp/raw.md
      The raw output includes unrelated PRs in the main range that were not picked — drop them, then rebuild contributors (§4).
  • (b) Hand-write the bullets — a fine fallback for a small patch (and when the API/network is flaky). For each picked PR fetch its title + author (gh api repos/GreptimeTeam/greptimedb/pulls/<n>) and write the * <title> by [@user] in [#NN](...) lines plus the contributor list yourself.

If the branch history is otherwise messy, the same "identify the picked PRs and keep only those" rule applies.

Flaky-network note for (a): git cliff fetches the repo's full commit history from the GitHub API for author enrichment (paginates back thousands of commits, even for a tiny range). On a flaky connection it can time out mid-pagination; it caches pages, so just re-run until it completes — each retry resumes from the cache. If it keeps failing, fall back to (b).

Show full SKILL.md (526 more words)Show less

4. Rebuild contributor sections after subtracting

cliff computes New Contributors / All Contributors over the full range, so after removing lines, recompute from the remaining commit bullets:

  • All Contributors = sorted set of @user from remaining * ... by [@user] ... in [#NN] lines (drop bots like dependabot[bot]).
  • New Contributors = drop any entry whose first-contribution PR was removed (their only in-range PR shipped in a patch). Do this in the same script that subtracts the PRs.

5. Verify

Cross-check the result against git log <base>..<tip>: no subtracted PR remains, and no genuine new PR was dropped. Optionally drop the mechanical chore: bump version to vX.Y.Z line (ask the user; some prefer to keep it).

6. Human-curated sections (insert after the Release date: line)

Mirror past release bodies (gh release view v1.0.0 --repo GreptimeTeam/greptimedb):

  • Short intro, terse, engineer-written tone (no marketing adjectives).
  • ### 👍 Highlights — few, deep highlights, each with a working example (SQL / TOML config). To get examples right, read the highlight PR and the related docs PR/page in the docs repo (GreptimeTeam/docs, often checked out locally) — verify syntax in docs/reference/sql/*.md, config/*.example.toml, config/config.md. Do not mention implementation details, tiny features, or unfinished/experimental-but-not-ready features. Always have the user review and edit the highlights; iterate.
  • Dashboard subsection — don't just bump the version. Read the dashboard PRs in the bundled release (gh release view <ver> --repo GreptimeTeam/dashboard; then the linked PRs) and describe the user-facing change.

7. Output

Write to CHANGELOG-vX.Y.Z.md (title # vX.Y.Z, which --tag produces) and do not commit it. The release runbook deletes it after the release + docs PR are done.

8. Docs-repo blog variant + draft PR

The release note is also published as a blog post in GreptimeTeam/docs.

  • Ask the user for their local GreptimeTeam/docs checkout path; if they have none, offer to clone (git clone git@github.com:GreptimeTeam/docs.git <path>).
  • File: blog/release-X-Y-Z.md (version with dashes; see blog/release-1-0-0.md).
  • Content = docs frontmatter (below) followed by the GitHub release body, keeping the # vX.Y.Z H1 directly under the frontmatter. The blog frontmatter has no title:, so Docusaurus uses that H1 as the page title and sidebar label — omitting it makes the page render as the filename (e.g. release-1-1-0 instead of v1.1.0). Match the shape of blog/release-1-0-0.md:
    ---
    keywords: [release, GreptimeDB, changelog, vX.Y.Z]
    description: GreptimeDB vX.Y.Z Changelog
    date: YYYY-MM-DD
    ---
    
    # vX.Y.Z
    
    Release date: ...
  • The docs working tree may have unrelated WIP — don't disturb it: use a git worktree off origin/main:
    git -C <docs> fetch origin main
    git -C <docs> worktree add -b chore/X.Y.Z-release-note /tmp/docs-release-note origin/main
  • Read and follow the current docs repo PR template (.github/pull_request_template.md) from the checkout used for the release. Fill in every required section and leave reviewer-owned checklist boxes unchecked; do not rely on hard-coded section names from an older template.
  • Commit with sign-off, push, open a draft PR, then remove the worktree:
    git -C /tmp/docs-release-note add blog/release-X-Y-Z.md
    git -C /tmp/docs-release-note commit -s -m "docs: add X.Y.Z release note"
    git -C /tmp/docs-release-note push -u origin chore/X.Y.Z-release-note
    gh pr create --draft --repo GreptimeTeam/docs --base main --head chore/X.Y.Z-release-note \
      --title "docs: add X.Y.Z release note" --body-file <template-filled body>
    git -C <docs> worktree remove /tmp/docs-release-note
  • Gotcha: gh pr edit/create may fail with an org-scope error if the token lacks read:org. Edit the body via REST instead: gh api repos/GreptimeTeam/docs/pulls/<n> -X PATCH -F body=@body.md.

© GreptimeTeam, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/greptimedb-release-note of GreptimeTeam/greptimedb.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit a8e293f

Compare with similar skills

GreptimeDB Release Notes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

GreptimeDB Release Notes compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
GreptimeDB Release Notes this skillGreptimeTeam/greptimedb6.7k—~2.5kAutomated safety check: PassApache-2.0
Release Bumpjamiepine/voicebox57k—~1.1kAutomated safety check: PassMIT
Go-Redis Release Preparationredis/go-redis22k—~1.1kAutomated safety check: PassBSD-2-Clause
Hunk Release Workflowmodem-dev/hunk9.6k—~3.8kAutomated safety check: PassMIT
Worktrunk Release Workflowmax-sixty/worktrunk9.2k—~6.9kAutomated safety check: PassCustom licence
pybind11 Release Publicationpybind/pybind1118k—~2.5kAutomated safety check: PassCustom licence

Similar skills

  • Release Bump

    jamiepine/voicebox

    Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.

    57k GitHub stars~1.1k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Official

    Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.

    22k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Hunk Release Workflow

    modem-dev/hunk

    Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.

    9.6k GitHub stars~3.8k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Worktrunk Release Workflow

    max-sixty/worktrunk

    Walks a maintainer through cutting a Worktrunk release: sync the release branch, pass two test gates, review the changes, then publish.

    9.2k GitHub stars~6.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Walks a maintainer through publishing a pybind11 release after the preparation PR merges, with preflight checks, confirmations before each push and a GitHub release.

    18k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Obot Release Notes Drafter

    obot-platform/obot

    Drafts release notes for an upcoming Obot minor release and saves them as an unpublished GitHub draft release, never tagging or publishing.

    1.1k GitHub stars~4.5k tokensUpdated today
    DevelopmentAuto-check passed

More from GreptimeTeam/greptimedb

  • GreptimeDB Dev Docker Image

    GreptimeTeam/greptimedb

    Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.

    6.7k GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Diagnoses a failed GreptimeDB fuzz CI job by pulling its GitHub Actions logs and fuzz artifacts, then matching the evidence to the local source code.

    6.7k GitHub stars~4.4k tokensUpdated today
    Auto-check passed
  • GreptimeDB Release Runbook

    GreptimeTeam/greptimedb

    Runbook for publishing a GreptimeDB version: pick the release branch, verify the Cargo version, then tag, create the GitHub release and open the docs note PR.

    6.7k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about GreptimeDB Release Notes

What does GreptimeDB Release Notes do?

Generates a GreptimeDB release changelog with git cliff, subtracts patch PRs already shipped, rebuilds contributors and prepares the docs-repo blog PR. toml and the gh CLI inside a greptimedb checkout, passing a GitHub token inline from gh auth token and never printing or reading it. It finds the previous version from the formal release list, ignoring nightly, rc and beta tags, and double-checks that choice with you.

When should I use GreptimeDB Release Notes?

GreptimeDB Release Notes fits situations like: writing the changelog for a new GreptimeDB minor or patch release; working out the correct git cliff range from release tags; removing PRs already shipped in earlier patch releases from a minor release's notes; preparing the release blog PR in the docs repository.

How do I install GreptimeDB Release Notes in Claude Code?

Run `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release-note -a claude-code`. Or copy the skill folder (.agents/skills/greptimedb-release-note in GreptimeTeam/greptimedb) into .claude/skills/greptimedb-release-note in your project. Claude Code loads it when a task matches its description.

How do I install GreptimeDB Release Notes in Codex?

Run `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release-note -a codex`. Or copy the skill folder (.agents/skills/greptimedb-release-note in GreptimeTeam/greptimedb) into .agents/skills/greptimedb-release-note in your project. Codex loads it when a task matches its description.

Can I use GreptimeDB Release Notes in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release-note -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/greptimedb-release-note, .gemini/skills/greptimedb-release-note, .github/skills/greptimedb-release-note and .opencode/skills/greptimedb-release-note in your project.

What does GreptimeDB Release Notes need to run?

Going by SKILL.md and its folder, GreptimeDB Release Notes needs the command-line tools its instructions call (git and gh) and credentials named GITHUB_TOKEN. Our summary lists: git cliff; The gh CLI, authenticated; Python for the subtract and contributor steps; A greptimedb checkout.

Does GreptimeDB Release Notes access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is GreptimeDB Release Notes safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does GreptimeDB Release Notes use?

GreptimeDB Release Notes is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does GreptimeDB Release Notes use?

About 2.5k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to GreptimeDB Release Notes?

Skills that share tags, products or a category with GreptimeDB Release Notes: Release Bump (jamiepine/voicebox, 57k stars), Go-Redis Release Preparation (redis/go-redis, 22k stars), Hunk Release Workflow (modem-dev/hunk, 9.6k stars) and Worktrunk Release Workflow (max-sixty/worktrunk, 9.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains GreptimeDB Release Notes?

GreptimeTeam (a GitHub organization) maintains it in GreptimeTeam/greptimedb, which has 6,727 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 10, 2026.

Source: GreptimeTeam/greptimedb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.