# cleanup-lead-owners

Убирает из 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/cleanup-lead-owners/SKILL.md
- Обновлён: 2026-10-13
- HTML: https://affpapa.org/nevibecode/skills/cleanup-lead-owners

## Что делает

Скилл проходит CRM по Owners API: тянет активных и деактивированных владельцев, сверяет их с вашим списком текущих сотрудников и помечает тех, кто записями владеть не должен. Отдельно считает, сколько контактов, компаний и сделок висит на каждом таком владельце.

Дальше записи переназначаются через batch update — на одного владельца или по правилам территории и round-robin. Компании и сделки переезжают вместе с контактами. После этого скилл советует прогнать `/assign-unowned-contacts`, чтобы поймать записи, оставшиеся без владельца, и проверить, что ни на одном деактивированном ID не висит ни одного контакта.

Заранее понадобится сервисный ключ HubSpot в `HUBSPOT_ACCESS_TOKEN` внутри `.env` со скоупами `crm.objects.owners.read` и правами на запись контактов, компаний и сделок, Python 3.10+ с `uv`, список действующих сотрудников и правило, кому отдавать осиротевшие записи. Деактивация пользователей требует прав Super Admin в настройках HubSpot. Без списка сотрудников сверять владельцев не с чем, так что скилл просто не сможет отделить уволенных от работающих. Перед изменениями сохраните лог исходных назначений: откат делается batch-обновлением `hubspot_owner_id` обратно.

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

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install TomGranot/hubspot-admin-skills cleanup-lead-owners
```

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add TomGranot/hubspot-admin-skills --skill cleanup-lead-owners -a opencode
```

### Claude.ai

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

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

## Когда брать
- убрать уволенных сотрудников из списка владельцев HubSpot
- переназначить контакты, компании и сделки departed-владельцев
- найти активных пользователей, которые больше не работают в компании
- посчитать, сколько записей висит на каждом неактуальном владельце
- проверить, что после переназначения не осталось записей без владельца

## Примеры запросов агенту
- Пройди по владельцам HubSpot и покажи, кто из них уже не сотрудник
- Переназначь контакты и сделки уволенных на нового владельца по территории
- Проверь, что ни на одном деактивированном владельце не осталось контактов

## Похожие
- [bulk-operations](https://affpapa.org/nevibecode/skills/bulk-operations.md) — скилл · 1800 установок
- [hubspot](https://affpapa.org/nevibecode/skills/hubspot.md) — скилл · 858 установок
- [closed-lost-revival](https://affpapa.org/nevibecode/skills/closed-lost-revival.md) — скилл · ★ 111
- [ticket-resolution](https://affpapa.org/nevibecode/skills/ticket-resolution.md) — скилл · 2000 установок
- [call-list](https://affpapa.org/nevibecode/skills/call-list.md) — скилл · 1600 установок
- [crm-icp-analysis](https://affpapa.org/nevibecode/skills/crm-icp-analysis.md) — скилл · ★ 111

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

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