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.
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.
$ npx skills add GreptimeTeam/greptimedb --skill greptimedb-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GreptimeTeam/greptimedb greptimedb-release --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/GreptimeTeam/greptimedb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/greptimedb-release .claude/skills/greptimedb-release && rm -rf skills-srcUse ~/.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/
Install the "greptimedb-release" agent skill from https://github.com/GreptimeTeam/greptimedb/tree/main/.agents/skills/greptimedb-release into .claude/skills/greptimedb-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "greptimedb-release", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/GreptimeTeam/greptimedb/tree/main/.agents/skills/greptimedb-releaseType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add GreptimeTeam/greptimedb --skill greptimedb-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GreptimeTeam/greptimedb greptimedb-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GreptimeTeam/greptimedb.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/greptimedb-release .agents/skills/greptimedb-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "greptimedb-release" agent skill from https://github.com/GreptimeTeam/greptimedb/tree/main/.agents/skills/greptimedb-release into .agents/skills/greptimedb-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "greptimedb-release", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GreptimeTeam/greptimedb --skill greptimedb-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GreptimeTeam/greptimedb greptimedb-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GreptimeTeam/greptimedb.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/greptimedb-release .cursor/skills/greptimedb-release && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "greptimedb-release" agent skill from https://github.com/GreptimeTeam/greptimedb/tree/main/.agents/skills/greptimedb-release into .cursor/skills/greptimedb-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "greptimedb-release", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/GreptimeTeam/greptimedb.git --path .agents/skills/greptimedb-release--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add GreptimeTeam/greptimedb --skill greptimedb-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GreptimeTeam/greptimedb greptimedb-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GreptimeTeam/greptimedb.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/greptimedb-release .gemini/skills/greptimedb-release && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "greptimedb-release" agent skill from https://github.com/GreptimeTeam/greptimedb/tree/main/.agents/skills/greptimedb-release into .gemini/skills/greptimedb-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "greptimedb-release", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install GreptimeTeam/greptimedb greptimedb-releaseInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add GreptimeTeam/greptimedb --skill greptimedb-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GreptimeTeam/greptimedb.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/greptimedb-release .github/skills/greptimedb-release && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "greptimedb-release" agent skill from https://github.com/GreptimeTeam/greptimedb/tree/main/.agents/skills/greptimedb-release into .github/skills/greptimedb-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "greptimedb-release", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GreptimeTeam/greptimedb --skill greptimedb-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GreptimeTeam/greptimedb greptimedb-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GreptimeTeam/greptimedb.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/greptimedb-release .opencode/skills/greptimedb-release && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "greptimedb-release" agent skill from https://github.com/GreptimeTeam/greptimedb/tree/main/.agents/skills/greptimedb-release into .opencode/skills/greptimedb-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "greptimedb-release", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
greptimedb-releaseRunbook 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.
Every step runs against the `GreptimeTeam/greptimedb` repository, and the agent asks you for the version and, if needed, the branch. The branch follows from the version: for example v1.1.0 lives on `release/v1.1`, a new minor or major is cut from `main` (with an offer to create the release branch, with your consent), and a patch release uses the existing release branch that carries cherry-picked commits.
Before anything is published, the workspace version in `Cargo.toml` on the release branch must match the version being released, read from a freshly fetched `FETCH_HEAD` rather than a possibly stale remote-tracking ref. Creating the release creates the tag and starts CI, so the agent confirms with you before that outward-facing step. Changelog writing is delegated to the separate `greptimedb-release-note` skill.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 28ec3ff. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
GreptimeDB Release Runbook loads about 1.4k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 630 words of instructions outside code blocks.
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.
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.
The full file from GreptimeTeam/greptimedb at commit 28ec3ff, republished under its Apache-2.0 licence (© GreptimeTeam). 630 words, ~1,439 tokens.
.claude/skills/greptimedb-release/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Publish a formal GreptimeDB release on GreptimeTeam/greptimedb. Always operate against
that repo (for gh, pass --repo GreptimeTeam/greptimedb). Changelog generation is a
separate, involved task — use the greptimedb-release-note skill for it.
This whole flow touches public infrastructure. Confirm with the user before the outward-facing step (creating the release, which creates the tag and triggers CI).
gh (check with gh auth status) and git. Changelog generation additionally
needs git cliff and Python — see the greptimedb-release-note skill.<remote> for the git remote pointing
at GreptimeTeam/greptimedb; substitute your actual name (often upstream, sometimes
origin on a direct clone):git remote -v | grep -i 'GreptimeTeam/greptimedb' | awk '{print $1}' | head -11.1.0, 1.0.3) and, if needed, the
branch.MAJOR.MINOR → release/v<MAJOR>.<MINOR>.v1.0.0 / v1.0.1 / v1.0.2 live on release/v1.0; v1.1.0 lives on release/v1.1.X.Y.0) is cut from main. If release/vX.Y does not exist on
the remote, offer to create it from the intended main commit (with the user's consent):
git push <remote> <commit>:refs/heads/release/vX.Y.X.Y.Z, Z>0) must use the existing release/vX.Y branch (it carries
cherry-picked commits).git ls-remote --heads <remote> 'release/*'.The workspace version on the release branch must equal the version being released, or
stop. Fetch the branch first, then read FETCH_HEAD directly — git fetch <remote> release/vX.Y only opportunistically updates the remote-tracking ref
<remote>/release/vX.Y (and only when the remote has a matching configured refspec), so it
may be missing or stale (e.g. a custom <remote>, or a branch just created in §0). Reading
FETCH_HEAD always reflects the tip just fetched:
git fetch <remote> release/vX.Y
git show FETCH_HEAD:Cargo.toml | grep -A30 '\[workspace.package\]' | grep -m1 version(For a fresh minor cut from main, <remote>/main and release/vX.Y are usually the same
commit.)
Use the greptimedb-release-note skill. It produces CHANGELOG-vX.Y.Z.md (uncommitted)
and the docs-blog variant. Review the highlights with the user and iterate before
publishing.
Do NOT pre-create the tag. Creating the release creates the tag and fires the
tag-push CI (.github/workflows/release.yml) that builds all binaries (~hours).
Confirm with the user, then:
gh release create vX.Y.Z \
--repo GreptimeTeam/greptimedb \
--target release/vX.Y \
--title "Release vX.Y.Z" \
--notes-file CHANGELOG-vX.Y.Z.md \
--prereleaseRelease vX.Y.Z.--prerelease: prerelease here is just a "build in progress" marker.
The CI clears it on success (see §5). (The user creating it on the web works too.)gh release view vX.Y.Z --repo GreptimeTeam/greptimedb --json name,tagName,isPrerelease,draft,targetCommitish.Right after triggering the release, open the docs draft PR (see the docs section of the
greptimedb-release-note skill). It only needs the finalized changelog.
Then delete the local CHANGELOG-vX.Y.Z.md (its content now lives in the release body
and the docs blog post).
CI's publish-github-release action, for a tag matching ^vX.Y.Z$, runs
ncipollo/release-action with allowUpdates: true, prerelease=false,
makeLatest=true, omitBody=true (so it keeps our changelog body but finalizes the
flags). These flags are described from the current .github/workflows/release.yml —
verify against the workflow if behavior differs. Verify success:
gh release view vX.Y.Z --repo GreptimeTeam/greptimedb --json isPrerelease,assetsLatest handling is conditional on whether this is the newest version:
v1.0.3 while v1.1.0 is already latest) →
set it back to non-latest after CI finishes:
gh release edit vX.Y.Z --repo GreptimeTeam/greptimedb --latest=false.Show the user exactly what will be removed first; never delete blindly.
gh release delete vX.Y.Z --repo GreptimeTeam/greptimedb # remove the release
git push <remote> :refs/tags/vX.Y.Z # remove the tag<remote> is whatever points at GreptimeTeam/greptimedb (see Prerequisites).
gh defaults can be unreliable in a repo with many remotes — always pass
--repo GreptimeTeam/greptimedb.Release vX.Y.Z.*-nightly-*, vX.Y.Z-rc.N-<sha>-<date>-*).© 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
SKILL.md and 1 other file in .agents/skills/greptimedb-release of GreptimeTeam/greptimedb.
Open the folder on GitHubat commit 28ec3ff
GreptimeDB Release Runbook 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| GreptimeDB Release Runbook this skillGreptimeTeam/greptimedb | 6.7k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Hunk Release Workflowmodem-dev/hunk | 9.6k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Worktrunk Release Workflowmax-sixty/worktrunk | 9.2k | — | ~7.5k | Automated safety check: Pass | Custom licence | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| ClawRouter Release ChecklistBlockRunAI/ClawRouter | 6.6k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Release PreparationCherryHQ/cherry-studio | 53k | — | ~4.3k | Automated safety check: Pass | AGPL-3.0 |
modem-dev/hunk
Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.
max-sixty/worktrunk
Walks a maintainer through cutting a Worktrunk release: sync the release branch, pass two test gates, review the changes, then publish.
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
BlockRunAI/ClawRouter
Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.
CherryHQ/cherry-studio
Prepares a Cherry Studio release by resolving the version, collecting commits, writing bilingual release notes, updating version files and creating a release branch.
zyycn/codex-proxy-rs
Plans versions, writes release notes, publishes stable or pre-release builds and recovers from failed releases for Codex Proxy RS, without covering deploys or tag cleanup.
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.
GreptimeTeam/greptimedb
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.
GreptimeTeam/greptimedb
Generates a GreptimeDB release changelog with git cliff, subtracts patch PRs already shipped, rebuilds contributors and prepares the docs-repo blog PR.
Categories
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. Every step runs against the `GreptimeTeam/greptimedb` repository, and the agent asks you for the version and, if needed, the branch.1`, a new minor or major is cut from `main` (with an offer to create the release branch, with your consent), and a patch release uses the existing release branch that carries cherry-picked commits.
GreptimeDB Release Runbook fits situations like: publishing a new GreptimeDB minor or major release; cutting a patch release from an existing release branch; checking that the Cargo version matches before tagging.
Run `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release -a claude-code`. Or copy the skill folder (.agents/skills/greptimedb-release in GreptimeTeam/greptimedb) into .claude/skills/greptimedb-release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GreptimeTeam/greptimedb --skill greptimedb-release -a codex`. Or copy the skill folder (.agents/skills/greptimedb-release in GreptimeTeam/greptimedb) into .agents/skills/greptimedb-release in your project. Codex loads it when a task matches its description.
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 -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, .gemini/skills/greptimedb-release, .github/skills/greptimedb-release and .opencode/skills/greptimedb-release in your project.
Going by SKILL.md and its folder, GreptimeDB Release Runbook needs the command-line tools its instructions call (git and gh). Our summary lists: GitHub CLI `gh`, authenticated; `git`; `git cliff` and Python, for changelog generation through the release-note skill.
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.
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.
GreptimeDB Release Runbook 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.
About 1.4k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with GreptimeDB Release Runbook: Hunk Release Workflow (modem-dev/hunk, 9.6k stars), Worktrunk Release Workflow (max-sixty/worktrunk, 9.2k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars) and ClawRouter Release Checklist (BlockRunAI/ClawRouter, 6.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GreptimeTeam (a GitHub organization) maintains it in GreptimeTeam/greptimedb, which has 6,729 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.