Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/clickhouse/agent-skills/clickhouse-js-node-rowbinarynpx skills add ClickHouse/agent-skills --skill clickhouse-js-node-rowbinarygit clone --depth 1 https://github.com/ClickHouse/agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/clickhouse/agent-skills/clickhouse-js-node-rowbinary)<a href="https://agentmods.dev/skills/clickhouse/agent-skills/clickhouse-js-node-rowbinary"><img src="https://agentmods.dev/badge/skills/clickhouse/agent-skills/clickhouse-js-node-rowbinary.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00074 | $0.01233 |
| Opus 5 | $0.00037 | $0.00616 |
| Sonnet 5 | $0.00015 | $0.00247 |
| Haiku 4.5 | $0.00007 | $0.00123 |
Grade A, and why
clickhouse-js-node-rowbinary scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ClickHouse JS RowBinary Codec Generator for Node.js
This skill generates both directions of the wire format: readers (decode bytes → values) and writers (encode values → bytes, the mirror). A given task normally needs only one side. This file is the shared entry point — the format gate plus the principles common to both directions; the per-direction decisions, guidance, and the per-type reference tables live in two sibling files.
Pick your side — read only the one you need:
- Decoding a
RowBinary*response from ClickHouse into JS values → reader.md. Streaming vs whole-buffer, row-objects vs columnar, fixed vs runtime schema, and the per-type reader reference. - Encoding JS values into a
RowBinarypayload to send to ClickHouse → writer.md. TheSink/writeXbuilding blocks,writeRowsstreaming, and the per-type writer reference.
The per-type code is real, split by direction under src/readers/ and
src/writers/.
First: is RowBinary even the right format?
RowBinary exists for throughput, but it is not automatically the fastest path — match the format to the shape of the data before committing to a bespoke parser.
Prefer a JSON* format (e.g. JSONEachRow) when the result is mostly
strings / JSON-like values that you consume wholesale — randomly accessing
essentially every field, running string/regexp methods on them, treating values
as text. V8's native JSON.parse is heavily optimized C++ and builds JS strings
and objects faster than a JS-level RowBinary decoder can; pair it with HTTP
response compression (gzip / zstd, which crushes JSON's repetitive keys) and
the wire cost shrinks too.
RowBinary clearly wins when the result is dominated by:
- Wide numerics —
Int128/Int256/UInt128/UInt256,Decimal128/Decimal256. - Binary / fixed-width blobs —
IPv4,IPv6,UUID,FixedString. - High-volume fixed-width numeric columns generally, where each value is a
single
DataViewread.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 106 B
- AGENTS.md 2.9 KB
- case-studies/iot-rowbinary-vs-json.md 4.0 KB
- case-studies/ledger-rowbinary-vs-json.md 5.3 KB
- case-studies/logs-json-wins.md 4.4 KB
- case-studies/wasm-vs-js.md 9.9 KB
- CHANGELOG.md 3.0 KB
- eval_result_composer.md 7.6 KB
- eval_result_haiku.md 8.9 KB
- eval_result_sonnet.md 6.1 KB
- eval_result.md 6.2 KB
- EXAMPLES.md 5.5 KB
- package-lock.json 43 KB
- package.json 1.9 KB
- reader.md 15 KB
- README.md 15 KB
- src/examples/carts.ts 2.7 KB runs code
- src/examples/events.ts 2.1 KB runs code
- src/examples/iot.ts 6.3 KB runs code
- src/examples/ledger.ts 3.6 KB runs code
- src/examples/logs.ts 3.0 KB runs code
- src/examples/observability.ts 5.4 KB runs code
- src/examples/orders.ts 2.9 KB runs code
- src/examples/profiles.ts 2.2 KB runs code
- src/examples/telemetry.ts 3.5 KB runs code
- src/readers/aggregateFunction.ts 1.7 KB runs code
- src/readers/bool.ts 282 B runs code
- src/readers/columnar.ts 6.0 KB runs code
- src/readers/compile.ts 11 KB runs code
- src/readers/composite.ts 7.1 KB runs code
- src/readers/core.ts 3.0 KB runs code
- src/readers/datetime.ts 4.2 KB runs code
- src/readers/decimals.ts 2.5 KB runs code
- src/readers/dynamic.ts 12 KB runs code
- src/readers/enums.ts 1.6 KB runs code
- src/readers/floats.ts 1.3 KB runs code
- src/readers/geo.ts 3.5 KB runs code
- src/readers/header.ts 1.0 KB runs code
- src/readers/integers.ts 3.4 KB runs code
- src/readers/interval.ts 1.6 KB runs code
- src/readers/ip.ts 3.1 KB runs code
- src/readers/json.ts 1.4 KB runs code
- src/readers/lowCardinality.ts 750 B runs code
- src/readers/nested.ts 1.0 KB runs code
- src/readers/nothing.ts 1.3 KB runs code
- src/readers/reader.ts 3.1 KB runs code
- src/readers/rowBinaryWithNamesAndTypes.ts 6.9 KB runs code
- src/readers/rows.ts 2.3 KB runs code
- src/readers/simpleAggregateFunction.ts 797 B runs code
- src/readers/stream.ts 12 KB runs code
- src/readers/strings.ts 2.0 KB runs code
- src/readers/time.ts 2.2 KB runs code
- src/readers/uuid.ts 5.6 KB runs code
- src/readers/varint.ts 2.9 KB runs code
- src/writers/aggregateFunction.ts 796 B runs code
- src/writers/bool.ts 285 B runs code
- src/writers/composite.ts 5.0 KB runs code
- src/writers/core.ts 3.9 KB runs code
- src/writers/datetime.ts 4.5 KB runs code
- src/writers/decimals.ts 2.1 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 112 lines · 74 tokens per session scan A b31dff97a6c0
clickhouse-js-node-rowbinary is a skill published in the GitHub repository ClickHouse/agent-skills (528 stars, last pushed 28d ago), licensed Apache-2.0. It adds 74 tokens to every session and 1,233 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
dbx
DBX CLI for database schema exploration and read-only queries. When the user needs to list connections, explore tables, describe schemas, run queries, or generate AI-friendly schema context from DBX-managed databases. Do NOT use for write operations unless the user explicitly confirms with --allow-writes.
Addax
Skill "Addax" from wgzhao/Addax, covering skill: addax 项目知识, 1. 项目整体认识, 1.1 项目定位, 1.2 核心价值 and 2. 概念与架构模型.
dory
Use Dory as the official AI-native SQL workspace for agents. Use when the user asks to inspect or analyze databases, explore unknown schemas, debug data issues, run read-only SQL through Dory MCP, manage Dory Agent Runs, create or update SQL workspace tabs, work with saved queries, preserve query results, or hand SQL…
clickhouse-analytics
Use when running a ClickHouse server for high-volume OLAP: choosing a MergeTree engine and ORDER BY/PARTITION BY keys, ingesting billions of event/log/metric rows, pre-aggregating with materialized views, or fixing a query that scans instead of pruning. NOT in-process file analytics (that is duckdb), NOT OLTP CRUD…
clickhouse-pydantic-config
Generate DBeaver config from Pydantic ClickHouse models. TRIGGERS - DBeaver config, ClickHouse connection, database client config.
ml-data-pipeline-architecture
Patterns for efficient ML data pipelines using Polars, Arrow, and ClickHouse. TRIGGERS - data pipeline, polars vs pandas, arrow format.