plugins/yandex-wordstat/skills/yandex-wordstat/SKILL.md
Анализ поискового спроса через Yandex Wordstat API. Используй когда нужно: исследовать спрос, семантическое ядро, частотность запросов, сезонность или региональный спрос. Топ до 2000 запросов, ассоциации, динамика, экспорт CSV. Поиск упущенного спроса: анализ XLSX-выгрузки из Яндекс Директ, сегментация фраз, расширение семантики, сравнение OR-запросов. Triggers: упущенный спрос.
npx skillsauth add artwist-polyakov/polyakov-claude-skills yandex-wordstatInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze search demand and keyword statistics using Yandex Wordstat API.
Скилл поддерживает два бэкенда:
cloud (рекомендуется) — Yandex Cloud Search API v2. Нужен config/config.json + service account key. Авторизация через IAM token (JWT с SA-ключа).legacy (deprecated) — старый Wordstat OAuth API. Нужен YANDEX_WORDSTAT_TOKEN в config/.env. Яндекс больше не подключает новых пользователей, но старые токены работают.Auto-selection (cloud-first): cloud выигрывает на tie. Чтобы остаться на legacy явно — YANDEX_WORDSTAT_BACKEND=legacy в config/.env.
Полная инструкция по настройке и troubleshooting: config/README.md.
Миграция в облако: когда Яндекс окончательно отключит legacy — удалите YANDEX_WORDSTAT_TOKEN, заполните config/config.json и config/service_account_key.json. Команды и аргументы скриптов не меняются.
⚠️ Cloud dynamics operator caveat: при --period weekly|monthly cloud-бэкенд поддерживает только оператор +. Минус-слова, кавычки, группировки и точные формы работают только при --period daily. Скилл делает preflight-проверку и падает с понятной ошибкой до запроса. Подробнее — в README.
Before marking ANY query as "target", verify intent via WebSearch!
Query "каолиновая вата для дымохода" looks relevant for chimney seller, but:
For every promising query, ASK YOURSELF:
Always run WebSearch to check:
WebSearch: "каолиновая вата для дымохода" что ищут покупатели
Look at search results:
| Query | Looks like | Actually | Target? | |-------|------------|----------|---------| | каолиновая вата для дымохода | chimney buyer | cotton wool buyer | ❌ NO | | дымоход купить | chimney buyer | chimney buyer | ✅ YES | | утепление дымохода | chimney buyer | insulation DIYer | ❌ NO | | дымоход сэндвич цена | chimney buyer | chimney buyer | ✅ YES | | потерпевший дтп | lawyer client | news reader | ❌ NO | | юрист после дтп | lawyer client | lawyer client | ✅ YES |
ASK user about region and WAIT for answer:
"Для какого региона анализировать спрос?
- Вся Россия (по умолчанию)
- Москва и область
- Конкретный город (какой?)"
НЕ ПРОДОЛЖАЙ пока пользователь не ответит!
ASK about business goal:
"Что именно вы продаёте/рекламируете?
Это важно для фильтрации нецелевых запросов."
bash scripts/quota.shCheck API connection.
bash scripts/quota.sh
Get top search phrases. Supports up to 2000 results and CSV export.
bash scripts/top_requests.sh \
--phrase "юрист дтп" \
--regions "213" \
--devices "all"
# Extended: 500 results exported to CSV
bash scripts/top_requests.sh \
--phrase "юрист дтп" \
--limit 500 \
--csv report.csv
# Max results with comma separator
bash scripts/top_requests.sh \
--phrase "юрист дтп" \
--limit 2000 \
--csv full_report.csv \
--sep ","
| Param | Required | Default | Values |
|-------|----------|---------|--------|
| --phrase | yes | - | text with operators |
| --regions | no | all | comma-separated IDs |
| --devices | no | all | all, desktop, phone, tablet |
| --limit | no | API default (50) | 1-2000 (maps to API numPhrases) |
| --csv | no | - | path to output CSV file |
| --sep | no | ; | CSV separator (; for RU Excel) |
The output contains two sections (both in stdout and CSV):
topRequests) — queries that contain the words from your phrase, sorted by frequency. These are direct variations of the search query. Example: phrase "юрист дтп" → "юрист по дтп", "консультация юриста по дтп".associations) — queries similar by meaning but not necessarily containing the same words, sorted by similarity. These are semantically related searches. Example: phrase "юрист дтп" → "юридическая ответственность", "адвокат аварии".For analysis: top results are your primary keyword pool. assoc results are useful for semantic expansion but often contain noise — always verify intent before including them.
CSV format: UTF-8 with BOM, columns: n;phrase;impressions;type.
When --csv is set, stdout shows first 20 rows per section; full data goes to file.
When --limit is set to a high value (e.g. 500-2000), use CSV export and read the file in chunks:
# Export 2000 results
bash scripts/top_requests.sh --phrase "query" --limit 2000 --csv data.csv
# Read first 50 rows (header + data)
head -n 51 data.csv
# Read rows 51-100
tail -n +52 data.csv | head -50
# Count total rows
wc -l < data.csv
# Filter only associations
grep ";assoc$" data.csv
This approach lets the agent process large datasets without flooding stdout.
Get search volume trends over time.
bash scripts/dynamics.sh \
--phrase "юрист дтп" \
--period "monthly" \
--from-date "2025-01-01"
| Param | Required | Default | Values |
|-------|----------|---------|--------|
| --phrase | yes | - | text |
| --period | no | monthly | daily, weekly, monthly |
| --from-date | yes | - | YYYY-MM-DD |
| --to-date | no | today | YYYY-MM-DD |
| --regions | no | all | region IDs |
| --devices | no | all | all, desktop, phone, tablet |
Get regional distribution.
bash scripts/regions_stats.sh \
--phrase "юрист дтп" \
--region-type "cities"
| Param | Required | Default | Values |
|-------|----------|---------|--------|
| --phrase | yes | - | text |
| --region-type | no | all | cities, regions, all |
| --devices | no | all | all, desktop, phone, tablet |
Show common region IDs.
bash scripts/regions_tree.sh
Find region ID by name.
bash scripts/search_region.sh --name "Москва"
"query"Shows demand ONLY for this exact phrase (no additional words).
"юрист дтп" → "юрист дтп", "юристы дтп"
but NOT "юрист по дтп"
!wordFixes exact word form.
!юрист → "юрист по дтп", "юрист москва"
but NOT "юристы", "юриста"
"!word !word"Exact phrase + exact forms.
"!юрист !по !дтп" → only "юрист по дтп"
-wordExclude queries with this word.
юрист дтп -бесплатно -консультация
(a|b|c)Multiple variants in one query.
(юрист|адвокат) дтп → combined demand
Always fix prepositions with !:
юрист !по дтп ← correct
юрист по дтп ← "по" ignored!
юрист дтп — see total volume"юрист дтп" — exact phrase only"!юрист !по !дтп" — exact matchюрист дтп -бесплатно -онлайн| Region | ID | |--------|-----| | Россия | 225 | | Москва | 213 | | Москва и область | 1 | | Санкт-Петербург | 2 | | Екатеринбург | 54 | | Новосибирск | 65 | | Казань | 43 |
Run bash scripts/regions_tree.sh for full list.
User: Найди запросы для рекламы дымоходов
Claude: Для какого региона анализировать спрос?
И уточните — вы продаёте готовые дымоходы или
материалы для их изготовления/утепления?
User: Москва, продаём готовые сэндвич-дымоходы
Claude: [Запускает анализ для региона 213]
Нашёл запросы. Проверяю интент через веб-поиск...
✅ ЦЕЛЕВЫЕ (покупают дымоходы):
- "дымоход сэндвич купить" — 450 показов
- "дымоход для бани цена" — 380 показов
❌ НЕ ЦЕЛЕВЫЕ (покупают другое):
- "каолиновая вата для дымохода" — ищут утеплитель, не дымоход
- "монтаж дымохода своими руками" — DIY, не покупатели
- "чистка дымохода" — уже владеют, сервисный запрос
Анализ рекламной кампании Яндекс Директ для нахождения фраз, не покрытых текущей семантикой. Требования: XLSX-выгрузка из Яндекс Директ (лист «Тексты»). Подробнее: MISSED_DEMAND.md
development
Компилирует личные книги, PDF/EPUB/TXT/Markdown и длинные материалы в прикладной Claude Code skill с картой источников, решающими правилами, плейбуками, словарём и проверкой качества. Используй, когда пользователь просит превратить книгу, документ, учебник, статью или набор заметок в рабочий скилл, личную карту знаний, прикладного советника, справочник по источнику или reusable skill.
development
Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path. Use when a static page/React artifact needs to be deployed to SourceCraft under YYYY/YYYY-MM/page-slug directory layout.
development
Publish static page artifacts from the publisher workspace to a GitHub Pages repository using a fine-grained token, with advisory image optimization and an original-image path. Use when a React/static page artifact is already prepared and needs to be copied into the Pages repo under a strict year/year-month/page-slug directory layout, then committed and pushed, with a final public artifact URL returned.
development
Workflow кросс-агентного ревью с Codex. Triggers (RU): "кодекс ревью". Triggers (EN): "with codex review", "codex review workflow", "start codex review". ВАЖНО: при срабатывании триггера прочитай SKILL.md до любых других шагов.