What Happened
kunchenguid/whathappened
Briefs you on what just happened around a named topic and maps public opinion on X, using the host's native X search tools only.
Searches Yandex through the Yandex Cloud Search API v2 and returns smart snippets, page excerpts long enough to answer from, with sync and async modes and a result cache.
SKILL.md written in Russian; this summary is our English description.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills yandex-search-api --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/yandex-search-api/skills/yandex-search-api .claude/skills/yandex-search-api && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "yandex-search-api" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/yandex-search-api/skills/yandex-search-api into .claude/skills/yandex-search-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-search-api", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/yandex-search-api/skills/yandex-search-apiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills yandex-search-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/yandex-search-api/skills/yandex-search-api .agents/skills/yandex-search-api && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "yandex-search-api" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/yandex-search-api/skills/yandex-search-api into .agents/skills/yandex-search-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-search-api", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills yandex-search-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/yandex-search-api/skills/yandex-search-api .cursor/skills/yandex-search-api && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "yandex-search-api" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/yandex-search-api/skills/yandex-search-api into .cursor/skills/yandex-search-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-search-api", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/artwist-polyakov/polyakov-claude-skills.git --path plugins/yandex-search-api/skills/yandex-search-api--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills yandex-search-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/yandex-search-api/skills/yandex-search-api .gemini/skills/yandex-search-api && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "yandex-search-api" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/yandex-search-api/skills/yandex-search-api into .gemini/skills/yandex-search-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-search-api", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install artwist-polyakov/polyakov-claude-skills yandex-search-apiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/yandex-search-api/skills/yandex-search-api .github/skills/yandex-search-api && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "yandex-search-api" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/yandex-search-api/skills/yandex-search-api into .github/skills/yandex-search-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-search-api", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install artwist-polyakov/polyakov-claude-skills yandex-search-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artwist-polyakov/polyakov-claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/yandex-search-api/skills/yandex-search-api .opencode/skills/yandex-search-api && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "yandex-search-api" agent skill from https://github.com/artwist-polyakov/polyakov-claude-skills/tree/main/plugins/yandex-search-api/skills/yandex-search-api into .opencode/skills/yandex-search-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-search-api", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
yandex-search-apiSearches Yandex through the Yandex Cloud Search API v2 and returns smart snippets, page excerpts long enough to answer from, with sync and async modes and a result cache.
This skill parses Yandex search results through the Yandex Cloud Search API v2, in synchronous and asynchronous modes. Its main feature is smart snippets: for each hit the API returns a passage of about 500 tokens relevant to the query, with quotes from the page, so one request can answer a question without opening each site. Smart snippets are on by default in sync mode. Texts are saved to a cache folder and only a one-line-per-document index is printed, so you read the saved file whole or grep it instead of repeating the search.
Smart snippets come with limits: sync mode only, the Russian search type only, at most 20 documents per request, and a higher price per request than a plain search. The `--no-snippets` flag or a config setting returns just positions and domains. Setup needs a Yandex Cloud service account with the `search-api.webSearch.user` role, using either an IAM authorized key or a service account API key. Before searching, the agent works out the region, looks up its ID with a bundled script, and asks you and waits if the region is unclear.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8bbeead. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 8 files in scripts/ (Shell, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
bashshFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
leroymerlin.ruAlso links to:
aistudio.yandex.ruFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
YANDEX_AI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Yandex Search API loads about 3k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 104 tokens; SKILL.md has 923 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
ig.json` и `YANDEX_AI_API_KEY` в `config/.env`.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from artwist-polyakov/polyakov-claude-skills at commit 8bbeead, republished under its MIT licence (© artwist-polyakov). 923 words, ~3,031 tokens.
.claude/skills/yandex-search-api/SKILL.md (or your agent's skills folder). This skill also uses 27 other files; get the full folder from GitHub.Parse Yandex SERP via Yandex Cloud Search API v2 (sync + async).
Search API отдаёт не только ссылку и сниппет в пару предложений, а фрагмент найденной страницы примерно на 500 токенов — релевантный запросу и с цитатами из документа. Информации уже достаточно, чтобы ответить, а обрабатывать страницу самому не нужно.
Это то, ради чего скилл ставят в агента: одного запроса хватает на ответ, а не только на список ссылок.
Включено по умолчанию, отдельного скрипта не нужно:
bash scripts/web_search_sync.sh --query "как считается НДС для УСН в 2026" --region-id 225Тексты в ответ не печатаются — они уходят в cache/results/<hash>.md, а в
stdout приходит индекс по строке на документ. Дальше читай пак файлом: целиком,
если нужен весь материал, или грепом, если нужен один источник. Повторный поиск
той же фразы ради текста, который уже лежит в паке, — потраченные деньги.
Три ограничения, которые меняют выбор команды:
web_search_async.sh инфоконтекстов не вернёт.SEARCH_TYPE_RU. С другим типом поиска скилл выполнит запрос, но
без инфоконтекстов, и скажет об этом.--results выше 20
API отдаёт не 20, а вдвое меньше — по той же цене. Скилл клампит сам.Когда нужны только позиции и домены — --no-snippets (или
search.smart_snippets.enabled: false в конфиге).
Подробности, формат ответа, отладка и разбор ошибок: references/SMART_SNIPPETS.md.
Для работы нужен сервисный аккаунт Яндекс.Облака с ролью search-api.webSearch.user.
Поддерживаются IAM через авторизованный JSON-ключ и API-ключ сервисного аккаунта.
Пошаговая настройка обоих вариантов: config/README.md.
Существующие IAM-конфигурации работают без изменений. Для API-ключа задайте
auth.mode: "api_key" в config.json и YANDEX_AI_API_KEY в config/.env.
Определи регион:
bash scripts/search_region.sh --name "Казань""Для какого региона искать?
- Вся Россия (по умолчанию)
- Москва
- Конкретный город (какой?)"search_region.sh --name "..." → получаешь IDРежим поиска берётся из config.json → search.mode (по умолчанию sync).
Не спрашивай — используй то, что в конфиге.
Исключение: если нужны инфоконтексты, режим всегда sync, а тип поиска —
SEARCH_TYPE_RU; в асинхронном API и в других поисковых базах их нет.
Verify config: убедись, что заданы yandex_cloud_folder_id,
соответствующий credential (поле auth.mode необязательно). Не печатай ключ или токен.
Run search с полученным region ID
Present results: со snippets — прочитай пак cache/results/<hash>.md
и отвечай по нему, ссылаясь на источники; без snippets — позиция, заголовок,
URL, сниппет
Generate or validate IAM token from Service Account key. Needed only when
auth.mode is iam.
bash scripts/iam_token_get.shToken is cached in cache/iam_token.json and auto-refreshed when expired.
Synchronous search — one query at a time, immediate results. Единственный режим, который умеет smart snippets.
# Single query — с выдержками страниц
bash scripts/web_search_sync.sh \
--query "купить дымоход" \
--region-id 213
# Только позиции и ссылки, без выдержек
bash scripts/web_search_sync.sh \
--query "купить дымоход" \
--region-id 213 \
--no-snippets
# Batch from file — по строке на запрос в stdout, пак на каждый запрос
bash scripts/web_search_sync.sh \
--file queries.txt \
--region-id 225| Param | Required | Default | Values |
|---|---|---|---|
--query, -q | yes* | - | Search text |
--file, -f | yes* | - | File with queries (one per line) |
--region-id, -r | no | from config (225) | Region ID |
--results, -n | no | 20 со snippets, иначе из конфига (10) | Со snippets клампится до 20; без них 1-100 |
--page, -p | no | 0 | Page number |
--search-type | no | SEARCH_TYPE_RU | SEARCH_TYPE_RU / SEARCH_TYPE_TR / SEARCH_TYPE_COM / SEARCH_TYPE_KK / SEARCH_TYPE_BE / SEARCH_TYPE_UZ |
--family-mode | no | FAMILY_MODE_MODERATE | FAMILY_MODE_NONE / FAMILY_MODE_MODERATE / FAMILY_MODE_STRICT |
--snippets | no | вкл | Просить выдержки со страниц |
--no-snippets | no | - | Только ссылки и короткие сниппеты |
* Either --query or --file is required.
Results saved to cache/results/<hash>.md (пак с выдержками),
cache/results/<hash>.json (parsed) и cache/results/<hash>.raw — исходное
тело ответа: JSON с инфоконтекстами, XML без них.
Asynchronous batch search — submit many queries, poll for results.
# Submit batch and wait
bash scripts/web_search_async.sh \
--file queries.txt \
--region-id 213
# Resume after timeout/interrupt
bash scripts/web_search_async.sh --resume| Param | Required | Default | Values |
|---|---|---|---|
--file, -f | yes | - | File with queries |
--region-id, -r | no | from config (225) | Region ID |
--poll-interval | no | 10 | Poll interval (minutes) |
--max-wait | no | 120 | Max wait before timeout (minutes) |
--resume | no | - | Continue polling pending ops |
Async workflow:
poll_interval minutes for completionmax_wait exceeded: prints summary + resume command--resume: continues from cache/ops/, no duplicatesNOTE for agent: Async execution can take minutes to hours.
The script handles polling automatically. If it times out,
re-run with --resume to continue.
Инфоконтексты в асинхронном режиме недоступны — вернутся только ссылки и
короткие сниппеты. Нужны фрагменты страниц — web_search_sync.sh --file.
Зато async в ~16 раз дешевле синхронного и в ~50 раз дешевле инфоконтекстов.
Show common region IDs.
bash scripts/regions_tree.shFind region ID by name.
bash scripts/search_region.sh --name "Казань"Each search result contains:
position — rank in SERPtitle — page titleurl — page URLsnippet — text snippet (up to 300 chars)domain — site domainextract — инфоконтекст: фрагмент страницы; пустая строка, если его нетResults cached in cache/results/:
<hash>.md — пак: заголовок, URL и инфоконтекст по каждому документу<hash>.raw — исходное тело ответа: XML для обычной выдачи, JSON для
инфоконтекстов (формат выбирает сервер)<hash>.json — parsed JSON array, единый формат для обоих случаев<hash> — первые 12 символов md5 от текста запроса.
Не печатай инфоконтексты в stdout. 20 документов по ~500 токенов не
помещаются в буфер вывода песочницы, и скрипт упадёт молча. Скрипты печатают
индекс, тексты читаются из пака через Read/grep.
Офлайн-тесты: ни сети, ни сервисного аккаунта.
sh scripts/tests/run.shПроверяют сборку тела запроса, разбор обоих форматов ответа (XML и JSON), отрисовку пака и разбор флагов CLI. Тело запроса можно посмотреть и вручную, ничего не оплачивая:
YSA_DRY_RUN=1 bash scripts/web_search_sync.sh --query "тест"| Region | ID |
|---|---|
| Россия | 225 |
| Москва | 213 |
| Москва и область | 1 |
| Санкт-Петербург | 2 |
| Екатеринбург | 54 |
| Новосибирск | 65 |
| Казань | 43 |
Run bash scripts/regions_tree.sh for full list.
Тарификация — за один запрос. Цены за 1000 запросов, с НДС:
| Тип запроса | ₽ |
|---|---|
| Дневные синхронные | 488 |
| Ночные синхронные (00:00–07:59 UTC+3) | 366 |
| Дневные отложенные (async) | 30,5 |
| Запросы инфоконтекста поиска в регионе RU | 1 500 |
Инфоконтексты дороже обычного синхронного запроса примерно втрое. Если нужны
только позиции по большому списку запросов — async или --no-snippets.
Актуальный прайс: https://aistudio.yandex.ru/docs/ru/search-api/pricing
User: Разберись, как в 2026 считается НДС для УСН, и дай ответ со ссылками
Claude: [Регион из контекста не следует, но вопрос общероссийский → 225]
[Проверяет конфигурацию авторизации без вывода секрета]
[Ищет с выдержками — они включены по умолчанию]
bash scripts/web_search_sync.sh --query "НДС для УСН 2026 порядок расчёта" --region-id 225
=== Results for: НДС для УСН 2026 порядок расчёта ===
Region: 225 | Page: 0 | Snippets: true
# символов домен заголовок
1 1840 nalog.gov.ru Об изменениях в главе 26.2 НК РФ
2 1512 consultant.ru НДС при УСН с 2026 года
3 0 example-blog.ru Что изменится для упрощенцев
...
Всего: 20, с выдержками: 17
Пак: cache/results/a1b2c3d4e5f6.md (48 KB) — читай его вместо повторного поиска
[Читает пак и отвечает по нему, а не по заголовкам]
Read cache/results/a1b2c3d4e5f6.md
По порогу выручки: ... (nalog.gov.ru)
По ставкам: ... (consultant.ru)User: Найди топ выдачи яндекса по запросу "купить сэндвич дымоход" в Москве
Claude: Уточню: Москва-город или Москва и область?
User: Москва город
Claude: [Находит ID региона]
bash scripts/search_region.sh --name "Москва"
→ Москва = 213
[Проверяет конфигурацию авторизации без вывода секрета]
[Задача про позиции в выдаче, содержание страниц не нужно —
отключает инфоконтексты: дешевле втрое]
bash scripts/web_search_sync.sh --query "купить сэндвич дымоход" \
--region-id 213 --no-snippets
=== Results for: купить сэндвич дымоход ===
Region: 213 | Page: 0 | Snippets: false
1. Сэндвич-дымоходы купить в Москве — Леруа Мерлен
https://leroymerlin.ru/...
Широкий ассортимент сэндвич-дымоходов...
2. Дымоходы сэндвич — купить в интернет-магазине
https://...
...
Всего: 10, с выдержками: 0
JSON: cache/results/7f3a91c2e5d8.json
Raw: cache/results/7f3a91c2e5d8.rawUser: Проверь выдачу по запросам из файла queries.txt в Казани
Claude: [Находит ID региона]
bash scripts/search_region.sh --name "Казань"
→ Казань = 43
[Проверяет конфигурацию авторизации без вывода секрета]
[Батч по одному запросу; в stdout — строка на запрос,
тексты и разбор лежат в файлах]
bash scripts/web_search_sync.sh --file queries.txt --region-id 43
запрос результаты пак
дымоход сэндвич цена 20 док., выдержек 18 cache/results/a1b2c3d4e5f6.md
купить дымоход казань 20 док., выдержек 15 cache/results/b2c3d4e5f6a1.md
дымоход нержавейка 20 док., выдержек 19 cache/results/c3d4e5f6a1b2.md
=== Batch complete: 3/3 queries processed ===© artwist-polyakov, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 27 other files (scripts, references) in plugins/yandex-search-api/skills/yandex-search-api of artwist-polyakov/polyakov-claude-skills.
Open the folder on GitHubat commit 8bbeead
Yandex Search API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Yandex Search API this skillartwist-polyakov/polyakov-claude-skills | 208 | — | ~3k | Automated safety check: Notes | MIT | |
| What Happenedkunchenguid/whathappened | 231 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Bright Data MCPbrightdata/skills | 264 | 1 repos | ~3.7k | Automated safety check: Pass | MIT | |
| Chatgpt Web Researchbear2u/my-skills | 932 | — | ~3.3k | Automated safety check: Pass | None | |
| Gscjdrhyne/agent-skills | 240 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Company Inteldeanpeters/Product-Manager-Skills | 7.2k | — | ~8.1k | Automated safety check: Pass | Custom licence |
kunchenguid/whathappened
Briefs you on what just happened around a named topic and maps public opinion on X, using the host's native X search tools only.
brightdata/skills
Bright Data MCP handles ALL web data operations. An agent skill from brightdata/skills.
bear2u/my-skills
Use the user's already signed-in official ChatGPT website account, especially GPT-5.5 Pro / ChatGPT Pro, to perform product research, market research, competitor research, second-opinion research…
jdrhyne/agent-skills
Read Google Search Console properties, Search Analytics, URL Inspection, and sitemaps.
deanpeters/Product-Manager-Skills
Research a company, industry, or competitor set using web search and seven analytical lenses.
mcncarl/yichen-skills
Use the user's already signed-in official ChatGPT website account, especially GPT-5.5 Pro / ChatGPT Pro, to perform product research, market research, competitor research, second-opinion analysis…
artwist-polyakov/polyakov-claude-skills
Launches, monitors and collects results from child AI agent sessions with the agent-deck terminal session manager.
artwist-polyakov/polyakov-claude-skills
Crawls a site with Crawl4AI to audit titles, meta tags, H1s, canonicals, navigation and internal links, and to compare landing pages and competitor sites.
artwist-polyakov/polyakov-claude-skills
Publishes already-built static pages to a GitHub Pages repo under a year, year-month and slug folder layout, optimizes large images and returns the public URL.
artwist-polyakov/polyakov-claude-skills
Shell scripts for web search and research through the Perplexity API: raw results, cited answers, background deep research and page fetching, with results cached on disk.
artwist-polyakov/polyakov-claude-skills
Publish static page artifacts to SourceCraft Sites (Yandex infrastructure, works in Russia), with advisory image optimization and an original-image path.
artwist-polyakov/polyakov-claude-skills
Searches X/Twitter through the xAI Grok API to build digests, trend reports and thread analysis, meant to surface post ideas for a Telegram channel.
Categories
Searches Yandex through the Yandex Cloud Search API v2 and returns smart snippets, page excerpts long enough to answer from, with sync and async modes and a result cache. This skill parses Yandex search results through the Yandex Cloud Search API v2, in synchronous and asynchronous modes. Its main feature is smart snippets: for each hit the API returns a passage of about 500 tokens relevant to the query, with quotes from the page, so one request can answer a question without opening each site.
Yandex Search API fits situations like: researching a question using what Russian-language sites say about it; getting Yandex result positions and domains for a query; searching Yandex for a specific city or region; reading saved search excerpts instead of re-running the same query.
Run `npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a claude-code`. Or copy the skill folder (plugins/yandex-search-api/skills/yandex-search-api in artwist-polyakov/polyakov-claude-skills) into .claude/skills/yandex-search-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a codex`. Or copy the skill folder (plugins/yandex-search-api/skills/yandex-search-api in artwist-polyakov/polyakov-claude-skills) into .agents/skills/yandex-search-api in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add artwist-polyakov/polyakov-claude-skills --skill yandex-search-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/yandex-search-api, .gemini/skills/yandex-search-api, .github/skills/yandex-search-api and .opencode/skills/yandex-search-api in your project.
Going by SKILL.md and its folder, Yandex Search API needs a shell for the scripts in its folder, the command-line tools its instructions call (bash and sh) and credentials named YANDEX_AI_API_KEY. Our summary lists: A Yandex Cloud service account with the search-api.webSearch.user role; An IAM authorized key or a service account API key; Bash to run the bundled scripts.
SKILL.md names 2 domains. In commands or code: leroymerlin.ru; the agent is likely to contact it when it follows the instructions. As links in the text: aistudio.yandex.ru. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Yandex Search API is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Yandex Search API: What Happened (kunchenguid/whathappened, 231 stars), Bright Data MCP (brightdata/skills, 264 stars), Chatgpt Web Research (bear2u/my-skills, 932 stars) and Gsc (jdrhyne/agent-skills, 240 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
artwist-polyakov (a GitHub user) maintains it in artwist-polyakov/polyakov-claude-skills, which has 208 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.
Source: artwist-polyakov/polyakov-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.