# Yandex Direct

> |

- **Type:** Skill
- **Install:** `agentstack add skill-atomachinskiy-claude-yandex-skills-yandex-direct`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [atomachinskiy](https://agentstack.voostack.com/s/atomachinskiy)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [atomachinskiy](https://github.com/atomachinskiy)
- **Source:** https://github.com/atomachinskiy/claude-yandex-skills/tree/main/plugins/yandex-direct/skills/yandex-direct

## Install

```sh
agentstack add skill-atomachinskiy-claude-yandex-skills-yandex-direct
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

## Установка токена (первый раз)

Direct требует свой токен — общий yandex-auth не подходит.

```bash
bash scripts/direct-oauth-flow.sh
```

Скрипт откроет браузер на oauth.yandex.ru для app `"Claud direct"`, после подтверждения вставишь `access_token` из callback-URL. Токен сохранится в `~/.claude/secrets/yandex-direct-app.json`.

Проверка статуса:
```bash
bash scripts/direct-oauth-flow.sh --status
```

## Probe — проверка доступа

```bash
bash scripts/probe.sh
```

Вернёт список клиентов аккаунта или подробный error_code с подсказкой. Типовые коды:
- `58` — заявка на API для этого OAuth-app ещё не одобрена (проверь в кабинете Директа → Настройки API)
- `53/54` — токен невалиден, перевыпусти через `direct-oauth-flow.sh`
- `8000` — токен не передаётся, проверь `$DIRECT_TOKEN_FILE`

## Команды

### Структура кабинета
```bash
bash scripts/campaigns.sh                          # все кампании
bash scripts/campaigns.sh --state ON               # только активные
bash scripts/adgroups.sh --campaign            # группы в кампании
bash scripts/ads.sh --campaign                 # объявления (тексты + URL)
bash scripts/keywords.sh --campaign            # ключевые слова со ставками
```

### Ставки и корректировки
```bash
bash scripts/bids.sh --campaign                # текущие ставки, аукционные, конкурентов
bash scripts/bid-modifiers.sh --campaign       # корректировки по мобильным/демографии/регионам
```

### Аудитории и таргетинг
```bash
bash scripts/audience-targets.sh --adgroup     # ретаргетинг и аудиторные цели
bash scripts/feeds.sh --id                # товарные фиды (Smart Banners / Performance)
```

### Расширения объявлений
```bash
bash scripts/sitelinks.sh                          # быстрые ссылки (авто-собирает из объявлений)
bash scripts/vcards.sh                             # виртуальные визитки (контакты)
```

### Минус-слова и история
```bash
bash scripts/negative-keywords.sh --id     # наборы минус-фраз
bash scripts/change-states.sh --since 2024-05-01T00:00:00Z  # что изменилось
```

### Прогноз и отчёты
```bash
bash scripts/forecast.sh "адвокат екатеринбург" "уголовный адвокат"  # есть ли спрос
bash scripts/forecast.sh --region 213 "доставка"                     # регион Москва=213
bash scripts/report.sh                                   # отчёт за 30 дней
bash scripts/report.sh  --from 2026-05-01 --to 2026-05-14
```

Отчёт: TSV с Date, Impressions, Clicks, Cost, Ctr, AvgCpc, Conversions. Async polling — Direct может отдать `201` пока отчёт готовится.

### ОРД РКН
```bash
bash scripts/ord-documents.sh                      # ОРД-настройки кампаний (counter_ids, SocialDemo)
```
*Примечание:* полная erid-маркировка проходит через сторонний ОРД-оператор, в Direct API только мета-настройки.

### Произвольный API-вызов
```bash
. scripts/common.sh && load_config
direct_call  ''
```

Например:
```bash
direct_call ads '{"method":"get","params":{"SelectionCriteria":{"CampaignIds":["12345"]},"FieldNames":["Id","Status","Type"]}}'
direct_call adgroups '{"method":"get","params":{"SelectionCriteria":{},"FieldNames":["Id","Name","Type"]}}'
direct_call keywords '{"method":"get","params":{"SelectionCriteria":{"AdGroupIds":["67890"]},"FieldNames":["Id","Keyword","Bid"]}}'
```

Полный справочник endpoint'ов: https://yandex.ru/dev/direct/doc/

## Что НЕ делать
- Не использовать `Authorization: OAuth ...` — Direct требует `Bearer`
- Не делать GET — Direct API v5 принимает только POST
- Не хранить токен в `.env` плагина — он живёт в `~/.claude/secrets/`
- Не переиспользовать общий yandex-app.json — он от другого OAuth-приложения

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [atomachinskiy](https://github.com/atomachinskiy)
- **Source:** [atomachinskiy/claude-yandex-skills](https://github.com/atomachinskiy/claude-yandex-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-atomachinskiy-claude-yandex-skills-yandex-direct
- Seller: https://agentstack.voostack.com/s/atomachinskiy
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
