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.
Extract the inner ELF from a ClickHouse self-extracting clickhouse binary, including when its architecture differs from the host (e.g.
$ npx skills add ClickHouse/ClickHouse --skill decompress-binary -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ClickHouse/ClickHouse decompress-binary --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/decompress-binary .claude/skills/decompress-binary && 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 "decompress-binary" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/decompress-binary into .claude/skills/decompress-binary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "decompress-binary", 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/decompress-binaryType 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 decompress-binary -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ClickHouse/ClickHouse decompress-binary --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/decompress-binary .agents/skills/decompress-binary && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "decompress-binary" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/decompress-binary into .agents/skills/decompress-binary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "decompress-binary", 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 decompress-binary -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ClickHouse/ClickHouse decompress-binary --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/decompress-binary .cursor/skills/decompress-binary && 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 "decompress-binary" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/decompress-binary into .cursor/skills/decompress-binary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "decompress-binary", 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/decompress-binary--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 decompress-binary -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ClickHouse/ClickHouse decompress-binary --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/decompress-binary .gemini/skills/decompress-binary && 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 "decompress-binary" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/decompress-binary into .gemini/skills/decompress-binary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "decompress-binary", 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 decompress-binaryInstalls 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 decompress-binary -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/decompress-binary .github/skills/decompress-binary && 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 "decompress-binary" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/decompress-binary into .github/skills/decompress-binary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "decompress-binary", 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 decompress-binary -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 decompress-binary --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/decompress-binary .opencode/skills/decompress-binary && 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 "decompress-binary" agent skill from https://github.com/ClickHouse/ClickHouse/tree/master/.claude/skills/decompress-binary into .opencode/skills/decompress-binary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "decompress-binary", 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.
decompress-binaryExtract the inner ELF from a ClickHouse self-extracting clickhouse binary, including when its architecture differs from the host (e.g.
Decompress Binary is an agent skill from ClickHouse/ClickHouse. Extract the inner ELF from a ClickHouse self-extracting clickhouse binary, including when its architecture differs from the host (e.g. to load an aarch64 CI core dump on an x86 workstation). Use when gdb/lldb needs real symbols from a downloaded CI/release binary, or when self-extraction by running the binary is not possible because of an architecture mismatch.
Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `extract_self_extracting.py`).
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.
4 steps, taken from the first numbered list 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:
Bash(python3:*)Bash(zstd:*)Bash(llvm-objdump:*)Bash(llvm-nm:*)Bash(file:*)Bash(curl:*)Bash(ls:*)Bash(stat:*)ReadWriteFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
curlpython3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
clickhouse-builds.s3.amazonaws.comFrom 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.
Decompress Binary loads about 1.1k tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 417 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 cd023af, republished under its Apache-2.0 licence (© ClickHouse). 417 words, ~1,106 tokens.
.claude/skills/decompress-binary/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.ClickHouse release and CI clickhouse binaries are self-extracting: a small
decompressor stub, followed by the zstd-compressed real ELF and a trailer.
The normal way to decompress is to run the binary once: it extracts the inner
ELF in place and re-execs it. That works on the binary's own architecture,
and also on a foreign architecture if qemu user-mode emulation for it is
installed (e.g. qemu-aarch64 to run an aarch64 binary on x86). When qemu for
the target is not available, you cannot run the binary at all and must extract the
payload offline.
This skill extracts the inner ELF without executing anything, on any host.
clickhouse and gdb/lldb shows no real symbols
(it only sees the decompressor stub's tiny symbol table).ci/decrypt-cores.md for the
matching core-dump decryption procedure).See utils/self-extracting-executable/types.h:
[ decompressor ELF ]
[ compressed file blobs ]
[ FileData[] ] # one per packed file, each followed by its name
[ MetaData (16 bytes) @ EOF ]
MetaData { uint64 number_of_files; uint64 start_of_files_data; }
FileData { uint64 start, end, name_length, uncompressed_size, umask; bool exec; }MetaData sits at the very end of the file. start_of_files_data points at the
FileData array; each 48-byte FileData is followed by the file name. The
compressed bytes for a file are input[start:end] (zstd, possibly multi-frame).
The packed clickhouse ELF is the entry with exec = true.
Download the binary from the build job for the exact commit, for example:
curl -s "https://clickhouse-builds.s3.amazonaws.com/PRs/<pr>/<sha>/pr/build_<arch>_<sanitizer>/clickhouse" -o clickhouse.sfxThe path segment after <sha> is the normalized workflow name — pr for PR
builds, masterci for master/reference builds (REFs/master/<sha>/masterci/...).
Find the precise URL in the build job's artifact_report_build_*.json, or via
.claude/tools/fetch_ci_report.js "<pr-url>". Download in the foreground (a
killed/resumed curl can append garbage past EOF and break the trailer; verify
the size matches Content-Length).
Extract the inner ELF:
python3 .claude/skills/decompress-binary/extract_self_extracting.py clickhouse.sfx clickhouse.elfVerify it is the right build and has symbols:
file clickhouse.elf # ELF ..., not stripped, with debug_info
llvm-objdump -s -j .note.gnu.build-id clickhouse.elf | tail # must match the core's build idThe build id must equal the one in the crash report / core. A mismatched binary yields unusable backtraces.
Use it with the core dump:
gdb clickhouse.elf core.<pid> # or: lldb clickhouse.elf -c core.<pid>gdb and lldb read foreign-architecture cores fine for backtraces and memory
inspection (you are not executing the target).
number_of_files, re-download cleanly and check the size.qemu user-mode emulation for it is installed, just run
./clickhouse once to self-extract in place. This skill is for the case where
neither is possible.© 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 in .claude/skills/decompress-binary of ClickHouse/ClickHouse.
Open the folder on GitHubat commit cd023af
Decompress Binary 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 |
|---|---|---|---|---|---|---|
| Decompress Binary this skillClickHouse/ClickHouse | 50k | — | ~1.1k | Automated safety check: Pass | 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
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
Extract the inner ELF from a ClickHouse self-extracting clickhouse binary, including when its architecture differs from the host (e.g. Decompress Binary is an agent skill from ClickHouse/ClickHouse.g.
Decompress Binary fits situations like: gdb/lldb needs real symbols from a downloaded CI/release binary; self-extraction by running the binary is not possible because of an architecture mismatch.
Run `npx skills add ClickHouse/ClickHouse --skill decompress-binary -a claude-code`. Or copy the skill folder (.claude/skills/decompress-binary in ClickHouse/ClickHouse) into .claude/skills/decompress-binary in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ClickHouse/ClickHouse --skill decompress-binary -a codex`. Or copy the skill folder (.claude/skills/decompress-binary in ClickHouse/ClickHouse) into .agents/skills/decompress-binary 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 decompress-binary -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/decompress-binary, .gemini/skills/decompress-binary, .github/skills/decompress-binary and .opencode/skills/decompress-binary in your project.
Going by SKILL.md and its folder, Decompress Binary needs Python for the scripts in its folder and the command-line tools its instructions call (curl and python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash(python3:*), Bash(zstd:*), Bash(llvm-objdump:*), Bash(llvm-nm:*), Bash(file:*), Bash(curl:*), Bash(ls:*), Bash(stat:*), Read, Write.
SKILL.md names 1 domain. In commands or code: clickhouse-builds.s3.amazonaws.com; the agent is likely to contact it when it follows the instructions. 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.
Decompress Binary 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.1k tokens (SKILL.md is roughly 4.4k 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 Decompress Binary: 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.