Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Yandex Direct (API v5) advertising audit, management, and optimization. Full account audits, campaign management, keyword operations, reporting, budget analysis, and optimization recommendations for Russian market PPC. Triggers on: "Яндекс Директ", "Yandex Direct", "директ", "РСЯ", "YAN", "direct audit", "direct campaigns", "direct report", "direct optimize".
.claude/skills/bilal140202-direct/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 78% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 168% | 0% |
Authors: Nick Serebrov & Kobe 🐍
Full-cycle Yandex Direct management: account audits, campaign CRUD, keyword management, reporting, optimization, and budget analysis.
| Command | What it does | |---------|-------------| | /direct audit | Full account audit (all campaigns), scoring 0-100 | | /direct campaigns | List campaigns with statuses and key metrics | | /direct create | Create campaign (Search/YAN) with ad groups, keywords, ads | | /direct keywords | Keyword management (list, add, update bids, pause) | | /direct report | Performance stats (CTR, CPC, conversions, spend) | | /direct optimize | Optimization recommendations (pause losers, adjust bids) | | /direct budget | Budget spend analysis and forecasting | | /direct negative | Negative keyword management (campaign & shared sets) |
Credentials: ~/.secrets/yandex-direct.json
json{ "client_id": "...", "client_secret": "...", "oauth_token": "..." }
Endpoint: https://api.direct.yandex.com/json/v5/ Auth: Authorization: Bearer {oauth_token}
API wrapper script: scripts/yd-api.sh
/direct audit~/.secrets/yandex-direct.jsoncampaigns service)references/yandex-audit.mdreferences/scoring-system.mdreferences/benchmarks.md/direct campaignscampaigns.get with fields: Id, Name, Status, State, Statistics, DailyBudget, Strategy/direct createcampaigns.addadgroups.addkeywords.addads.add (TextAd for search, TextImageAd for YAN)/direct keywordskeywords.get with campaign/adgroup filter/direct report/json/v5/reports)/direct optimizereferences/benchmarks.md/direct budget/direct negativenegativekeywordsharedsets)Load on-demand, NOT at startup:
references/yandex-audit.md — 50+ audit checks (YD01-YD55)references/scoring-system.md — Weighted scoring (0-100, grades A-F)references/benchmarks.md — Russian market benchmarks (CTR, CPC, CVR)references/bidding-strategies.md — Yandex Direct bidding strategy guidereferences/compliance.md — Yandex moderation rules & ad policiesreferences/image-specs.md — Image sizes and specs for YAN (RSY) adsscripts/yd-api.sh — Generic API v5 call wrapperscripts/yd-report.sh — Reports service wrapperscripts/yd-audit.sh — Automated audit data collectionagents/audit-yandex.md — Audit subagent for parallel campaign analysis| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 13,472 | 5,209 | -61% | 1 | 1 | 0% | 2,441 | 1,553 | -36% | 0 | 0 | — |
case-02 | fail→fail | 9,445 | 5,189 | -45% | 1 | 1 | 0% | 1,806 | 1,537 | -15% | 0 | 0 | — |
case-03 | fail→fail | 9,573 | 4,940 | -48% | 1 | 1 | 0% | 1,708 | 1,407 | -18% | 0 | 0 | — |
case-04 | fail→pass | 9,922 | 10,151 | +2% | 1 | 1 | 0% | 1,710 | 3,040 | +78% | 0 | 0 | — |
case-05 | fail→fail | 13,675 | 14,397 | +5% | 1 | 1 | 0% | 2,799 | 4,186 | +50% | 0 | 0 | — |
case-06 | fail→pass | 11,839 | 7,264 | -39% | 1 | 1 | 0% | 2,394 | 2,517 | +5% | 0 | 0 | — |
case-07 | fail→pass | 11,873 | 3,810 | -68% | 1 | 1 | 0% | 2,316 | 1,992 | -14% | 0 | 0 | — |
case-08 | pass→pass | 8,403 | 2,605 | -69% | 1 | 1 | 0% | 1,611 | 1,713 | +6% | 0 | 0 | — |
case-09 | pass→pass | 12,426 | 8,570 | -31% | 1 | 1 | 0% | 2,339 | 2,823 | +21% | 0 | 0 | — |
case-10 | fail→fail | 13,801 | 11,057 | -20% | 1 | 1 | 0% | 2,704 | 3,379 | +25% | 0 | 0 | — |
case-11 | fail→pass | 10,967 | 9,728 | -11% | 1 | 1 | 0% | 1,914 | 2,867 | +50% | 0 | 0 | — |
case-12 | pass→pass | 9,148 | 8,343 | -9% | 1 | 1 | 0% | 1,649 | 2,600 | +58% | 0 | 0 | — |
case-13 | fail→fail | 11,129 | 8,936 | -20% | 1 | 1 | 0% | 1,909 | 2,843 | +49% | 0 | 0 | — |
case-14 | fail→pass | 3,647 | 2,945 | -19% | 1 | 1 | 0% | 674 | 1,809 | +168% | 0 | 0 | — |
case-15 | pass→pass | 11,094 | 7,306 | -34% | 1 | 1 | 0% | 1,863 | 2,581 | +39% | 0 | 0 | — |
case-16 | pass→pass | 10,085 | 7,639 | -24% | 1 | 1 | 0% | 1,745 | 2,514 | +44% | 0 | 0 | — |
case-17 | fail→pass | 4,209 | 3,468 | -18% | 1 | 1 | 0% | 763 | 1,841 | +141% | 0 | 0 | — |
case-18 | fail→pass | 8,397 | 1,771 | -79% | 1 | 1 | 0% | 1,720 | 1,472 | -14% | 0 | 0 | — |
case-19 | pass→pass | 9,709 | 5,301 | -45% | 1 | 1 | 0% | 1,913 | 2,217 | +16% | 0 | 0 | — |
case-20 | fail→pass | 10,764 | 2,268 | -79% | 1 | 1 | 0% | 1,842 | 1,665 | -10% | 0 | 0 | — |
case-21 | fail→pass | 14,182 | 7,417 | -48% | 1 | 1 | 0% | 2,381 | 2,540 | +7% | 0 | 0 | — |
case-22 | fail→pass | 10,881 | 1,537 | -86% | 1 | 1 | 0% | 1,881 | 1,452 | -23% | 0 | 0 | — |
case-23 | pass→pass | 9,669 | 3,626 | -62% | 1 | 1 | 0% | 1,520 | 1,761 | +16% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 20 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +43 percentage points is the difference between those two pass rates over the 20 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.