# enrich-company-name

Копирует название компании из связанной записи в пустое поле контакта 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/enrich-company-name/SKILL.md
- Обновлён: 2026-10-13
- HTML: https://affpapa.org/nevibecode/skills/enrich-company-name

## Что делает

Скилл закрывает дыру в CRM: у контакта есть связь с компанией, а поле Company name пустое. Такие контакты не попадают в сегменты по компаниям и ломают токены персонализации в письмах.

Внутри два скрипта: `scripts/before.py` считает контакты без названия компании до правок, `scripts/after.py` повторяет тот же запрос после и сравнивает с базой. Запускаются через `uv run`. Сам процесс обогащения скриптом не делается: это workflow в HubSpot, который копирует Company > Name в Contact > Company name. В нём есть задержка 10 минут — без неё автосвязывание не успевает разобрать домен почты и создать связь. Ветка «нет» остаётся пустой, туда попадают адреса вроде gmail.com.

Для workflow нужен Marketing Hub Professional или Sales Hub Professional. Для скриптовых этапов — сервисный ключ HubSpot в `.env` как `HUBSPOT_ACCESS_TOKEN` с правами чтения и записи контактов, Python 3.10+ и `uv`. Ещё в настройках должен быть включён тумблер «Create and associate companies with contacts»: без него компания из домена не создастся и копировать будет нечего. Есть и необязательный бэкфилл через API — четыре вызова от поиска контактов до batch-обновления, по 100 записей за раз.

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

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

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

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

## Когда брать
- заполнить пустое поле Company name у контактов из связанной компании
- починить токены персонализации в письмах, которые ломаются на пустом названии
- вернуть контакты в сегменты по компаниям
- снять базовый замер: сколько контактов без названия компании до правок
- догрузить данные сразу через API, не дожидаясь обработки в workflow

## Примеры запросов агенту
- Посчитай, у скольких контактов пустое поле Company name, запусти `scripts/before.py`
- Собери workflow, который копирует название из связанной компании в контакт
- Проверь результат после обогащения через `scripts/after.py`

## Похожие
- [hubspot](https://affpapa.org/nevibecode/skills/openclaudia-hubspot.md) — скилл · 438 установок
- [customer-retention](https://affpapa.org/nevibecode/skills/customer-retention.md) — скилл · 1700 установок
- [crm-data-quality](https://affpapa.org/nevibecode/skills/crm-data-quality.md) — скилл · 1800 установок
- [closed-lost-revival](https://affpapa.org/nevibecode/skills/closed-lost-revival.md) — скилл · ★ 111
- [HubSpot MCP](https://affpapa.org/nevibecode/mcp/hubspot-mcp.md) — MCP-сервер · ★ 63
- [call-list](https://affpapa.org/nevibecode/skills/call-list.md) — скилл · 1600 установок

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

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