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.
Show a report of open ClickHouse PRs whose only non-green CI check is "CH Inc sync" (or that are fully green) — i.e.
$ npx skills add ClickHouse/ClickHouse --skill good-prs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ClickHouse/ClickHouse good-prs --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/good-prs .claude/skills/good-prs && 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 "good-prs" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/good-prs into .claude/skills/good-prs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "good-prs", 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/good-prsType 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 good-prs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ClickHouse/ClickHouse good-prs --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/good-prs .agents/skills/good-prs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "good-prs" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/good-prs into .agents/skills/good-prs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "good-prs", 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 good-prs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ClickHouse/ClickHouse good-prs --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/good-prs .cursor/skills/good-prs && 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 "good-prs" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/good-prs into .cursor/skills/good-prs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "good-prs", 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/good-prs--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 good-prs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ClickHouse/ClickHouse good-prs --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/good-prs .gemini/skills/good-prs && 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 "good-prs" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/good-prs into .gemini/skills/good-prs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "good-prs", 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 good-prsInstalls 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 good-prs -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/good-prs .github/skills/good-prs && 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 "good-prs" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/good-prs into .github/skills/good-prs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "good-prs", 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 good-prs -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 good-prs --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/good-prs .opencode/skills/good-prs && 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 "good-prs" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/good-prs into .opencode/skills/good-prs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "good-prs", 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.
good-prsShow a report of open ClickHouse PRs whose only non-green CI check is "CH Inc sync" (or that are fully green) — i.e.
Good PRs is an agent skill from ClickHouse/ClickHouse. Show a report of open ClickHouse PRs whose only non-green CI check is "CH Inc sync" (or that are fully green) — i.e. effectively ready to merge. Groups by your authored PRs, PRs assigned to you (authored by others), and PRs by tracked authors (default groeneai). Shows the CH Inc sync state and whether each PR was ever approved; excludes already-merged PRs. Use when asked for "good PRs", merge-ready PRs, or PRs blocked only on the sync job.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `report.sh` and `test.sh`).
It sits in Databases, covering Data warehousing. It works with ClickHouse. The repository describes itself as: ClickHouse® is a real-time analytics database management system. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c873902. 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:
Bash(bash:*)Bash(gh:*)Bash(jq:*)Bash(xargs:*)Bash(awk:*)Bash(grep:*)Bash(cut:*)Bash(sed:*)ReadFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Shell), which the agent can run.
Shell commands in SKILL.md call:
ghbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use 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.
Good PRs loads about 1.8k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 988 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 ClickHouse/ClickHouse at commit c873902, republished under its Apache-2.0 licence (© ClickHouse). 988 words, ~1,801 tokens.
.claude/skills/good-prs/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Produce a report of open pull requests in ClickHouse/ClickHouse that are effectively
ready to merge: every CI check is green/skipped except possibly CH Inc sync, which
is the private-repo sync job and is frequently the last thing standing between a PR and
merge. Fully-green PRs are included too.
For each PR, look at all checks and ignore the aggregate gates (PR, Mergeable Check,
A Sync (only for tests)). A PR qualifies when every remaining check other than
CH Inc sync is SUCCESS, SKIPPED, or NEUTRAL (nothing else is failing or still
running). The CH Inc sync state is then reported as one of:
CH Inc sync also passed → fully green / merge-ready.CH Inc sync failed.CH Inc sync is still running (PENDING/IN_PROGRESS).CH Inc sync check at all and everything else is green
(typically release-branch backports).Independently of CI, a PR can also conflict with its base branch in the public repository, which blocks the merge whatever the checks say. That is shown in the same first column, as a suffix on the sync label:
+CONFLICT — GitHub reports the PR as CONFLICTING against its base; it needs a
merge (or a rebase) before it can go in. E.g. GREEN+CONFLICT = all checks green, but
the branch does not merge cleanly.+UNKNOWN — GitHub had not finished computing mergeability, so the conflict state
is genuinely unknown rather than clean.Within one sync bucket, clean rows are listed first, then +UNKNOWN, then +CONFLICT,
so the most actionable PRs stay at the top of each section.
Already-merged or closed PRs are excluded. Each row also shows whether the PR was
approved by anyone at least once (any historical APPROVED review event; it does
not require the approval to still be current after later pushes).
gh user.groeneai. Pass author logins as arguments to
change this (e.g. good-prs groeneai azat).Run the bundled script and present its Markdown output directly to the user (it already emits finished tables):
bash .claude/skills/good-prs/report.sh $ARGUMENTSThe script fetches PR lists with gh pr list, classifies each PR's checks with
gh pr checks, and looks up state + approvals + mergeable with gh pr view, all
parallelized with xargs -P 12. For groeneai-sized author sets (~200 open PRs) it takes roughly a minute.
Every gh call is pinned to --repo ClickHouse/ClickHouse, so the report is correct
regardless of the directory the skill is run from.
test.sh runs report.sh against a stubbed gh (no network) and checks the
bucket→label classification, the "only CH Inc sync is non-green" criterion, the
+CONFLICT / +UNKNOWN merge-state suffixes and their sort order, the re-query of a
lazily computed UNKNOWN mergeability, empty input, --repo pinning, the
fail-loud-on-real-error behaviour, and the retry policy (a transient failure is retried
until it succeeds, a permanent one is not retried):
bash .claude/skills/good-prs/test.shFAILED/INPROG after running, or note which rows are GREEN.gh pr list --author <login> is backed by GitHub's search index, which can
occasionally omit an individual PR (a stale-index gap). If a specific PR is known to be
missing, fetch it explicitly with gh pr view <n> and add it.PR,
Mergeable Check, and A Sync (only for tests). If ClickHouse CI renames or adds an
aggregate gate, update the select(...) filter in report.sh.gh pr checks' own bucket field (pass / fail /
pending / skipping / cancel), not by raw state strings, so unusual states such as
QUEUED, TIMED_OUT, CANCELLED, or STARTUP_FAILURE are handled without a PR being
silently dropped.HTTP 408,
429, any 5xx, gateway timeouts, connection resets, secondary rate limits) are
retried with exponential backoff, and a primary rate-limit rejection waits for the
hourly window to reset. GH_RETRIES (default 5) and GH_RETRY_DELAY (default 2
seconds) tune this.gh diagnostic, rather than silently
omitting that PR from the report.gh api rate_limit --jq .resources.graphql.mergeable is computed lazily by GitHub: for a PR nobody has looked at recently the
first query only schedules the test merge and answers UNKNOWN. The script therefore
re-asks an open PR up to GH_MERGEABLE_TRIES times (default 3) with
GH_MERGEABLE_DELAY seconds (default 2) in between, so a conflicting PR is not shown
as clean merely because it was asked about first. Rows that stay UNKNOWN are marked
+UNKNOWN rather than assumed mergeable.mergeable rides along on the gh pr view call that already fetches state and
reviews, so the conflict column costs no extra quota except for those re-queries.+CONFLICT row is still listed: the criterion for inclusion is about CI checks. If
the user wants only mergeable-right-now PRs, filter the rows without a +CONFLICT
(and, to be strict, without +UNKNOWN) suffix after running.gh authenticated and jq available.© 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 2 other files in .claude/skills/good-prs of ClickHouse/ClickHouse.
Open the folder on GitHubat commit c873902
Good PRs 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 |
|---|---|---|---|---|---|---|
| Good PRs this skillClickHouse/ClickHouse | 50k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Clickhouse Architecture Advisorvemetric/vemetric | 395 | 2 repos | ~791 | Automated safety check: Pass | Apache-2.0 | |
| Clickhouse Ioaffaan-m/ECC | 276k | 3 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Clickhouse Ioaffaan-m/ECC | 276k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Clickhouse Ioaffaan-m/ECC | 276k | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Gram Telemetry Query Dimensionsspeakeasy-api/gram | 273 | — | ~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
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…
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.
Works with
Categories
Show a report of open ClickHouse PRs whose only non-green CI check is "CH Inc sync" (or that are fully green) — i.e. Good PRs is an agent skill from ClickHouse/ClickHouse.e.
Good PRs fits situations like: asked for good PRs; merge-ready PRs; PRs blocked only on the sync job.
Run `npx skills add ClickHouse/ClickHouse --skill good-prs -a claude-code`. Or copy the skill folder (.claude/skills/good-prs in ClickHouse/ClickHouse) into .claude/skills/good-prs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ClickHouse/ClickHouse --skill good-prs -a codex`. Or copy the skill folder (.claude/skills/good-prs in ClickHouse/ClickHouse) into .agents/skills/good-prs 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 good-prs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/good-prs, .gemini/skills/good-prs, .github/skills/good-prs and .opencode/skills/good-prs in your project.
Going by SKILL.md and its folder, Good PRs needs a shell for the scripts in its folder and the command-line tools its instructions call (gh and bash). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash(bash:*), Bash(gh:*), Bash(jq:*), Bash(xargs:*), Bash(awk:*), Bash(grep:*), Bash(cut:*), Bash(sed:*), Read.
SKILL.md contains no URLs. Its commands use 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.
Good PRs 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.8k tokens (SKILL.md is roughly 7.2k 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 Good PRs: Clickhouse Architecture Advisor (vemetric/vemetric, 395 stars), Clickhouse Io (affaan-m/ECC, 276k stars), Clickhouse Io (affaan-m/ECC, 276k stars) and Clickhouse Io (affaan-m/ECC, 276k 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,308 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 9, 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.