# waterfall-enrich-contacts

Достаёт из внешних провайдеров почту, телефон и должность контактов HubSpot и записывает их обратно с журналом изменений.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 78
- Автор: tomgranot
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/TomGranot/hubspot-admin-skills/tree/HEAD/skills/waterfall-enrich-contacts/SKILL.md
- Обновлён: 2026-10-13
- HTML: https://affpapa.org/nevibecode/skills/waterfall-enrich-contacts

## Что делает

Скилл закрывает то, чего не умеет внутреннее обогащение: если почты, прямого номера или должности контакта нет нигде в HubSpot, данные тянет сторонний провайдер. По умолчанию это FullEnrich — агрегатор, который перебирает больше 20 источников, пока один не даст результат. Кроме него в комплекте адаптеры Apollo, Hunter и Dropcontact, а по шаблону `providers/_template.py` подключается ваш собственный провайдер. Переключение — одной переменной: `ENRICHMENT_PROVIDER=apollo`.

Работа разбита на четыре шага: `scripts/before.py` считает кандидатов и потолок стоимости, `scripts/execute.py` выбирает до `MAX_CONTACTS` контактов, спрашивает ввод `ENRICH` до траты кредитов, зовёт адаптер и просит `WRITE` перед записью в HubSpot, `scripts/after.py` сравнивает числа с базовыми. Существующие непустые значения не перезаписываются, если не выставить `ENRICHMENT_OVERWRITE=true`. Каждая запись и каждый пропуск попадают в CSV с прежним значением, новым и источником — по колонке `old` прогон откатывается.

Нужны сервисный ключ HubSpot с правами чтения и записи контактов в `.env`, Python 3.10+ с `uv` и ключ выбранного провайдера. Обогащение отправляет имена и данные компаний третьей стороне и втягивает персональные данные, поэтому до запуска согласуйте это с теми, кто отвечает за приватность. Начните с прогона на 25–50 контактах: качество провайдера зависит от сегмента, и без ручной проверки первых результатов масштабировать не стоит.

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

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add TomGranot/hubspot-admin-skills --skill waterfall-enrich-contacts -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add TomGranot/hubspot-admin-skills --skill waterfall-enrich-contacts -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add TomGranot/hubspot-admin-skills --skill waterfall-enrich-contacts -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install TomGranot/hubspot-admin-skills waterfall-enrich-contacts
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add TomGranot/hubspot-admin-skills --skill waterfall-enrich-contacts -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/TomGranot/hubspot-admin-skills --path skills/waterfall-enrich-contacts
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add TomGranot/hubspot-admin-skills --skill waterfall-enrich-contacts -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/TomGranot/hubspot-admin-skills/tree/HEAD/skills/waterfall-enrich-contacts/SKILL.md

## Когда брать
- заполнить пропущенные телефоны у контактов HubSpot
- найти рабочую почту по имени и домену компании
- дотянуть должности для списка лидов из CRM
- подключить своего провайдера обогащения вместо встроенного
- откатить неудачный прогон по CSV-журналу

## Примеры запросов агенту
- Посчитай кандидатов и потолок стоимости: `uv run scripts/before.py`
- Запусти обогащение телефонов через FullEnrich: `uv run scripts/execute.py`
- Сравни результаты с базовыми и покажи, что записалось: `uv run scripts/after.py`

## Похожие
- [seo-audit](https://affpapa.org/nevibecode/skills/coreyhaines31-seo-audit.md) — скилл · 238500 установок
- [programmatic-seo](https://affpapa.org/nevibecode/skills/coreyhaines31-programmatic-seo.md) — скилл · 150800 установок
- [copy-editing](https://affpapa.org/nevibecode/skills/coreyhaines31-copy-editing.md) — скилл · 149800 установок
- [marketing-ideas](https://affpapa.org/nevibecode/skills/coreyhaines31-marketing-ideas.md) — скилл · 147400 установок
- [sales-enablement](https://affpapa.org/nevibecode/skills/sales-enablement.md) — скилл · 119400 установок
- [revops](https://affpapa.org/nevibecode/skills/revops.md) — скилл · 114000 установок

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

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