Clickhouse Architecture Advisor
vemetric/vemetric
MUST USE when designing ClickHouse architectures, selecting between ingestion or modeling patterns, or translating best practices into workload-specific system designs.
Check whether ClickHouse's supported versions (last 3 majors + latest LTS) have recent stable patch releases, diagnose why the scheduled AutoReleases pipeline failed, and identify which releases…
$ npx skills add ClickHouse/ClickHouse --skill patch-release-check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ClickHouse/ClickHouse patch-release-check --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/ClickHouse/ClickHouse.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/patch-release-check .claude/skills/patch-release-check && 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 "patch-release-check" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/patch-release-check into .claude/skills/patch-release-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-release-check", 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/ClickHouse/ClickHouse/tree/master/.claude/skills/patch-release-checkType 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 ClickHouse/ClickHouse --skill patch-release-check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ClickHouse/ClickHouse patch-release-check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ClickHouse/ClickHouse.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/patch-release-check .agents/skills/patch-release-check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "patch-release-check" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/patch-release-check into .agents/skills/patch-release-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-release-check", 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 ClickHouse/ClickHouse --skill patch-release-check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ClickHouse/ClickHouse patch-release-check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ClickHouse/ClickHouse.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/patch-release-check .cursor/skills/patch-release-check && 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 "patch-release-check" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/patch-release-check into .cursor/skills/patch-release-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-release-check", 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/ClickHouse/ClickHouse.git --path .claude/skills/patch-release-check--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 ClickHouse/ClickHouse --skill patch-release-check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ClickHouse/ClickHouse patch-release-check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ClickHouse/ClickHouse.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/patch-release-check .gemini/skills/patch-release-check && 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 "patch-release-check" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/patch-release-check into .gemini/skills/patch-release-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-release-check", 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 ClickHouse/ClickHouse patch-release-checkInstalls 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 ClickHouse/ClickHouse --skill patch-release-check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ClickHouse/ClickHouse.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/patch-release-check .github/skills/patch-release-check && 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 "patch-release-check" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/patch-release-check into .github/skills/patch-release-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-release-check", 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 ClickHouse/ClickHouse --skill patch-release-check -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ClickHouse/ClickHouse patch-release-check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ClickHouse/ClickHouse.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/patch-release-check .opencode/skills/patch-release-check && 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 "patch-release-check" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/patch-release-check into .opencode/skills/patch-release-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "patch-release-check", 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.
patch-release-checkCheck whether ClickHouse's supported versions (last 3 majors + latest LTS) have recent stable patch releases, diagnose why the scheduled AutoReleases pipeline failed, and identify which releases…
Patch Release Check is an agent skill from ClickHouse/ClickHouse. Check whether ClickHouse's supported versions (last 3 majors + latest LTS) have recent stable patch releases, diagnose why the scheduled AutoReleases pipeline failed, and identify which releases must be created manually. Use when asked "are the patch releases up to date", "why did autorelease fail", "which releases are missing", "did a release get skipped", during the bi-weekly release-health check, or when investigating createrelease.yml / autoreleases.yml failures. Reproduces the full investigation: supported…
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/release_health.sh`).
It sits in Databases, covering Data warehousing. It works with ClickHouse and Slack. The repository describes itself as: ClickHouse® is a real-time analytics database management system. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cd023af. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadGrepGlobAgentWebFetchAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitghbashpython3From 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 these keys or tokens, usually read from environment variables:
GH_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Patch Release Check loads about 4k tokens when it runs. Until then it costs about 220 tokens; SKILL.md has 1,694 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Grep, Glob, Agent, WebFetch, AskUserQuestionAutomated 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); the scripts in this folder are not scanned.
The full file from ClickHouse/ClickHouse at commit cd023af, republished under its Apache-2.0 licence (© ClickHouse). 1,694 words, ~4,000 tokens.
.claude/skills/patch-release-check/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.ClickHouse publishes stable patch releases for its supported versions (the last
three major releases plus the latest LTS) on a roughly bi-weekly cadence. They are
created automatically by the scheduled AutoReleases workflow, but the pipeline can
wedge silently and stop releasing. This skill is the every-two-weeks health check:
it tells you which targeted versions are missing a recent patch, why the automation
failed (classified), and walks gated remediation. There are two distinct failure
modes, and they need different fixes:
AutoReleaseInfo aborts before releasing anything because an
open "version bump" PR trips a guard in ci/jobs/auto_release_job.py. Repo/PR side.[self-hosted, release-maker]
runner is available. Infra side, not a repo change.$0 (optional): lookback window in days for the workflow failure scan. Default 14.env -u GH_CONFIG_DIR gh (this is what the script's GH()
wrapper does). Dropping GH_CONFIG_DIR avoids a poisoned config dir — one whose
token passes gh auth status but 403s on the API — by falling back to the default
config / GH_TOKEN. Do not use command gh: command only bypasses an
interactive alias (irrelevant in a non-interactive script) and does not strip
GH_CONFIG_DIR, so it inherits the poisoned config; and env -u GH_CONFIG_DIR command gh is wrong too — it tries to exec a nonexistent command binary on Linux.tmp/, never /tmp. (The script also points
XDG_CACHE_HOME at a repo-local tmp/gh-cache when the default ~/.cache is not
writable — some sandboxes mount a read-only HOME, which would otherwise make
gh run view --log-failed fail before reaching GitHub.)robot-clickhouse PR whose head branch is auto/v* AND whose
release tag is already superseded. Never a human PR. Fail-close: if you are not
certain a guard match is the orphaned robot bump PR, stop and report — do not close.bash .claude/skills/patch-release-check/scripts/release_health.sh 14It prints four blocks (each ending in a one-line verdict):
SECURITY.md (supported), what was
excluded by config (excluded), and what is actually analyzed.git/matching-refs tag list, so a quiet/older LTS is never missed), age in days
(from the annotated tag's tagger.date, matching auto_release_job.py), release-worthy
/ first-parent-total commits (rel/tot, reconstructed from the first-parent chain
like AutoReleaseInfo), and a ⚠️ MISSING flag when a version is older than
STALE_DAYS (default 18) and has release-worthy commits. A supported version with
no release tag is a hard failure: the block prints NO TAG and the final
verdict is FAILED (exit 3), never green. (A valid git tag with no published GitHub
Release is still healthy — the date comes from the tag object.)AutoReleases and CreateRelease runs in the window, each
AutoReleases failure classified GUARD / RUNNER / OTHER, plus a tally.Knobs (env vars): EXCLUDE_VERSIONS (space-separated versions to drop from the
analysis; defaults to a hardcoded skip — see Notes), STALE_DAYS (missing threshold).
These are the ✔️ rows in SECURITY.md, generated by
utils/security-generator/generate_security.py (the 3 most recent regular versions +
up to 2 LTS, months 3 and 8). Read them live — never hardcode; the set rolls
forward every release. The script already does this in block 1.
A targeted version is missing (act now) when its latest patch is older than the
cadence (~2–2.5 weeks) and its branch has release-worthy commits. That is not
raw ahead_by: AutoReleaseInfo drops the post-release version-bump commit (Update autogenerated version ...) before deciding whether a branch has a patch candidate, so
the script counts only commits whose message is not a version bump. The rel/tot
column shows release-worthy / total — a branch at 0/1 is stale but has only the bump
commit and nothing to release (verdict says so), and must not be flagged MISSING.
Distinguish "missing" from due — a version that just hit its cadence boundary; once
the pipeline is unblocked, automation will release it, so it is not "missing" yet.
GUARD — AutoReleaseInfo died in the version-bump-PR guard
_assert_no_open_version_bump_prs (raise RuntimeError). This is the guard "check all
previous version bump PRs were merged": it runs
gh pr list --state open --search "Update version_date.tsv in:title" and aborts if the
result is non-empty. The guard runs before any per-branch dispatch, so a guard failure
skips every branch — nothing releases.
The script classifies
GUARDonly when the failed-step log shows both a guard traceback frame and theraise RuntimeErrorsource line — not a line number (which drifts) and not bareRuntimeError. Both frames count:in _assert_no_open_version_bump_prs(ci/jobs/auto_release_job.py) and the legacyin _prepare(tests/ci/auto_release.py), which the 14-day lookback still reaches for two weeks after the praktika migration. Other failures — e.g. a branch reportedERRORfor having no release tag — classify asOTHER, so the operator is not sent to hunt version-bump PRs when the guard is clear.
The GitHub Actions log does not name the offending PR — the list is sent to a Slack alert, not stdout. Find it two ways:
- Block 4 of the script re-runs the exact query and prints the live match set.
- Slack: the CIBuddy bot posts
Found not merged version bump PRsto#core-ci-info(channelC07FHK0FV5H); the message body is the literal PR JSON and it links the failing run. Search:"Found not merged version bump PRs".The guard's search is loose full-text, so it also catches unrelated PRs that merely mention
version_date.tsv(false positives). The real blocker is the one that recurs in the alert every day — typically an orphanedrobot-clickhouseauto/v*bump PR whose release is already superseded.
RUNNER — a completed, cancelled run whose first job never got a runner
(no runner_name, zero steps); it sat queued ~24h and was cancelled the instant the
next day's cron fired. Means no [self-hosted, release-maker] runner picked it up.
This is infra, not a repo change — escalate in #core-ci-info and check the
org/repo Actions runner settings. Note: clearing a GUARD blocker does nothing if
RUNNER is also failing, and vice versa — both must be healthy for a release to
happen. A run that is still queued/in_progress (empty conclusion) is not
RUNNER — the script prints its live status instead, since a queued daily run has no
runner/steps yet but is not an outage.
OTHER — the run failed for some reason other than the guard or a missing runner.
Any unexpected conclusion (startup_failure, timed_out, action_required, …) also
counts here, so the tally never reads all-zeros while a run actually failed;
startup_failure/timed_out usually point at the release-maker runner or a timeout.
Read the failed step directly:
env -u GH_CONFIG_DIR gh run view <run-id> --repo ClickHouse/ClickHouse --log-failedUNKNOWN — the script could not fetch the required GitHub data to classify the
run: either a complete failed-step log (transient API/rate-limit truncation) or, for a
cancelled run, its job metadata. It refuses to guess. This is fail-closed: do not
assume it was healthy or not a guard failure — re-run the check, or read the run
manually with the command above.
Only if block 4 shows an orphaned, superseded robot-clickhouse auto/v* bump PR.
Confirm the supersession first (a newer tag exists on that branch):
env -u GH_CONFIG_DIR gh pr view <n> --repo ClickHouse/ClickHouse --json headRefName,author,title,state
env -u GH_CONFIG_DIR gh api 'repos/ClickHouse/ClickHouse/git/matching-refs/tags/v<major>.' --jq '.[].ref'Ask the user for confirmation, then:
env -u GH_CONFIG_DIR gh pr close <n> --repo ClickHouse/ClickHouse⚠️ Re-run block 4 afterward. Closing one match does not clear the guard if other PRs still match (this happened: closing the robot PR left a human Docker PR matching). If the remaining match is a human PR, do not close it — recommend merging it, or scoping the guard query (see Known issue).
For each version flagged MISSING in step 3, dispatch CreateRelease with
Use workflow from branch: master, type: patch.
⚠️ Use a CI-green commit SHA, not the bare branch name. AutoReleaseInfo does not
release branch head — it derives candidates as git rev-list --first-parent <latest-tag>..origin/<branch>,
drops the oldest (version-bump) commit, and among the newest
MAX_NUMBER_OF_COMMITS_TO_CONSIDER_FOR_RELEASE = 8 picks the most recent whose CI
completed with no failed statuses, then passes that SHA to create_release.yml.
Reproduce that exactly — and use first-parent git rev-list, not the GitHub
commits?sha= API: that API returns every reachable commit (side commits off the
first-parent chain), so it can pick a SHA AutoReleaseInfo would never consider and
release from a tree missing other already-merged backports. Run this from a checkout
whose origin is ClickHouse/ClickHouse:
BR=<release-branch> # e.g. 25.8
git fetch -q origin "$BR" --tags # need branch + tags locally
TAG=$(git tag --list "v$BR.*" --sort=-v:refname | head -1)
# Candidate SHAs: first-parent since the tag, drop the oldest (version-bump) commit,
# newest 8 — exactly AutoReleaseInfo's set.
CANDS=$(git rev-list --first-parent "$TAG..FETCH_HEAD" | sed '$d' | head -8)
# Pick the newest CI-green SHA, mirroring ci_utils.GH exactly:
# check_wf_completed — /check-runs must be NON-EMPTY and every run "completed"
# get_failed_statuses — paginate /statuses, keep the newest state PER CONTEXT,
# require none non-success
# (Re-reading the combined /status rollup is insufficient — it is blind to check-runs
# and to status history, so it both over- and under-reports.) Chosen SHA -> stdout.
CANDIDATE=$(SHAS="$CANDS" python3 - <<'PY'
import os, sys, json, subprocess
REPO = "ClickHouse/ClickHouse"
def gh(args):
env = dict(os.environ); env.pop("GH_CONFIG_DIR", None) # avoid a poisoned config dir
r = subprocess.run(["gh", "api"] + args, capture_output=True, text=True, env=env)
if r.returncode != 0:
raise SystemExit(f"gh api failed ({' '.join(args)}): {r.stderr.strip()}")
return r.stdout
def wf_completed(sha): # ci_utils.GH.check_wf_completed
runs = (json.loads(gh([f"repos/{REPO}/commits/{sha}/check-runs?per_page=100"]))
.get("check_runs") or [])
return bool(runs) and all(c["status"] == "completed" for c in runs)
def failed_statuses(sha): # ci_utils.GH.get_failed_statuses
out = gh(["--paginate", "--jq", ".[]",
f"repos/{REPO}/commits/{sha}/statuses?per_page=100"])
latest = {}
for line in out.splitlines():
if not line.strip():
continue
st = json.loads(line); c = st["context"]
if c not in latest or latest[c]["updated_at"] < st["updated_at"]:
latest[c] = st
return sorted(c for c, d in latest.items() if d["state"] != "success")
for sha in os.environ["SHAS"].split():
done = wf_completed(sha)
fails = failed_statuses(sha) if done else None
print(f" {sha[:12]} completed={done} "
f"failed_statuses={fails if fails is not None else 'n/a (CI not completed)'}",
file=sys.stderr)
if done and not fails:
print(sha); break
PY
)
echo "release candidate: ${CANDIDATE:?no CI-green commit in the first 8 first-parent commits — investigate; do not release branch head}"After explicit confirmation, dispatch with that SHA (the official runbook also accepts
a commit SHA in the Git reference field, e.g. when a prior run failed with a missing
artifacts error):
env -u GH_CONFIG_DIR gh workflow run create_release.yml --repo ClickHouse/ClickHouse \
--ref master -f ref="$CANDIDATE" -f type=patchThen watch the run to completion (do not cancel it) and review + merge the
generated auto/v<tag> changelog PR. Track status in #core-ci-info.
The guard query in ci/jobs/auto_release_job.py (_assert_no_open_version_bump_prs)
now scopes the search with in:title
(gh pr list --search "Update version_date.tsv in:title"), so only PRs whose title
matches — the genuine robot bump PRs Update version_date.tsv and changelog after <tag> — trip it. The legacy query (gh pr list --search "Update version_date.tsv")
was a loose full-text search that also matched any PR merely mentioning the phrase in
its body, so a single unrelated PR could halt all releases (the praktika-migration PR
itself hit this). If you still see a false positive, tighten further with
author:robot-clickhouse or by matching the auto/v* head branch.
auto_release_job.py —
it releases a branch whenever a green commit exists among its last
MAX_COMMITS_TO_CONSIDER = 8 commits.AutoReleaseInfo job dispatches each ready branch's release independently and
continues past a failed one (fail-fast: false semantics), so one bad release
branch does not stop the others — but the guard failing (open version-bump PR)
aborts the whole run before any dispatch.AutoReleases runs daily on cron 45 11 * * *; it dispatches CreateRelease
(gh workflow run create_release.yml ... -f type=patch) once per ready branch and
waits for each run to finish before starting the next.EXCLUDE_VERSIONS currently defaults to a hardcoded skip (25.8) so it is left
out of the analysis. This is intentional but goes stale — revisit it each cycle, or
run EXCLUDE_VERSIONS="" bash .../release_health.sh to analyze every supported
version.© ClickHouse, 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 (scripts) in .claude/skills/patch-release-check of ClickHouse/ClickHouse.
Open the folder on GitHubat commit cd023af
Patch Release Check 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 |
|---|---|---|---|---|---|---|
| Patch Release Check this skillClickHouse/ClickHouse | 50k | — | ~4k | Automated safety check: Notes | Apache-2.0 | |
| Clickhouse Architecture Advisorvemetric/vemetric | 394 | 2 repos | ~791 | Automated safety check: Pass | Apache-2.0 | |
| Clickhouse Ioaffaan-m/ECC | 275k | 3 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Clickhouse Ioaffaan-m/ECC | 275k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Clickhouse Ioaffaan-m/ECC | 275k | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Gram Telemetry Query Dimensionsspeakeasy-api/gram | 272 | — | ~2.4k | Automated safety check: Pass | AGPL-3.0 |
vemetric/vemetric
MUST USE when designing ClickHouse architectures, selecting between ingestion or modeling patterns, or translating best practices into workload-specific system designs.
affaan-m/ECC
ClickHouse数据库模式、查询优化、分析以及高性能分析工作负载的数据工程最佳实践. An agent skill from affaan-m/ECC.
affaan-m/ECC
고성능 분석 워크로드를 위한 ClickHouse 데이터베이스 패턴, 쿼리 최적화, 분석 및 데이터 엔지니어링 모범 사례.
affaan-m/ECC
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
speakeasy-api/gram
How to add a new attribute value (dimension) that the generic org-scoped telemetry.query analytics endpoint can group by and filter on.
xu-xiang/everything-claude-code-zh
ClickHouse 数据库模式、查询优化、分析以及高性能分析工作负载的数据工程最佳实践. An agent skill from xu-xiang/everything-claude-code-zh.
ClickHouse/ClickHouse
Analyze ClickHouse Keeper stress-test results from play.clickhouse.com / keeperstresstests data warehouse.
ClickHouse/ClickHouse
Evaluate ClickHouse performance test results from existing CI/dashboard data or local perf.py runs.
ClickHouse/ClickHouse
Analyze a jemalloc (or other) allocation profile in collapsed stack format.
ClickHouse/ClickHouse
Bisect a ClickHouse regression using pre-built master binaries from CI.
ClickHouse/ClickHouse
Generate PR descriptions for ClickHouse/ClickHouse that match maintainer expectations.
ClickHouse/ClickHouse
Run a local pre-push AI code review of the current branch with the OpenAI codex CLI, the same way ClickHouse CI does, and optionally iterate fix and re-review until clean.
Works with
Categories
Check whether ClickHouse's supported versions (last 3 majors + latest LTS) have recent stable patch releases, diagnose why the scheduled AutoReleases pipeline failed, and identify which releases…. Patch Release Check is an agent skill from ClickHouse/ClickHouse. Check whether ClickHouse's supported versions (last 3 majors + latest LTS) have recent stable patch releases, diagnose why the scheduled AutoReleases pipeline failed, and identify which releases must be created manually.
Patch Release Check fits situations like: asked are the patch releases up to date; why did autorelease fail; which releases are missing; did a release get skipped.
Run `npx skills add ClickHouse/ClickHouse --skill patch-release-check -a claude-code`. Or copy the skill folder (.claude/skills/patch-release-check in ClickHouse/ClickHouse) into .claude/skills/patch-release-check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ClickHouse/ClickHouse --skill patch-release-check -a codex`. Or copy the skill folder (.claude/skills/patch-release-check in ClickHouse/ClickHouse) into .agents/skills/patch-release-check 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 ClickHouse/ClickHouse --skill patch-release-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/patch-release-check, .gemini/skills/patch-release-check, .github/skills/patch-release-check and .opencode/skills/patch-release-check in your project.
Going by SKILL.md and its folder, Patch Release Check needs a shell for the scripts in its folder, the command-line tools its instructions call (git, gh, bash and python3) and credentials named GH_TOKEN. Our summary lists: A Bash shell; Docker. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Agent, WebFetch, AskUserQuestion.
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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Patch Release Check 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 4k tokens (SKILL.md is roughly 16k 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 Patch Release Check: Clickhouse Architecture Advisor (vemetric/vemetric, 394 stars), Clickhouse Io (affaan-m/ECC, 275k stars), Clickhouse Io (affaan-m/ECC, 275k stars) and Clickhouse Io (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ClickHouse (a GitHub organization) maintains it in ClickHouse/ClickHouse, which has 50,288 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 2026.
Source: ClickHouse/ClickHouse on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.