Скилл Yandex.Wordstat
Analyze search demand and keyword statistics using Yandex Wordstat API.
Скилл поддерживает два бэкенда:
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.
1. Skepticism to non-target demand — high numbers don't mean quality traffic
2. Creative semantic expansion — think like a customer
3. Always clarify region — ask user for target region before analysis
4. Show operators in reports — include Wordstat operators for verification
5. VERIFY INTENT via web search — always check what people actually want to buy
Before marking ANY query as "target", verify intent via WebSearch!
Query "каолиновая вата для дымохода" looks relevant for chimney seller, but:
For every promising query, ASK YOURSELF:
1. What does the person want to BUY? (not just "what are they interested in")
2. Will they buy OUR product from this search?
3. Or are they looking for something adjacent/complementary?
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 |
1. Find queries in Wordstat
2. WebSearch each promising query to verify intent
3. Mark as target ONLY if intent matches the sale
4. Report both target AND rejected queries with reasoning
1. ASK user about region and WAIT for answer:
```
"Для какого региона анализировать спрос?
- Вся Россия (по умолчанию)
- Москва и область
- Конкретный город (какой?)"
```
НЕ ПРОДОЛЖАЙ пока пользователь не ответит!
2. ASK about business goal:
```
"Что именно вы продаёте/рекламируете?
Это важно для фильтрации нецелевых запросов."
```
3. Check connection: bash scripts/quota.sh
4. Run analysis using appropriate script
5. Verify intent via WebSearch for each promising query
6. Present results with target/non-target separation
Check API connection.
```bash
bash scripts/quota.sh
```
Get top search phrases. Supports up to 2000 results and CSV export.
```bash
bash scripts/top_requests.sh \
--phrase "юрист дтп" \
--regions "213" \
--devices "all"
bash scripts/top_requests.sh \
--phrase "юрист дтп" \
--limit 500 \
--csv report.csv
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) |
#### Result types: Top Requests vs Associations
The output contains two sections (both in stdout and CSV):
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 export details
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.
#### Working with large CSV exports
When --limit is set to a high value (e.g. 500-2000), use CSV export and read the file in chunks:
```bash
bash scripts/top_requests.sh --phrase "query" --limit 2000 --csv data.csv
head -n 51 data.csv
tail -n +52 data.csv | head -50
wc -l < data.csv
grep ";assoc$" data.csv
```
This approach lets the agent process large datasets without flooding stdout.
Get search volume trends over time.
```bash
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
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
bash scripts/regions_tree.sh
```
Find region ID by name.
```bash
bash scripts/search_region.sh --name "Москва"
```
Shows demand ONLY for this exact phrase (no additional words).
```
"юрист дтп" → "юрист дтп", "юристы дтп"
but NOT "юрист по дтп"
```
Fixes exact word form.
```
!юрист → "юрист по дтп", "юрист москва"
but NOT "юристы", "юриста"
```
Exact phrase + exact forms.
```
"!юрист !по !дтп" → only "юрист по дтп"
```
Exclude queries with this word.
```
юрист дтп -бесплатно -консультация
```
Multiple variants in one query.
```
(юрист|адвокат) дтп → combined demand
```
Always fix prepositions with !:
```
юрист !по дтп ← correct
юрист по дтп ← "по" ignored!
```
1. Broad query: юрист дтп — see total volume
2. Narrow with quotes: "юрист дтп" — exact phrase only
3. Fix forms: "!юрист !по !дтп" — exact match
4. Clean with minus: юрист дтп -бесплатно -онлайн
5. Expand: synonyms, related terms, client problems
| 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, не покупатели
- "чистка дымохода" — уже владеют, сервисный запрос
```
1. ВСЕГДА спрашивай регион и жди ответа
2. ВСЕГДА уточняй что именно продаёт клиент
3. ВСЕГДА проверяй интент через WebSearch
4. Разделяй отчёт на целевые/нецелевые с объяснением
Анализ рекламной кампании Яндекс Директ для нахождения фраз, не покрытых текущей семантикой.
Требования: XLSX-выгрузка из Яндекс Директ (лист «Тексты»).
Подробнее: MISSED_DEMAND.md
| Путь | Размер | SHA256 |
|---|---|---|
| .gitignore | 211 | a7dc2b1355e16f7c... |
| SKILL.md | 13119 | 97489a207c9769cf... |
| config/README.md | 10810 | 88bb318fd4582d5f... |
| config/config.example.json | 154 | 4ad11da0d9d6041e... |
| references/MISSED_DEMAND.md | 21808 | 285fbb2b70bb9bc9... |
Войдите, чтобы оставить комментарий.
Комментариев пока нет.