All skills

Набор утилит и инструкций для автоматизации Яндекс.Директа через ZoomKit: проверка рекламных ссылок и страниц на ошибки, настройка зануления автотаргетинга на поиске и управление ставками с пересчётом каждые 30 минут. Используй, когда нужно настроить или использовать ZoomKit для работы с Яндекс.Директом, получить список подключённых проектов или аккаунтов, отчёты и состояние кабинетов или кампаний, либо узнать тарифы, баланс и счета сервиса.

Use this Skill: https://skilld.dev/gh/artwist-polyakov/polyakov-claude-skills/zoomkit

This session only. Nothing lands on disk.

referencesYANDEX_DIRECT.md

≈3k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Яндекс.Директ через ZoomKit

Общий порядок изменений

  1. Получи текущее состояние командой чтения.
  2. Покажи пользователю идентификаторы и точное тело изменения.
  3. Проверь запрос с --dry-run.
  4. После явного запроса пользователя повтори с --confirm.

Сценарий не делает автоматических повторов изменяющих запросов.

Обновление кабинета

client-update ставит обновление одного кабинета в очередь. 202 означает только принятие задачи; способа проверить завершение в API 1.9.0 нет. Повтор в течение выполнения даёт 409, ограничение снимается не позже чем через 10 минут. Каждый запуск расходует баллы Яндекс.Директа.

clients возвращает официальный «Список проектов/аккаунтов»: логины интеграций и вложенные проекты/аккаунты, то есть рекламные кабинеты. Он не показывает признак тарификации. Отключить кабинет или логин от списаний через API нельзя. client-update не отключает кабинет, а search_enabled: false выключает биддер только в одной кампании и не означает прекращение списаний.

Для ручного управления открой https://zoomkit.ru/yandex/tokens. В официальном снимке интерфейса есть действие «Убрать ключ», но открытые материалы подтверждают только потерю доступа к связанным кампаниям, а не прекращение списаний и не отключение одного кабинета. Не выдавай это действие за управление тарифом: для точного отключения обратись в support@zoomkit.ru.

Если кабинет не удаётся распознать

Отсутствие совпадения по названию или комментарию означает только, что кабинет не удалось надёжно определить. Не говори, что его точно нет в ZoomKit, если в полном ответе clients остаются аккаунты с пустым комментарием и непонятным техническим именем. Это особенно важно для агентских кабинетов с именами вида porg-*: по такому имени нельзя угадывать клиента.

Если пользователь знает, что кабинет подключён:

  1. Открой в личном кабинете ZoomKit страницу https://zoomkit.ru/yandex/direct.
  2. В меню выбери «Клиенты и дневной расход».
  3. В открывшейся таблице заполни поле «Комментарий» для всех непонятных аккаунтов, особенно porg-*. Используй однозначное название клиента, организации или сайта.
  4. После сохранения повтори clients и ищи кабинет по комментарию в полном ответе.

Публичный API возвращает заполненный комментарий в списке проектов/аккаунтов. Сценарий не должен пытаться изменить это поле через client-update: эта команда только обновляет данные кабинета.

Правила ставок

Сначала получи ClientId вложенного кабинета командой clients, затем выполни campaigns --client ID. Команда показывает идентификатор, название, тип, состояние, статус модерации, валюту и признак can_set_bids для каждой кампании. Архивные кампании входят в ответ; для аудита правил ставок используй полученные campaign_id и учитывай, что can_set_bids: false означает непригодность кампании для управления ставками.

Список берётся из данных ZoomKit и может отставать от Яндекс.Директа — проверяй updated_at и hints. Мастер кампаний и товарные кампании не попадают в ZoomKit вообще. Если отсутствует недавно созданная ЕПК или другая обычная кампания, обнови кабинет только после явного запроса пользователя командой client-update --client ID --confirm, затем повтори campaigns. Команда bidrules показывает настройки правил, а не фактическую текущую ставку каждой фразы.

Общее правило меняется частичным объектом из assets/bidrule-update.example.json. Допустимы:

  • search_enabled;
  • search_traffic_volume: 999, 100, 95, 90, 85, 80, 75, 65, 15, 5;
  • search_increase_percent: от 0 до 100;
  • search_max_bid: число не меньше 0;
  • search_max_bid_from_price.

Для создания правила по фразам используй assets/bidrule-keywords.example.json. Поле phrases при создании обязательно: оно содержит 1–300 строк не длиннее 255 знаков; при изменении существующего правила это поле можно не передавать. exact включает точное совпадение. Дефис во фразе запрещён. Перед первым правилом по фразам у кампании должно быть сохранено общее правило нового алгоритма, иначе API вернёт 409.

Правила автотаргетинга нельзя изменить или удалить обычными командами правил. Ответ bidrules не содержит документированного признака, позволяющего надёжно узнать тип такого правила. Поэтому даже со списком campaigns API не позволяет достоверно выделить кампании, где правила автотаргетинга не хватает.

autotargeting не проверяет, а сразу создаёт недостающие правила в подходящих неархивных кампаниях активных кабинетов выбранного ключа; существующие правила не меняет и возвращает только число созданных. Не запускай её для диагностического запроса. При явном запросе на исправление особенно внимательно проверь --token-id: это id интеграции yandex.direct из clients, а не идентификатор Bearer-ключа из token и не ID кабинета.

Проверка ссылок

url-check-settings-update меняет только документированные переключатели и check_urls_max_time (0–600 секунд). Текстовые настройки доступны лишь на чтение в text_settings; для их изменения открой точный settings_url из ответа url-check-settings.

Для страницы товара, которая отвечает 200, но теряет доступность товара, есть два ручных варианта:

  • указать устойчивую строку доступного товара, например текст кнопки покупки, и включить «считать ошибкой отсутствие строки» (check_urls_substring_must_present=true);
  • указать сообщение наподобие «нет в наличии» и считать ошибкой наличие строки (check_urls_substring_must_present=false).

Названия и значение текстового поля задай вручную по settings_url. Если приходится идти через меню, официальная анимация показывает путь: «Яндекс.Директ» → список кампаний → выбрать кампанию и «Изменить» либо нажать карандаш → вкладка «Проверка ссылок». В ней показаны поля «Проверять ссылки в этой кампании» и «Сообщать об ошибке, если строка» с вариантами «присутствует на странице» и «отсутствует на странице». Интерфейс на анимации может быть старее текущего, поэтому settings_url имеет приоритет.

После ручной настройки строки переключатели автоматизации можно включить через API. Заготовка assets/url-check-product-protection.example.json явно задаёт весь набор условий автоприостановки: оставляет включёнными HTTP 4xx и строковое правило, но выключает перенаправления, 5xx, прочие ошибки и числительные. Сначала сравни её с ответом url-check-settings, покажи точные изменения и отправь только после явного подтверждения. Для настоящего HTTP 404 строковое правило не требуется: важны check_urls_enabled, suspend_urls_enabled и suspend_urls_if_400_499. Официальный пример отчёта подтверждает отображение ошибки 404.

Чтобы найти кампании с выключенной проверкой, для каждого кабинета выполни campaigns --client ID, затем проверь check_urls_enabled командой url-check-settings --campaign ID. Назови ограничение списка: мастер кампаний и товарные кампании отсутствуют, а недавно созданные кампании могут ещё не синхронизироваться.

Завершённые проверки хранятся двое суток. Состояния отчёта: in_progress, clean, has_problems, no_data. Публичная ссылка на отчёт через API не возвращается, потому что она открывает данные без авторизации.

Source: SKILL.md on GitHub

No alerts17d3 checks · Risk SAFE
  • Gen Agent Trust Hub17d

    A specialized toolset for automating Yandex.Direct campaigns via the ZoomKit marketing platform. It features a POSIX-compliant shell script client with built-in JSON validation, secure credential handling, and comprehensive documentation for safe operation.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: LOW · No issues

Signed by skilld at 91b075f. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last week.

Activeupdated 3 weeks ago

README badge

README badge for artwist-polyakov/polyakov-claude-skills/zoomkit