# clickhouse-js-node-rowbinary

Генерирует TypeScript и JavaScript для чтения и записи потоков ClickHouse RowBinary в Node.js. Нужен при работе с двоичным HTTP-форматом таблиц.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 6400 установок · ★ 561
- Автор: ClickHouse
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/ClickHouse/agent-skills/tree/HEAD/skills/clickhouse-js-node-rowbinary/SKILL.md
- Обновлён: 2026-10-21
- HTML: https://affpapa.org/nevibecode/skills/clickhouse-js-node-rowbinary

## Что делает

Скилл создаёт кодек в обе стороны: декодирует байты ответа ClickHouse в значения JavaScript и кодирует значения в `RowBinary` для HTTP-запроса. Поддерживает `RowBinary`, `RowBinaryWithNames` и `RowBinaryWithNamesAndTypes`. Обычно для задачи нужен либо читатель, либо писатель.

Для чтения есть указания по потоковой обработке, буферу целиком, объектам строк и столбцовому представлению. Для записи описаны блоки `Sink`, методы `writeX` и потоковый `writeRows`. Код по умолчанию генерируется на TypeScript; операции конкретных типов встраиваются в цикл строк, а над блоком столбца остаётся комментарий с типом ClickHouse.

Многобайтные значения нужно читать и записывать через `DataView` с литералом `true` для little-endian. Общий буфер для горячих операций нельзя разделять через границу `async` или `yield`, потому что это испортит значение. Для браузерного проекта этот скилл не подходит: он рассчитан только на Node.js.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add ClickHouse/agent-skills --skill clickhouse-js-node-rowbinary -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/clickhouse-js-node-rowbinary/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/clickhouse-js-node-rowbinary/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add ClickHouse/agent-skills --skill clickhouse-js-node-rowbinary -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/clickhouse-js-node-rowbinary/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add ClickHouse/agent-skills --skill clickhouse-js-node-rowbinary -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/clickhouse-js-node-rowbinary/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install ClickHouse/agent-skills clickhouse-js-node-rowbinary
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/clickhouse-js-node-rowbinary/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add ClickHouse/agent-skills --skill clickhouse-js-node-rowbinary -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/ClickHouse/agent-skills --path skills/clickhouse-js-node-rowbinary
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/clickhouse-js-node-rowbinary/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add ClickHouse/agent-skills --skill clickhouse-js-node-rowbinary -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/ClickHouse/agent-skills/tree/HEAD/skills/clickhouse-js-node-rowbinary/SKILL.md

## Когда брать
- декодировать ответ ClickHouse в формате `RowBinary`
- сформировать `RowBinary`-тело для HTTP-запроса
- обработать `RowBinaryWithNames` со строковыми именами столбцов
- сгенерировать код для числовых и двоичных типов ClickHouse

## Примеры запросов агенту
- Сгенерируй TypeScript-код для декодирования ответа `RowBinary` от ClickHouse.
- Напиши кодировщик значений JavaScript в `RowBinary` для HTTP-запроса.
- Помоги прочитать поток `RowBinaryWithNamesAndTypes` в Node.js.

## Похожие
- [clickhouse-io](https://affpapa.org/nevibecode/skills/clickhouse-io.md) — скилл · 4500 установок
- [node](https://affpapa.org/nevibecode/skills/node.md) — скилл · 5900 установок
- [sentry-node-sdk](https://affpapa.org/nevibecode/skills/sentry-node-sdk.md) — скилл · 3300 установок
- [bun-runtime](https://affpapa.org/nevibecode/skills/bun-runtime.md) — скилл · 4700 установок
- [bun-development](https://affpapa.org/nevibecode/skills/bun-development.md) — скилл · 2800 установок
- [File Analysis API with Node.js and Express](https://affpapa.org/nevibecode/prompts/file-analysis-api-with-nodejs-and-express.md) — промпт · ★ 174597

Из того же набора: [clickhouse/agent-skills](https://affpapa.org/nevibecode/by/clickhouse/agent-skills.md) — 8 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
