# bulk-data-sharing-design

Помогает спроектировать выгрузку данных клиентам: Parquet в бакете, нативные шеры Snowflake или Delta Sharing. Пригодится, когда SaaS отдаёт данные пачками, а не через API.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 7800 установок · ★ 7
- Автор: Samuel Berthe
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/samber/developer-platform-skills/tree/HEAD/skills/bulk-data-sharing-design/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/bulk-data-sharing-design

## Что делает

Скилл превращает агента в проектировщика data-платформы. Он ведёт по восьми шагам: выбор лагеря (file-drop, нативный шер или оба), контракт раскладки и партиционирования файлов, частота доставки и свежесть, модель доступа с учётом получателей, распределение расходов на egress, контракт эволюции схемы, соответствие требованиям и резидентность данных, поэтапный запуск. Каждый шаг опирается на ответы из интервью, которое скилл проводит до начала проектирования.

Логика выбора простая. Нативный шер (Snowflake Secure Data Sharing, Databricks Delta Sharing, BigQuery linked datasets) не копирует данные, поэтому нет счёта за egress и дублирования хранилища. Но он работает только если у получателя есть совместимое хранилище. Parquet-файлы в объектном хранилище читает любой движок, поэтому это универсальный запасной вариант. Скилл советует держать оба лагеря, а не выбирать один.

Есть и ограничение: скилл не для живых SQL-эндпоинтов. Для них в том же репозитории есть `samber/developer-platform-skills@sql-jdbc-access-design`. Ещё он опирается на память агента: если она хранится в файле, скилл предлагает `developer-platform-context.md` и просит записывать туда принятые решения — выбранный лагерь, контракт партиционирования, частоту, модель доступа, распределение расходов, позицию по резидентности.

## Требования
- Работает с: Snowflake

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill bulk-data-sharing-design -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill bulk-data-sharing-design -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill bulk-data-sharing-design -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install samber/developer-platform-skills bulk-data-sharing-design
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/bulk-data-sharing-design/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill bulk-data-sharing-design -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/samber/developer-platform-skills --path skills/bulk-data-sharing-design
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-platform-skills --skill bulk-data-sharing-design -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/samber/developer-platform-skills/tree/HEAD/skills/bulk-data-sharing-design/SKILL.md

## Когда брать
- выбрать между Parquet в бакете и нативным шером хранилища
- задать контракт партиционирования и размера файлов
- определить частоту доставки и обещания по свежести данных
- развести доступ по получателям с отдельными учётными данными
- распределить расходы на egress между сторонами

## Примеры запросов агенту
- Спроектируй bulk-экспорт для наших клиентов: Parquet в S3 или Snowflake share?
- Помоги выбрать частоту доставки: full dump, incremental или CDC
- Продумай контракт эволюции схемы между батчами и модель доступа к общему бакету

## Похожие
- [connecting-to-data-source](https://affpapa.org/nevibecode/skills/connecting-to-data-source.md) — скилл · 6800 установок
- [data-context-extractor](https://affpapa.org/nevibecode/skills/data-context-extractor.md) — скилл · 3100 установок
- [sql-queries](https://affpapa.org/nevibecode/skills/sql-queries.md) — скилл · 4500 установок
- [writing-sql](https://affpapa.org/nevibecode/skills/writing-sql.md) — скилл · 2900 установок
- [dbt-sf-to-bq-translator](https://affpapa.org/nevibecode/skills/dbt-sf-to-bq-translator.md) — скилл · 2300 установок
- [neo4j-snowflake-graph-analytics-skill](https://affpapa.org/nevibecode/skills/neo4j-snowflake-graph-analytics-skill.md) — скилл · 752 установки

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

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