Описание
yandex-direct-skill — скилл ведения Директа через официальный API v5: аудит из 55 проверок — кампания просматривается по чек-листу, грейд A-F — итоговая оценка состояния, создание объявлений — прямые операции через API, отчёты — выгрузка показателей в нужном разрезе. Для директологов, которым нужен программный доступ к кампаниям с системной оценкой качества.
Что умеет:
— проводить аудит по 55 проверкам;
— ставить грейд A-F;
— создавать объявления через API;
— выгружать отчёты.
Полная документация ниже — автоматически из репозитория silverov/yandex-direct-skill (ветка master). Оригинальные материалы проекта распространяются на условиях его лицензии.
🎯 Yandex Direct Skill — AI Agent for PPC Management
The first open-source skill for managing Yandex Direct via AI agents.
v2.0 (October 2026): updated for Unified Performance Campaigns (ЕПК), combinatorial ads, weekly budgets and the current API. See Changelog.
Audit, create, optimize, and report on Yandex Direct campaigns — all through natural language commands. Built for OpenClaw and compatible AI agent frameworks.
Authors: Nick Serebrov & Kobe 🐍
✨ Features
| Command | Description |
|---|---|
/direct audit |
Full account audit — 55 checks, scoring 0-100, grades A-F |
/direct campaigns |
List campaigns with statuses and metrics |
/direct create |
Create a Unified Performance Campaign with groups, keywords and combinatorial ads |
/direct keywords |
Keywords and autotargeting (add, pause, bids, categories) |
/direct report |
Performance stats by priority Metrika goals (CTR, CPC, CPA, spend) |
/direct optimize |
Optimization recommendations (pause losers, adjust bids) |
/direct budget |
Weekly budget spend analysis and forecasting |
/direct negative |
Negative keyword management |
🔍 Audit System
55 checks across 6 categories:
- Conversions & Metrika (25%) — tracking setup, goals, attribution
- Wasted Spend / Negatives (20%) — negative keywords, search query analysis
- Account Structure (15%) — campaign organization, naming, geo split
- Keywords & Autotargeting (15%) — operators, autotargeting categories, CTR vs account median
- Ads & Extensions (15%) — moderation, combinatorial ads, images, sitelinks, callouts, ad marking
- Settings & Targeting (10%) — geo, bidding strategy, bid modifiers
Scoring: weighted algorithm → 0-100 score → grade A through F.
📦 What’s Inside
├── SKILL.md # Main skill file (agent instructions)
├── references/
│ ├── yandex-audit.md # 55 audit checks (YD01-YD55) with data sources
│ ├── scoring-system.md # Weighted scoring algorithm
│ ├── benchmarks.md # How to compare metrics + rough market references
│ ├── bidding-strategies.md # ЕПК strategies ↔ API, weekly budgets, bid modifiers
│ ├── compliance.md # FZ-38, ad marking, Russian language rules
│ └── image-specs.md # Images and video for combinatorial ads
├── scripts/
│ ├── yd-api.sh # API v5/v501 wrapper (Client-Login, auto v501 routing)
│ ├── yd-report.sh # Reports: presets, Metrika goals, offline polling
│ └── yd-audit.sh # Audit data collection (chunked, paginated, 4 reports)
└── agents/
└── audit-yandex.md # Audit subagent instructions
🚀 Quick Start
1. Get API Access
Apply for Yandex Direct API access at direct.yandex.ru → API settings.
2. Get OAuth Token
https://oauth.yandex.ru/authorize?response_type=token&client_id=YOUR_CLIENT_ID
3. Save Credentials
cat > ~/.secrets/yandex-direct.json << 'EOF'
{
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"oauth_token": "your_oauth_token",
"client_login": "optional: client login for agency accounts"
}
EOF
chmod 600 ~/.secrets/yandex-direct.json
4. Install Skill
Clone the repository into your agent’s skills directory (requires bash, curl, jq):
# OpenClaw
git clone https://github.com/Silverov/yandex-direct-skill ~/clawd/skills/direct
# Claude Code
git clone https://github.com/Silverov/yandex-direct-skill ~/.claude/skills/direct
5. Run Audit
Tell your agent: "Run a Yandex Direct audit" — and watch the magic happen.
📊 Russian Market Benchmarks
Rough references for the Russian PPC market (no official source — the audit compares with the account’s own medians first):
| Metric | Search | YAN (RSY) |
|---|---|---|
| CTR | 5-8% | 0.3-0.8% |
| CPC | 30-150₽ | 5-30₽ |
| CVR | 2-5% | 0.5-2% |
Benchmarks vary by industry — see references/benchmarks.md for full data.
📝 Changelog
v2.0.2 — October 2026
- Fixed:
yd-audit.shread campaigns and ad groups from v5, where a Unified campaign looks likeTEXT_CAMPAIGNwithout its settings — now v501 (yd-api.shalso routes suchgetrequests there). - Fixed: Reports API error 56 (one request per 10 s): pause between audit reports, offline reports polled every ≥ 10 s, error 56 retried.
- Fixed:
sitelinks.getin the audit was rejected (error 4004:SitelinksinFieldNamestogether withSitelinkFieldNames). - Docs: the auto-generated ERIR ad description of combinatorial ads is not available in the API — check it in the web interface.
v2.0.1 — October 2026
- Clear hint when the Direct API answers an empty HTTP 204 (API turned off on Yandex’s side, e.g. the special mode after the October 2026 data-center incident) in
yd-api.shandyd-report.sh. yd-audit.shsuggests--include-archivedwhen every campaign is archived.- Mapping of the old strategy labels in the campaigns grid («Оптимизация кликов / конверсий») to API strategy types.
v2.0 — October 2026
- Fixed:
yd-api.shappended an extra}to every params argument (${3:-{}}), so no request with parameters could run. - Fixed: audit requests rejected by the API:
AdExtensionIdsinTextAdFieldNames, emptySelectionCriteriafor sitelinks and negative keyword sets, more than 10CampaignIdsper request; no pagination. - Fixed: reports were not polled (
retryInis an HTTP header) and got a new name on every retry; conversions were summed over all Metrika goals — now priority goals and attribution are passed. - New: Unified Performance Campaigns (
UnifiedCampaignFieldNames, v501 routing), combinatorial ads (ResponsiveAdFieldNames), autotargeting settings, bid modifiers, callouts;Client-Login;summary.json. - Updated: audit checklist (search/YAN split is no longer Critical, no Google-style Quality Score, combinatorial ads, Yandex Business profile instead of vCard, weekly budgets), current strategies (multi-goal, «Максимум прибыли»), bid modifier ranges, image specs, Russian language rules from 01.03.2026.
- Safety: write operations only after the user approves the exact change.
🏗 Origin Story
This skill was born in one evening. We needed to set up Yandex Direct campaigns for stepback.ru. After creating campaigns via API in 3 minutes, we found claude-ads — a great skill for Google/Meta/LinkedIn ads, but with zero Yandex support. So we built our own, ran an audit on our account (Grade D → C+), and fixed the issues on the spot.
📄 License
MIT — use it, fork it, improve it.
🎯 Яндекс Директ Скилл — AI-агент для управления рекламой
Первый open-source скилл для управления Яндекс Директом через AI-агентов.
v2.0 (октябрь 2026): обновлён под Единую перфоманс-кампанию (ЕПК), комбинаторные объявления, недельные бюджеты и текущий API. См. историю изменений.
Аудит, создание, оптимизация и отчёты по кампаниям Яндекс Директа — всё через команды на естественном языке. Создан для OpenClaw и совместимых AI-агентных фреймворков.
Авторы: Ник Серебров & Коби 🐍
✨ Возможности
| Команда | Описание |
|---|---|
/direct audit |
Полный аудит аккаунта — 55 проверок, оценка 0-100, грейды A-F |
/direct campaigns |
Список кампаний со статусами и метриками |
/direct create |
Создание ЕПК с группами, фразами и комбинаторными объявлениями |
/direct keywords |
Фразы и автотаргетинг |
/direct report |
Статистика по приоритетным целям Метрики (CTR, CPC, CPA, расход) |
/direct optimize |
Рекомендации по оптимизации |
/direct budget |
Анализ недельного бюджета |
/direct negative |
Управление минус-словами |
🔍 Система аудита
55 проверок по 6 категориям:
- Конверсии и Метрика (25%) — настройка целей, атрибуция, трекинг
- Слив бюджета / минус-слова (20%) — минус-слова, анализ поисковых запросов
- Структура аккаунта (15%) — организация кампаний, именование, гео
- Ключевые фразы и автотаргетинг (15%) — операторы, категории автотаргетинга, CTR против медианы аккаунта
- Объявления и расширения (15%) — модерация, комбинаторные объявления, изображения, быстрые ссылки, уточнения, маркировка
- Настройки и таргетинг (10%) — гео, стратегии ставок, корректировки
Оценка: взвешенный алгоритм → балл 0-100 → грейд от A до F.
🚀 Быстрый старт
1. Получите доступ к API
Подайте заявку на доступ к API Яндекс Директа: direct.yandex.ru → Настройки API.
2. Получите OAuth-токен
https://oauth.yandex.ru/authorize?response_type=token&client_id=ВАШ_CLIENT_ID
3. Сохраните credentials
cat > ~/.secrets/yandex-direct.json << 'EOF'
{
"client_id": "ваш_client_id",
"client_secret": "ваш_client_secret",
"oauth_token": "ваш_oauth_token",
"client_login": "необязательно: логин клиента для агентского аккаунта"
}
EOF
chmod 600 ~/.secrets/yandex-direct.json
4. Установите скилл
Склонируйте репозиторий в директорию скиллов агента (нужны bash, curl, jq):
# OpenClaw
git clone https://github.com/Silverov/yandex-direct-skill ~/clawd/skills/direct
# Claude Code
git clone https://github.com/Silverov/yandex-direct-skill ~/.claude/skills/direct
5. Запустите аудит
Скажите агенту: «Проведи аудит Яндекс Директа» — и наблюдайте.
📝 История изменений
v2.0.2 — октябрь 2026
- Исправлено:
yd-audit.shчитал кампании и группы через v5, где ЕПК выглядит какTEXT_CAMPAIGNбез своих настроек, — теперь через v501 (yd-api.shтоже отправляет такиеget-запросы на v501). - Исправлено: ошибка 56 Reports API (не чаще 1 запроса в 10 с): пауза между отчётами аудита, офлайн-отчёты опрашиваются не чаще раза в 10 с, при ошибке 56 запрос повторяется.
- Исправлено:
sitelinks.getв аудите отклонялся (ошибка 4004:SitelinksвFieldNamesвместе сSitelinkFieldNames). - Документация: автоописание для ЕРИР у комбинаторных объявлений через API не читается — проверять в интерфейсе.
v2.0.1 — октябрь 2026
- Понятная подсказка, когда API Директа отвечает пустым HTTP 204 (API отключён на стороне Яндекса, например в спецрежиме после сбоя дата-центров в октябре 2026) — в
yd-api.shиyd-report.sh. yd-audit.shподсказывает--include-archived, если все кампании в архиве.- Соответствие старых подписей стратегий в таблице кампаний («Оптимизация кликов / конверсий») типам стратегий в API.
v2.0 — октябрь 2026
- Исправлено:
yd-api.shдописывал лишнюю}к любым параметрам (${3:-{}}) — ни один запрос с параметрами не выполнялся. - Исправлено: запросы аудита, которые отклонял API:
AdExtensionIdsвTextAdFieldNames, пустойSelectionCriteriaу быстрых ссылок и наборов минус-фраз, больше 10CampaignIdsв запросе; не было постраничной выборки. - Исправлено: отчёты не дожидались готовности (
retryIn— HTTP-заголовок) и при повторе получали новое имя; конверсии суммировались по всем целям Метрики — теперь передаются приоритетные цели и модель атрибуции. - Добавлено: ЕПК (
UnifiedCampaignFieldNames, маршрутизация на v501), комбинаторные объявления (ResponsiveAdFieldNames), настройки автотаргетинга, корректировки ставок, уточнения;Client-Login;summary.json. - Обновлено: чеклист аудита (разделение Поиск/РСЯ больше не Critical, нет «показателя качества» как в Google, комбинаторные объявления, профиль организации вместо визитки, недельные бюджеты), актуальные стратегии (по нескольким целям, «Максимум прибыли»), диапазоны корректировок, требования к изображениям, правила о русском языке с 01.03.2026.
- Безопасность: изменения в кабинете — только после подтверждения конкретного изменения пользователем.
🏗 История создания
Этот скилл родился за один вечер. Нам нужно было настроить кампании в Яндекс Директе для stepback.ru. После создания кампаний через API за 3 минуты мы нашли claude-ads — отличный скилл для Google/Meta/LinkedIn, но без поддержки Яндекса. Поэтому мы создали свой, прогнали аудит на своём аккаунте (Грейд D → C+) и исправили проблемы на месте.
📄 Лицензия
MIT — используйте, форкайте, улучшайте.