# crm-data-quality

Скилл для работы с записями HubSpot: находит незаполненные поля, приводит значения к одному виду, сливает дубликаты и проверяет свойства.

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

## Что делает

Скилл опирается на `bulk-operations`: JSONL-пайпы, пакетное чтение, пагинация и схема dry-run → digest → confirm работают во всех командах ниже. Сначала читается `bulk-operations/SKILL.md`, потому что без пагинации поиск отдаёт максимум 100 строк за вызов, и дубликаты на границе страниц просто потеряются.

Имена свойств не угадываются — их смотрят через `hubspot properties list`. Дальше три сценария: поиск неполных записей фильтрами вроде `!email` или `!phone AND !mobilephone`, нормализация значений через `jq` с записью в `objects update`, и слияние дубликатов командой `hubspot objects merge`. Для слияния вторичная запись складывается в основную и удаляется — отката нет, поэтому сначала `--dry-run`, потом тот же поток с `--digest` и `--confirm`.

Четвёртая часть — аудит свойств: подсчёт по группам, список enumeration-полей, работа с опциями через `properties options-*`. У свойств, заданных самим HubSpot, опции только для чтения, и `options-create`, `options-update`, `options-delete` отклоняются до обращения к API. Если слияние всё же ушло не в ту сторону, вторичную запись достают из корзины в интерфейсе, а `hubspot history --since 1h` покажет след операции.

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

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add HubSpot/agent-cli-skills --skill crm-data-quality -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add HubSpot/agent-cli-skills --skill crm-data-quality -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add HubSpot/agent-cli-skills --skill crm-data-quality -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install HubSpot/agent-cli-skills crm-data-quality
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add HubSpot/agent-cli-skills --skill crm-data-quality -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/HubSpot/agent-cli-skills --path crm-data-quality
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add HubSpot/agent-cli-skills --skill crm-data-quality -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/HubSpot/agent-cli-skills/tree/HEAD/crm-data-quality/SKILL.md

## Когда брать
- найти контакты без email или телефона
- привести разнобой в названиях компаний к одному значению
- слить дубликаты контактов по совпадающему email
- проверить, какие свойства заведены в аккаунте и в каких группах
- посмотреть допустимые значения enumeration-свойства

## Примеры запросов агенту
- найди контакты без телефона и покажи их email
- приведи названия компании к одному виду и сначала прогони dry-run
- сли дубликаты контактов по email, начни с dry-run

## Похожие
- [crm-data-governance](https://affpapa.org/nevibecode/skills/crm-data-governance.md) — скилл · 20300 установок
- [data-quality-frameworks](https://affpapa.org/nevibecode/skills/data-quality-frameworks.md) — скилл · 11230 установок
- [data-quality-auditor](https://affpapa.org/nevibecode/skills/data-quality-auditor.md) — скилл · 621 установка
- [analyze-data-quality](https://affpapa.org/nevibecode/skills/analyze-data-quality.md) — скилл · 9 установок
- [canva-creator](https://affpapa.org/nevibecode/skills/canva-creator.md) — скилл · 1900 установок
- [data-quality-checker](https://affpapa.org/nevibecode/skills/data-quality-checker.md) — скилл · 3300 установок

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

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

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