# clickhouse-js-node-coding

Помогает агенту писать код с пакетом @clickhouse/client: подключение, вставка строк, выборки, параметры запросов.

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

## Что делает

Скилл ведёт агента по справочным файлам репозитория. Сначала он сопоставляет задачу со строкой в Task Index и читает нужный файл, потом сверяется с чек-листом ответа. Импорт всегда из `@clickhouse/client`, клиент создаётся через `createClient({ url })` и закрывается вызовом `await client.close()`.

Для обычных вставок и выборок советует `JSONEachRow`, а сырые байты вроде CSV, TSV и Parquet оставляет для потоковой передачи. Пользовательские значения должны идти через `query_params`: подстановка их в SQL шаблонной строкой — риск SQL-инъекции, и агент обязан это назвать, даже если вопрос был только про синтаксис. Метод выбирается по задаче: `insert()` для записи, `query()` с `.json()`, `.text()` или `.stream()` для чтения, `command()` для DDL, `ping()` для проверки доступности.

Скилл только для Node.js: Next.js Node runtime, React Server Components, Server Actions и обычные процессы. Браузерные компоненты, Web Workers, Edge runtime Next.js, Cloudflare Workers и пакет `@clickhouse/client-web` вне его области — для них нужен другой пакет. В справочнике есть привязки к версиям: `pathname` требует клиента `>= 1.0.0`, `BigInt` в `query_params` — `>= 1.15.0`, типы `Time` и `Time64` — сервера ClickHouse `>= 25.6`.

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

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

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

## Когда брать
- создать клиент ClickHouse и настроить его параметры
- вставить строки в формате JSONEachRow
- связать параметры запроса без подстановки в SQL
- выбрать между insert, query и command
- проверить доступность сервера через ping

## Примеры запросов агенту
- Настрой клиент `@clickhouse/client` для подключения к ClickHouse и добавь проверку через `ping()`
- Покажи, как вставить массив объектов в таблицу через `JSONEachRow`
- Перепиши этот запрос так, чтобы значения передавались через `query_params`, а не подставлялись в строку

## Похожие
- [clickhouse-io](https://affpapa.org/nevibecode/skills/clickhouse-io.md) — скилл · 4500 установок
- [node](https://affpapa.org/nevibecode/skills/node.md) — скилл · 5900 установок
- [kysely](https://affpapa.org/nevibecode/skills/claude-mpm-team-kysely.md) — скилл · 389 установок
- [typeorm](https://affpapa.org/nevibecode/skills/typeorm.md) — скилл · 2000 установок
- [prisma](https://affpapa.org/nevibecode/skills/prisma.md) — скилл · 1000 установок
- [data-analyst](https://affpapa.org/nevibecode/skills/data-analyst.md) — скилл · 2200 установок

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

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

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