handle-complaint — скилл для Claude Code: разбор жалоб клиентов
Ведёт жалобу клиента по шагам: поднимает историю заказа, готовит черновик ответа и подсказывает, что исправить в процессе.
npx skills add ilyautov/small-business-ru --skill handle-complaint -a claude-codeЧто делает handle-complaint
Скилл берёт входящую претензию и проходит её целиком. Сначала находит переписку по ID письма или обращения — либо по слову «последняя», чтобы взять самую свежую нерешённую жалобу. Потом собирает контекст: прошлые покупки, прежние претензии и стадию сделки из ~~crm, статус заказа и возвратов из ~~платежей.
Дальше готовит ответ в зависимости от ситуации. Первая жалоба от клиента с крупной историей покупок — тон мягче, повторная — твёрже. Черновик всегда остаётся черновиком: скилл показывает его владельцу и не отправляет сам. Возвраты и компенсации он тоже не оформляет, а только предлагает вариант.
На четвёртом шаге скилл смотрит, повторяется ли проблема. Если похожие обращения уже были, называет число и предлагает конкретное изменение в работе. Нужен доступ к почте или CRM: когда оба коннектора недоступны, текст жалобы придётся вставить вручную. Без ~~платежей статус заказа проверить не получится, и скилл честно об этом отметит. Юридические формулировки по возврату товара он берёт из общей рамки закона о защите прав потребителей, не выдумывая статьи и сроки.
Внутри — четыре шага с опорой на два соседних скилла: ticket-deflector для чтения обращения и ответа, customer-pulse для поиска повторов.
Какие задачи решает
- разобрать жалобу клиента и не потерять нить переписки
- собрать историю покупок и прошлых претензий перед ответом
- написать черновик ответа в подходящем тоне
- найти повторяющуюся причину жалоб и предложить исправление
- проверить статус заказа и возвратов по конкретному клиенту
Примеры запросов агенту
- Разбери жалобу по обращению
~~crm 4821и покажи черновик ответа - Возьми последнюю нерешённую жалобу и предложи, что починить в процессе
- Собери контекст по клиенту и подготовь ответ на претензию о качестве товара
Как установить handle-complaint
1Через Skills CLI (Vercel)
npx skills add ilyautov/small-business-ru --skill handle-complaint -a claude-code2Вручную: положить файлы
~/.claude/skills/handle-complaint/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/handle-complaint/
1Через Skills CLI (Vercel)
npx skills add ilyautov/small-business-ru --skill handle-complaint -a codex2Вручную: положить файлы
.agents/skills/handle-complaint/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ilyautov/small-business-ru --skill handle-complaint -a cursor2Вручную: положить файлы
.cursor/skills/handle-complaint/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ilyautov/small-business-ru handle-complaint2Вручную: положить файлы
.github/skills/handle-complaint/SKILL.md1Через Skills CLI (Vercel)
npx skills add ilyautov/small-business-ru --skill handle-complaint -a gemini-cli2Командой платформы
gemini skills install https://github.com/ilyautov/small-business-ru --path small-business-ru/skills/handle-complaintВручную: положить файлы
.devin/skills/handle-complaint/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ilyautov/small-business-ru --skill handle-complaint -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о handle-complaint
Как установить handle-complaint в Claude Code?
Выполните npx skills add ilyautov/small-business-ru --skill handle-complaint -a claude-code. Скилл появится по пути ~/.claude/skills/handle-complaint/SKILL.md.
Что делает handle-complaint?
Проводит жалобу клиента через четыре шага: загрузка обращения, сбор контекста по клиенту, черновик ответа и предложение исправить процесс. Ничего не отправляет и не оформляет без подтверждения владельца.
Что нужно, чтобы скилл заработал?
Доступ к почте или CRM для чтения переписки. Если оба коннектора недоступны, текст жалобы вставляют вручную, и разбор идёт по нему.
Исходный текст
SKILL.md · Apache-2.0
---
name: handle-complaint
description: >
Обрабатывает входящую жалобу клиента от начала до конца — подтягивает контекст, готовит ответ и предлагает операционное исправление. Принимает необязательный аргумент — ID письма или обращения. Командная форма: вызывается по имени.
allowed-tools: Read, WebFetch
---
<!-- Производное от Anthropic knowledge-work-plugins / small-business (Apache-2.0, (c) Anthropic). Локализовано под РФ, файл изменён. См. /NOTICE и /LICENSE. -->
Злой клиент — это ещё спасаемый клиент, если ответить быстро и по делу. Скилл поднимает историю и заказ, готовит ответ под остроту ситуации и заодно подсказывает, что починить, чтобы та же жалоба не пришла снова.
Запустите разбор жалобы, связав два скилла. Прочитайте жалобу, соберите контекст, подготовьте ответ и предложите исправление, чтобы это не повторилось.
Разбор аргументов:
- `EMAIL_OR_TICKET_ID` (необязательно) — ID письма (`~~почта`), ID обращения (`~~crm`) или «последняя», чтобы взять самую свежую нерешённую жалобу. Если не указан — попросите владельца вставить текст жалобы.
## Шаг 1 — Загрузить жалобу (ticket-deflector)
По рабочему процессу скилла `ticket-deflector`:
1. Если дан ID: подтяните полную переписку из `~~почты` или `~~crm`.
2. Если «последняя»: подтяните самое свежее нерешённое обращение из `~~crm` или письмо из `~~почты` с пометкой жалоба/поддержка.
3. Если ничего нет: попросите владельца вставить текст жалобы напрямую.
4. Определите: имя клиента, данные заказа/счёта, чем недоволен, что просит.
## Шаг 2 — Собрать контекст
1. Найдите историю клиента в `~~crm`: прошлые покупки, прежние жалобы, стадия сделки, сумма покупок за всё время.
2. Найдите связанную операцию в `~~платежах`: статус заказа, история возвратов, статус спора.
3. Сведите итог: «Это {новый/постоянный} клиент, покупок на {сумма} ₽, {0/N} прежних жалоб. Текущая проблема — {одно предложение}.»
## Шаг 3 — Подготовить ответ (ticket-deflector)
По рабочему процессу скилла `ticket-deflector` (ответ в подобранном тоне):
1. Подготовьте ответ под остроту ситуации и историю клиента:
- Впервые жалуется, много покупок → с пониманием, щедро
- Жалуется повторно → корректно, твёрдо, по делу
- Хамит → корректно, кратко, с обозначением границ
2. Включите: признание, объяснение (если известно), предложение решения, следующий шаг.
3. ⚠️ Если жалоба про возврат/качество товара — действуйте в общей рамке закона «О защите прав потребителей», не выдумывайте конкретные статьи и сроки. При сомнении — «уточните условия возврата».
4. Покажите черновик владельцу. НЕ отправляйте.
## Шаг 4 — Предложить операционное исправление (customer-pulse)
1. Проверьте, попадает ли жалоба в известную тему (из прошлых запусков `customer-pulse-check` или похожих жалоб в `~~crm`).
2. Если это паттерн: «Это {N}-я жалоба про {проблема} за месяц. Стоит рассмотреть: {конкретное изменение}.»
3. Если единичный случай: «Похоже на разовый случай. Паттерн не обнаружен.»
## Сбои коннекторов
Если `~~почта` и `~~crm` обе недоступны — попросите владельца вставить текст жалобы; скилл работает с ручным вводом. Если нет `~~платежей` — пропустите поиск операции и отметьте «Платежи не подключены — статус заказа недоступен, работаю по тексту жалобы».
## Точки подтверждения (approval gates)
- **Никогда не отправляйте ответ без явного одобрения владельца.** Только черновики.
- **Никогда не оформляйте возвраты или компенсации автоматически.** Покажите вариант — решает владелец.
- **Никогда не закрывайте обращения и не разрешайте споры без подтверждения владельца.**
## Вывод
Покажите сводку контекста по клиенту, черновик ответа и операционное предложение (если есть паттерн). Спросите: «Отправить этот ответ, отредактировать или поступить иначе?»
© ilyautov · Apache-2.0 · ilyautov/small-business-ru