Скилл превращает ИИ-агента в директолога: агент собирает ключевые слова, подбирает минус-слова, пишет объявления, задаёт стратегию торгов и ставку по реальному аукциону, а затем создаёт кампанию в кабинете Яндекс Директа.
$ npx -y skills add ai-hub-open/yandex-direct-manager --agent claude-code
Repo: ai-hub-open/yandex-direct-manager
What's inside
Скилл превращает ИИ-агента в директолога: агент собирает ключевые слова, подбирает минус-слова, пишет объявления, задаёт стратегию торгов и ставку по реальному аукциону, а затем создаёт кампанию в кабинете Яндекс Директа.
Термины, которые дальше используются как рабочие:
Факты и числа в этом файле сверены с релизом 0.14.0 от 14.09.2026; состав шагов и артефактов до версии 1.0 может меняться (см. CHANGELOG.md).
Договор скилла. На входе — бриф маркетолога и доступ к рекламному кабинету. На выходе — кампания в кабинете плюс файлы с ключами, объявлениями, медиапланом и обоснованием каждого шага. Гарантия одна и жёсткая: числа берутся из источников, а не придумываются, и на точках контроля агент останавливается и ждёт решения маркетолога. Граница тоже одна: скилл создаёт новую кампанию и не ведёт её дальше.
Скилл создаёт рабочую папку direct-campaigns/<slug>/. Каждый шаг пишет в неё артефакт, и этот артефакт становится входом следующего шага — поэтому маршрут переживает обрыв сессии: агент читает _state.json и продолжает с места остановки, а не начинает заново.
| Шаг | Что делает агент | Артефакты |
|---|---|---|
| 0. Бриф | 12 вопросов одним блоком: продукт, сайт, регион, бюджет, каналы, УТП и сужающие слова, цель в Метрике, целевая стоимость обращения, лицензируемая тематика | 00_brief.md |
| 0.5. Кабинет | accounts_get показывает режим подключения и список кабинетов; выбранный логин фиксируется и подставляется в каждый последующий вызов | _state.json |
| 1. Маски | Две колонки — сужающие слова × общие и товарозаменители; частотность масок одним пакетным вызовом Вордстата | 01_masks_matrix.md, 01_masks.json |
| 2. Прогноз | Необходимая частотность под бюджет в трёх сценариях и оценка цены клика | 02_frequency.md, 02_frequency.json |
| 3. Семантика | Расширение ядра и пакетная проверка частотностей; выполняется в отдельном субагенте, чтобы тысячи фраз не вытеснили из контекста решения шагов 0–2 | 03_semantics_raw.csv |
| 4. Кластеризация | Пороги НЧ < 350, СЧ 350–750, ВЧ > 750 показов в месяц и распределение по Поиску и РСЯ | 04_keys_*.csv |
| 5. Структура | Один угол, сегмент или лендинг — одна кампания ЕПК: Поиск, РСЯ, Галерея и Карты обслуживает одна кампания. Здесь же осознанно задаются категории и ставка автотаргетинга | 05_campaign_structure.json |
| 6. Минус-слова | Три уровня минус-слов и матрица кросс-минусации — чтобы кампании не перекупали друг у друга один и тот же запрос | 06_*.csv, 06_negative_keywords.json |
| 7. Цели Метрики | Аудит счётчика, план целей под то, что в проекте считается конверсией, создание целей через Management API | 07_metrika_goals.json |
| 8. Объявления | Комбинаторное объявление: 3–7 заголовков (≤ 56 символов), 2–3 текста (≤ 81), быстрые ссылки, уточнения, отображаемая ссылка; проверка лимитов до загрузки | 08_creatives.json, ads.xlsx |
| 8.5. Визуалы | Сначала приём файлов или публичных ссылок от маркетолога, затем генерация; ассеты проверяются под техтребования Директа | assets/images/*, assets/validation_report.json |
| 9. Стратегия торгов | Три фазы с триггерами переключения; каждая фаза описана параметрами API, а не прозой | 09_bidding_strategy.json |
| 10. Создание кампании | Предпросмотр dry_run, затем создание кампании, группы, объявления, ключей, ставок и корректировок; медиаплан и список ручной работы | 10_launch_log.md, media_plan.docx |
Цена клика всегда с пометкой источника. Порядок: историческая средняя цена клика по похожим кампаниям аккаунта (report_campaign) → живой аукцион по ключам аккаунта (keywordbids_get) → прогноз по маскам (forecast_bids) → справочник цены клика по нишам → значение от маркетолога. Берётся первый доступный источник, и он записывается в 02_frequency.json полями cpc_source и cpc_source_details. Сам агент цену клика у маркетолога не спрашивает и не прикидывает: непробитая частотность помечается frequency: n/a, а не заполняется правдоподобным числом.
Картинки РСЯ попадают в объявление автоматически — с версии 0.13.0. Локальный файл публикуется во временном хранилище, Директ скачивает его по публичной ссылке (adimages_add с image_url) и возвращает хеш, хеш уходит в объявление. Ссылка живёт не дольше двух часов, и это не мешает: Директ сохраняет картинку у себя в момент вызова. Картинку, которую маркетолог дал публичной ссылкой сразу, хранилище не трогает. Нет ни хранилища, ни запуска кода — объявление создаётся без картинок, а они уходят в список ручной работы.
Точки контроля. Бриф, семантика, структура, минус-слова, объявления, ставки и само создание кампании в кабинете. На каждой агент показывает решение и ждёт явного подтверждения. Шаг, выполненный без необязательной способности среды, получает пометку о пропуске — что не добрано и как это добрать, — и все такие пометки сводятся в 10_launch_log.md одним списком.
git clone https://github.com/ai-hub-open/yandex-direct-manager.git
cd yandex-direct-manager
python install.py
install.py проверяет версию Python, ставит зависимости из requirements.txt и прогоняет импорт модулей; запускать повторно безопасно. Альтернативы: архив yandex-direct-manager.skill из релизов — распаковать и запустить python install.py внутри — или Code → Download ZIP.
Дальше папка кладётся туда, где среда ищет скиллы:
# Claude Code, macOS / Linux
cp -r yandex-direct-manager ~/.claude/skills/
# Claude Code, Windows PowerShell
Copy-Item -Recurse yandex-direct-manager "$env:USERPROFILE\.claude\skills\"
Среда с загрузкой скиллов архивом: упаковать папку в ZIP (./package.sh соберёт .skill — это тот же ZIP), загрузить в разделе скиллов, включить в списке. Среда без отдельной функции скиллов: содержимое SKILL.md идёт в инструкции проекта, файлы references/ и assets/ загружаются рядом; если среда не запускает локальные скрипты, агент отдаёт команды текстом и работает с присланным выводом.
В пакете один SKILL.md — в корне. subagents/semantics.md — вспомогательная инструкция для субагента, переименовывать её в SKILL.md не нужно.
| Путь | Содержимое |
|---|---|
SKILL.md | маршрут: 10 шагов, точки контроля, матрица способностей среды |
references/ | 20 справочников: пороги, формулы, лимиты площадки, контракты MCP |
subagents/ | отдельный поток сбора и кластеризации семантики |
scripts/ | сбор семантики, оценка цены клика, проверка лимитов, генерация материалов и таблиц |
docs/ | подключение MCP и хранилища картинок |
Справочники открываются целиком до установки — по ним видно, на каких порогах и формулах работает маршрут.
Скиллу нужны два подключения — к Яндекс Директу и к Вордстату. Оба открывает один API-токен из профиля click.ru (https://click.ru/userinfo.html → «API Token»); аккаунт Директа должен быть подключён в click.ru.
python -m scripts.setup_yandex_direct_mcp --token <CLICK_RU_TOKEN> --target all
Установщик дописывает блоки mcpServers в конфиги Cursor, Claude Code и Claude Desktop (через mcp-remote), сохраняя уже прописанные серверы, и ничего не запускает. Флаги: --target (cursor, cursor-project, claude-code, claude-desktop, all; по умолчанию cursor), --dry-run, --remove, --server.
Формы адреса:
--server all) прописываются три сервера: yandex-direct, yandex-wordstat и хранилище картинок KeepImage. Токен идёт заголовком, а не в пути URL: путь попадает в логи прокси и в историю.--client-login необязателен. Без него вызовы уходят в кабинет по умолчанию, а их на одном токене бывает несколько. Логин закрепляет за подключением один кабинет; если он не задан, выбор кабинета делается на шаге 0.5 диалогом.forecast_bids и доступна песочница.Токен отзывается в профиле click.ru в любой момент; в артефакты рабочей папки агент его не пишет — хранилище ключей лежит вне её, в ~/.yandex-direct-manager.
Проверка после подключения: перезапустить клиента и позвать accounts_get({}) — он покажет режим подключения и список кабинетов. Частотность проверяется просьбой пробить любую фразу: агент должен позвать wordstat_shows_batch. Детали заголовков, URL и форматов конфигов — в docs/hosted-mcp-setup.md, контракты инструментов — в references/yandex-direct-mcp.md.
Подключение необязательно. Без него скилл доходит до конца по ветке без живых данных: частотность — через scripts/wordstat_api.py (ключ Yandex Cloud Search API) или браузерным пробивом, цена клика — из справочника по нишам, кампания — файлами для импорта в Директ Коммандер. Каждый такой обход помечается в артефакте шага.
Подготовьте продукт и адрес сайта, регион, бюджет, УТП и слова отстройки, цель в Метрике и целевую стоимость обращения. Затем в строке чата:
/yandex-direct-manager Собери кампанию в Яндекс Директе для <продукт>, сайт <адрес>.
Агент задаст бриф одним блоком, параллельно изучит сайт и пойдёт по этапам, останавливаясь на точках контроля. Чтобы вернуться к прерванной работе, скажите, что продолжаете эту же кампанию: агент найдёт direct-campaigns/*/, прочитает _state.json и продолжит с места остановки.
ads.xlsx и keywords.xlsx для загрузки через Директ Коммандер, media_plan.docx для рекламодателя. Нет openpyxl — таблицы сохраняются в CSV, нет python-docx — медиаплан в Markdown.10_launch_log.md. Что создано, с какими ID, что не удалось создать и что осталось доделать руками — вместе с разделом «Пропущено из-за среды». Этот файл читается до активации кампании: по нему видно, на каких данных кампания построена, а на каких нет.Обязательный минимум — две способности среды: чтение и запись файлов в рабочей папке и диалог с пользователем. Без первого не собирается цепочка артефактов, без второго не работают точки контроля.
Остальное необязательно, и у каждого пункта есть ветка «если нет»:
| Что | Где нужно | Если нет |
|---|---|---|
| Python 3.9 или новее | скрипты шагов 1, 2, 3, 8, 10 | команды выполняются вручную, вывод возвращается в диалог; теряется машинная проверка лимитов перед загрузкой |
| Подключения MCP к Директу и Вордстату | шаги 0.5, 1, 2, 3, 5, 8, 10 | справочник цены клика, браузерный пробив частотностей, импорт через Директ Коммандер |
| Субагенты или форк контекста | шаги 3–4 | шаги выполняются в основном контексте; тысячи ключей вытесняют решения предыдущих шагов |
| Чтение веб-страниц | шаг 0 (сайт), шаг 7 (счётчик Метрики) | данные со слов маркетолога, с соответствующей пометкой |
FAQ
yandex-direct-manager is a Claude Code plugin with 1 hand-picked skill for marketing work, indexed on Flowy. Install it with the command on its page. It includes yandex-direct-manager. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it