Ga4 Auth Setup
jeremylongshore/tons-of-skills-marketplace
Configure auth for the GA4 Data API — OAuth user credentials for interactive use, or a service account for automation / CI.
[RU: яндекс метрика, метрика api, logs api, цели метрики] Yandex.Metrika API via api-metrika.yandex.net with OAuth 2.0.
$ npx skills add VKirill/claude-lane-stack --skill yandex-metrica -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install VKirill/claude-lane-stack yandex-metrica --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/VKirill/claude-lane-stack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/lane-stack/skills/yandex/yandex-metrica .claude/skills/yandex-metrica && 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-metrica" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/yandex/yandex-metrica into .claude/skills/yandex-metrica/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-metrica", 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/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/yandex/yandex-metricaType 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 VKirill/claude-lane-stack --skill yandex-metrica -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install VKirill/claude-lane-stack yandex-metrica --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/lane-stack/skills/yandex/yandex-metrica .agents/skills/yandex-metrica && 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-metrica" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/yandex/yandex-metrica into .agents/skills/yandex-metrica/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-metrica", 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 VKirill/claude-lane-stack --skill yandex-metrica -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install VKirill/claude-lane-stack yandex-metrica --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/lane-stack/skills/yandex/yandex-metrica .cursor/skills/yandex-metrica && 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-metrica" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/yandex/yandex-metrica into .cursor/skills/yandex-metrica/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-metrica", 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/VKirill/claude-lane-stack.git --path plugins/lane-stack/skills/yandex/yandex-metrica--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 VKirill/claude-lane-stack --skill yandex-metrica -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install VKirill/claude-lane-stack yandex-metrica --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/lane-stack/skills/yandex/yandex-metrica .gemini/skills/yandex-metrica && 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-metrica" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/yandex/yandex-metrica into .gemini/skills/yandex-metrica/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-metrica", 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 VKirill/claude-lane-stack yandex-metricaInstalls 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 VKirill/claude-lane-stack --skill yandex-metrica -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/lane-stack/skills/yandex/yandex-metrica .github/skills/yandex-metrica && 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-metrica" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/yandex/yandex-metrica into .github/skills/yandex-metrica/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-metrica", 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 VKirill/claude-lane-stack --skill yandex-metrica -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install VKirill/claude-lane-stack yandex-metrica --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/VKirill/claude-lane-stack.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/lane-stack/skills/yandex/yandex-metrica .opencode/skills/yandex-metrica && 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-metrica" agent skill from https://github.com/VKirill/claude-lane-stack/tree/main/plugins/lane-stack/skills/yandex/yandex-metrica into .opencode/skills/yandex-metrica/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yandex-metrica", 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-metrica[RU: яндекс метрика, метрика api, logs api, цели метрики] Yandex.Metrika API via api-metrika.yandex.net with OAuth 2.0.
Yandex Metrica is an agent skill from VKirill/claude-lane-stack. [RU: яндекс метрика, метрика api, logs api, цели метрики] Yandex.Metrika API via api-metrika.yandex.net with OAuth 2.0. Reporting API v1 (/stat/v1/data, /bytime, /drilldown, /comparison) with ym:s:/ym:pv:/ym:u: namespaces, filter DSL, attribution models; Logs API raw hits/visits lifecycle created→processed→cleaned, 10 GB/counter; Management API for counters/goals/filters CRUD. Quotas: 5000 req/day per userlogin, 30 req/s per IP (10 for Logs), 3 parallel, 200 req/5min. Use when: яндекс метрика, metrika api…
Its SKILL.md is about 5.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `references/cookbook.md`, `references/dimensions-and-metrics.md` and `references/errors.md`).
It sits in Backend & APIs, covering OAuth and OpenID Connect. It works with Google Analytics. The repository describes itself as: Multi-agent AI coding factory for one person — Claude Code PM + Codex/Qwen/Grok/Kimi/AGY writers, durable conveyor, auto-merge to main. The licence is MIT.
11 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 45fa19e. 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.
No scripts in the folder and no shell commands in SKILL.md.
From 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:
api-metrika.yandex.netFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Yandex Metrica loads about 5.7k tokens when it runs, and up to ~31k if it reads all its reference files. Until then it costs about 191 tokens; SKILL.md has 2,290 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 found no risky patterns in SKILL.md.
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); files beside SKILL.md are not scanned.
The full file from VKirill/claude-lane-stack at commit 45fa19e, republished under its MIT licence (© VKirill). 2,290 words, ~5,666 tokens.
.claude/skills/yandex-metrica/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.<!-- versions:start -->
Primary pins:
Reporting v1 (/stat/v1/data), Management v1 (/management/v1), Logs (/management/v1/counter/{id}/logrequests*) — stable, no deprecation noticehttps://api-metrika.yandex.net3.14.x24.x (Active LTS)Source of truth: STACK_VERSIONS.md — verified 2026-08-24
<!-- versions:end -->
Loaded automatically when its description matches the active task. Read only the section you need, then follow the link to the relevant reference file for full detail.
/stat/v1/data)/stat/v1/data/bytime (charts grouped by day/week/month)/stat/v1/data/drilldown/stat/v1/data/comparisonattribution=metrika:read / metrika:write / metrika:offline_data)httpx) or Node.js client with Logs API polling, 429/503 retry, request_id deduplicationsampled=true, sample_share) and re-running with accuracy=full when neededyandex-webmaster (cascade marker)yandex-direct (cascade marker)google-analytics (cascade marker)appmetrica (cascade marker)clickhouse / polars / pandas / postgresqlYandex.Metrika is the largest Russian web-analytics platform (the GA4 equivalent for the RU market). The API exposes three surfaces: Reporting API (/stat/v1/data*) — aggregated reports with dimensions, metrics, filter-segments and attribution models; Logs API (/management/v1/counter/{id}/logrequests*) — raw hit/visit export in TSV with created→processed→cleaned lifecycle; Management API (/management/v1) — CRUD on counters, goals, filters, operations. All endpoints are OAuth-authenticated against api-metrika.yandex.net.
This skill is high-stakes because:
accuracy=medium returns sampled: true, sample_share: 0.05 (5% of data) for heavy queries. Decisions made on an unrepresentative sample are decisions made on noise. Mitigation: accuracy=full for finance-critical reports; always inspect sampled and sample_share in the response.user_login — resets at 00:00 GMT (03:00 MSK). A dashboard polling every minute exhausts the budget before lunch. Cache responses, aggregate queries./stat/v1/data/ — a separate counter from the daily cap. Tripping it blocks the endpoint for 5 minutes.Retry-After.400 quota_exceeded. Always POST .../clean after a successful download.fields ≤ 3000 characters. Split larger ranges client-side.LAST vs FIRST attributes to different sources. The default is LASTSIGN (last significant). If API numbers disagree with the web UI, check the attribution model.counter_id (ids=) is mandatory and easy to mix up. One token may have access to dozens of counters; passing the wrong one returns 403.metrika:read covers Reporting and Logs API but not goal/filter creation or imports. Use metrika:write only when CRUD is required.today are meaningless for final figures.This skill owns the provider-domain knowledge: endpoints, dimension/metric namespaces, filter DSL, Logs API lifecycle, quotas, attribution models, OAuth scopes. HTTP transport belongs to httpx / nodejs.
All requests require Authorization: OAuth <token> (the official scheme; Bearer <token> also works). Tokens are issued via oauth.yandex.ru — application type "For API access / debugging", client_id, Implicit-flow callback. Scopes: metrika:read (reports, Logs API, settings read), metrika:write (counters/goals/filters/operations CRUD), metrika:expenses / metrika:user_params / metrika:offline_data (imports; covered by metrika:write). For organization accounts add passport:business. Tokens have no default TTL but can be revoked by the user.
Full reference: references/setup.md
Bootstrap → list counters → standard reports → time-series / drilldown / comparison → Logs API submit→poll→download→clean → goals/filters CRUD → quotas & defensive backoff → daily ETL into Postgres.
Full reference: references/workflow.md
GET https://api-metrika.yandex.net/stat/v1/data?ids=<counter_id>&dimensions=<ym:...>&metrics=<ym:...>&date1=YYYY-MM-DD&date2=YYYY-MM-DD&filters=<expr>&sort=<field>&limit=<n>&offset=<n>&accuracy=full&attribution=LASTSIGN&group=day&direct_client_logins=.... Limits: up to 10 dimensions per request; default limit=100, max 100000 (paginate via offset); date1/date2 accept today, yesterday, NdaysAgo. Endpoints: /stat/v1/data (table), /stat/v1/data/bytime (series), /stat/v1/data/drilldown (hierarchy), /stat/v1/data/comparison (segment comparison).
Full reference: references/reporting-api.md
Namespaces: ym:s: (sessions/visits — the workhorse), ym:pv: (page views), ym:u: (users), ym:up: (user params), ym:ad: (Yandex.Direct), ym:sp: (search phrases), ym:el: (external links), ym:dl: (downloads), ym:ev: (events). Dimensions and metrics in one request must share a namespace or be joined via EXISTS() in the filter. Key fields: ym:s:visits, ym:s:users, ym:s:pageviews, ym:s:bounceRate, ym:s:avgVisitDurationSeconds, ym:s:goal{ID}reaches, ym:s:goal{ID}conversionRate.
Full reference: references/dimensions-and-metrics.md
Operators: ==, !=, =@ (substring), !@ (no substring), =~ (regex), =* (glob with *), =n (null), =N (not null), >, <, >=, <=, IN(...), NOT IN(...). Logic: AND, OR, NOT. Cross-namespace: EXISTS(ym:pv:URL=='https://...'). Limits: up to 10 unique dimensions/metrics in a filter, 20 conditions, 10 000 chars, 100 values per IN(). filters is a one-shot segment; persistent segments are created via Management API.
Full reference: references/segments-and-filters.md
Workflow: (1) GET /management/v1/counter/{id}/logrequests/evaluate?date1=&date2=&fields=&source= — verify feasibility (free); (2) POST /management/v1/counter/{id}/logrequests?date1=&date2=&fields=&source=visits|hits — create the job, get request_id, status created; (3) poll GET /management/v1/counter/{id}/logrequest/{request_id} until status becomes processed (or processing_failed / awaiting_retry); (4) download chunks: GET /management/v1/counter/{id}/logrequest/{request_id}/part/{n}/download (count from parts[]); (5) POST /management/v1/counter/{id}/logrequest/{request_id}/clean — release storage. Sources: visits or hits. Limits: fields ≤ 3000 chars, range ≤ 1 year, total ≤ 10 GB per counter. Polling cadence: 30–60 s is reasonable.
Full reference: references/logs-api.md
GET /management/v1/counters — accessible counters (fields id, name, site, permission, pro); GET /management/v1/counter/{id} — details; POST /management/v1/counters — create; PUT /management/v1/counter/{id} — update. Goals: GET/POST /management/v1/counter/{id}/goals, types url, number, step, composite, action. Filters: /counter/{id}/filters (bot/IP/domain exclusion). Operations: /counter/{id}/operations (URL cleanup — strip query params). Representatives: /counter/{id}/representatives.
Full reference: references/management-api.md
HTTP 401 = invalid/expired token (reissue); 403 = no access to counter_id (check token owner); 429 = rate limit (honor Retry-After); 400 + quota_exceeded = 10 GB Logs cap; 400 + LimitedExceededException = daily request budget exhausted. Retry policy: exponential backoff 1→2→4→8 with jitter, cap 60 s; never retry 401/403/400.
Full reference: references/errors.md
Global: 30 req/s per IP (Reporting + Management), 10 req/s per IP for Logs API, 3 parallel per user_login, 5000 req/day per user_login (reset 00:00 GMT = 03:00 MSK), 200 req / 5 min on /stat/v1/data/. Logs API: 10 GB of prepared logs per counter. Recipe: asyncio.Semaphore(3), token-bucket at 30 req/s, response cache for 5–15 min on dashboards, daily counter in Redis.
Full reference: references/rate-limits.md
Ready-made templates: httpx.AsyncClient with OAuth, token-bucket for 30 req/s, asyncio.Semaphore(3), retry on 429/503 honoring Retry-After, daily counter in Redis, request_id persistence in Postgres, Logs API worker (submit → poll → download chunks → clean), TSV parsing for multi-touch attribution (first/last/linear), Node.js mirror on undici. PostgreSQL schema for daily aggregates + raw hits.
Full reference: references/integration.md
| API | Base path | Auth | Rate |
|---|---|---|---|
| Reporting | https://api-metrika.yandex.net/stat/v1/data{,bytime,drilldown,comparison} | OAuth | 200 req/5 min, 5000/day |
| Logs | https://api-metrika.yandex.net/management/v1/counter/{id}/logrequest* | OAuth metrika:read | 10 req/s, 10 GB/counter |
| Management | https://api-metrika.yandex.net/management/v1/{counters,counter/{id}/{goals,filters,operations,representatives}} | OAuth (read or write per op) | 30 req/s |
| Data Import | https://api-metrika.yandex.net/management/v1/counter/{id}/{expenses,offline_conversions,calls,user_params}/upload | OAuth metrika:write+scope | 30 req/s |
/stat/v1/data param | Type | Notes |
|---|---|---|
ids | int / CSV | counter_id (required); multiple comma-separated |
dimensions | CSV | up to 10; e.g. ym:s:date,ym:s:lastTrafficSource |
metrics | CSV | e.g. ym:s:visits,ym:s:users,ym:s:bounceRate |
date1, date2 | str | YYYY-MM-DD, today, yesterday, NdaysAgo |
filters | str | DSL: ym:s:lastTrafficSource=='organic' |
sort | CSV | -ym:s:visits (minus = DESC) |
limit | int | default 100, max 100000 |
offset | int | 1-based |
accuracy | str | low / medium / high / full or number 0.01–1 |
proposed_accuracy | bool | true → server suggests accuracy for speed |
attribution | str | FIRST / LAST / LASTSIGN (default) / LAST_YANDEX_DIRECT_CLICK / CROSS_DEVICE_* / AUTOMATIC |
group | str | all / day / week / month (for /bytime) |
direct_client_logins | CSV | for Yandex.Direct reports |
include_undefined | bool | include rows with null dimensions |
lang | str | ru / en (label language) |
| Namespace | Holds | Sample dimension | Sample metric |
|---|---|---|---|
ym:s: | Visits / sessions | ym:s:date, ym:s:lastTrafficSource, ym:s:browser, ym:s:regionCity, ym:s:deviceCategory, ym:s:UTMSource | ym:s:visits, ym:s:users, ym:s:bounceRate, ym:s:pageDepth, ym:s:avgVisitDurationSeconds, ym:s:percentNewVisitors, ym:s:goal{ID}reaches, ym:s:goal{ID}conversionRate |
ym:pv: | Page views | ym:pv:URL, ym:pv:title, ym:pv:referer | ym:pv:pageviews, ym:pv:users |
ym:u: | Users (cohorts) | ym:u:userID, ym:u:firstVisitDate, ym:u:gender, ym:u:ageInterval | ym:u:users, ym:u:visitsPerUser |
ym:up: | User parameters | ym:up:paramsLevel1..5 | ym:up:params |
ym:ad: | Yandex.Direct | ym:ad:directCampaignName, ym:ad:directOrder | ym:ad:clicks, ym:ad:RUBAdCost |
| Logs lifecycle status | Meaning |
|---|---|
created | Queued, waiting to be processed |
processed | Ready — download via /part/{n}/download |
awaiting_retry | Transient error, will be retried |
processing_failed | Terminal failure — recreate |
cleaned_by_user | Removed via POST /clean |
cleaned_automatically_as_too_old | Auto-removed after 7 days |
canceled | Cancelled |
| HTTP / code | Meaning | Retry? |
|---|---|---|
| 401 | invalid/expired token | no — reissue token |
| 403 | no access to counter_id | no — check scope/owner |
400 + quota_exceeded | 10 GB Logs / daily 5000 | no — clean logs / wait for GMT 00:00 |
| 429 | rate limit | yes — Retry-After, exponential backoff |
| 500/502/503 | server error | yes — backoff |
accuracy=full on critical reports → silent sampling, sampled:true, sample_share:0.05 ignored → decisions made on 5% of data. Fix: always inspect sampled in the response; use accuracy=full for finance-grade reports.ym:s: and ym:pv: in the same request → 400. Fix: one namespace per request, cross via EXISTS() in filters.today for final numbers — data is unstable for up to 3 days. Fix: use yesterday minimum, ideally 7daysAgo for finalized aggregates.request_id — after a worker restart the job is lost, a new one is created, quota is consumed twice. Fix: store request_id in Postgres/Redis with status, parts[]./clean after a successful download → 10 GB exhausted in days → 400 quota_exceeded. Fix: always POST /clean once all parts[] are downloaded.attribution=LAST with Yandex.Direct and being surprised that traffic "disappeared" — LAST_YANDEX_DIRECT_CLICK is the dedicated model; without it, much Direct traffic gets attributed to direct/none. Fix: use LAST_YANDEX_DIRECT_CLICK or LASTSIGN for Direct reports.date1=2026-05-15 is not the UTC calendar day. Fix: explicitly reconcile counter TZ before comparing with UTC data from other systems.fields > 3000 chars in Logs API → 400. Fix: pick only the columns you need.limit=100 default without pagination → silent row loss. Fix: explicit limit=100000 plus an offset loop until data.length < limit.sampled:true without accuracy=full, (b) different attribution model, (c) different timezone, (d) request for today. Check those four before forming hypotheses.400 quota_exceeded on Logs API → cleanup is missing. Run GET /logrequests and batch POST /clean for every processed job that has been downloaded.request_id lost after worker restart → no persistence layer. Add DB persistence from day one.403 on /stat/v1/data — token belongs to a different user, or counter_id belongs to someone else. Run GET /management/v1/counters to see what is actually visible under this token./evaluate before POST /logrequests, especially for wide date ranges — it is free and saves the 10 GB quota.request_id to the DB before the Yandex response reaches the caller.sampled, sample_share in the response; do not trust default accuracy.EXISTS() in filters, never mix ym:s: and ym:pv: in dimensions/metrics.yesterday, not today — a data-quality vs. latency trade-off.metrika:read for analytics, metrika:write only when CRUD is actually needed.fields.processed jobs flip to cleaned_automatically_as_too_old.yandex-webmaster — search queries / indexation (cascade marker)yandex-direct — Yandex.Direct ad-campaign stats (cascade marker)google-analytics — Google Analytics 4 (cascade marker)appmetrica — mobile-app analytics (cascade marker)httpx, nodejs — HTTP transport for your own clientpostgresql, redis — request_id persistence, daily counter, response cachepolars, pandas, clickhouse — downstream processing for raw hitsQuick-start recipes: references/cookbook.md — 20+
yandex_metrika_apicall examples (mcp-yandex-seo v0.5+)
| Endpoint | Method | Purpose |
|---|---|---|
/stat/v1/data | GET | Tabular report (rows × dimensions × metrics) |
/stat/v1/data/bytime | GET | Time series (for charts) |
/stat/v1/data/drilldown | GET | Hierarchical drill-down |
/stat/v1/data/comparison | GET | Comparison of two segments / periods |
/stat/v1/data/comparison/drilldown | GET | Comparison + drill-down |
/management/v1/counters | GET / POST | List / create counters |
/management/v1/counter/{id} | GET / PUT / DELETE | Single-counter CRUD |
/management/v1/counter/{id}/goals | GET / POST | Goals |
/management/v1/counter/{id}/goal/{goalId} | GET / PUT / DELETE | Goal |
/management/v1/counter/{id}/filters | GET / POST | Filters (bots / IP / domains) |
/management/v1/counter/{id}/operations | GET / POST | Operations (URL cleanup) |
/management/v1/counter/{id}/representatives | GET / POST | Representatives (delegated access) |
/management/v1/counter/{id}/logrequests/evaluate | GET | Pre-flight feasibility check |
/management/v1/counter/{id}/logrequests | GET / POST | List / create Logs API jobs |
/management/v1/counter/{id}/logrequest/{requestId} | GET | Job status |
/management/v1/counter/{id}/logrequest/{requestId}/part/{n}/download | GET | Download a log part |
/management/v1/counter/{id}/logrequest/{requestId}/clean | POST | Clean a ready log |
/management/v1/counter/{id}/logrequest/{requestId}/cancel | POST | Cancel a job |
/management/v1/counter/{id}/expenses/upload | POST | Expenses import |
/management/v1/counter/{id}/offline_conversions/upload | POST | Offline-conversion import |
/management/v1/counter/{id}/user_params/upload | POST | User-params import |
references/cookbook.md— 20+ ready-to-useyandex_metrika_apicall examples for the mcp-yandex-seo v0.5 generic gateway. Covers counter discovery, reporting, search phrases, traffic sources, time-series, drilldown, comparison, goals, filters, segments, Logs API lifecycle, and migration from v0.4 narrow tools.
yandex-webmaster, yandex-direct, google-analytics, appmetrica — adjacent RU/EN analytics platformsclickhouse — recommended sink for Logs API raw hitshttpx, nodejs — HTTP clientpostgresql, redis — persistence© VKirill, 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 11 other files (references) in plugins/lane-stack/skills/yandex/yandex-metrica of VKirill/claude-lane-stack.
Open the folder on GitHubat commit 45fa19e
Yandex Metrica 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 Metrica this skillVKirill/claude-lane-stack | 122 | — | ~5.7k | Automated safety check: Pass | MIT | |
| Ga4 Auth Setupjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Blog GoogleAgriciDaniel/claude-blog | 2.3k | 1 repos | ~3.3k | Automated safety check: Notes | MIT | |
| Sf IntegrationJaganpro/sf-skills | 424 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Integration Connectivity Generateforcedotcom/sf-skills | 1.1k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Implementing Zero Trust For SaaS Applicationsmukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 |
jeremylongshore/tons-of-skills-marketplace
Configure auth for the GA4 Data API — OAuth user credentials for interactive use, or a service account for automation / CI.
AgriciDaniel/claude-blog
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…
Jaganpro/sf-skills
Salesforce integration architecture with 120-point scoring. An agent skill from Jaganpro/sf-skills.
forcedotcom/sf-skills
Salesforce integration architecture and runtime plumbing with 120-point scoring.
mukul975/Anthropic-Cybersecurity-Skills
Secures SaaS apps (Microsoft 365, Google Workspace, Salesforce, Slack) via CASB/SSPM deployment, conditional access policies, OAuth app governance, and session-level DLP controls enforcing identity…
PostHog/posthog
Connect a real Slack workspace to local PostHog Conversations (the SupportHog Slack app) so Slack messages become support tickets and replies post back.
VKirill/claude-lane-stack
Lane-stack design + brand intelligence (vendored ui-ux-pro-max).
VKirill/claude-lane-stack
Owner-facing architect for a new app or service. An agent skill from VKirill/claude-lane-stack.
VKirill/claude-lane-stack
Live browser QA + Playwright-compatible replay. An agent skill from VKirill/claude-lane-stack.
VKirill/claude-lane-stack
Карта файлов копирайта в .agents/copy/: шаблоны, статусы, цепочка audience→headlines→ux.
VKirill/claude-lane-stack
Dispatch copy-lead helpers: Tavily, Codex luna/terra, grok/X, OpenCode DeepSeek, Cursor Grok 4.6 medium-fast.
VKirill/claude-lane-stack
Keep living docs/ honest after code changes. An agent skill from VKirill/claude-lane-stack.
Works with
Categories
[RU: яндекс метрика, метрика api, logs api, цели метрики] Yandex.Metrika API via api-metrika.yandex.net with OAuth 2.0. Yandex Metrica is an agent skill from VKirill/claude-lane-stack.0.
Yandex Metrica fits situations like: : яндекс метрика; raw hits export.
Run `npx skills add VKirill/claude-lane-stack --skill yandex-metrica -a claude-code`. Or copy the skill folder (plugins/lane-stack/skills/yandex/yandex-metrica in VKirill/claude-lane-stack) into .claude/skills/yandex-metrica in your project. Claude Code loads it when a task matches its description.
Run `npx skills add VKirill/claude-lane-stack --skill yandex-metrica -a codex`. Or copy the skill folder (plugins/lane-stack/skills/yandex/yandex-metrica in VKirill/claude-lane-stack) into .agents/skills/yandex-metrica 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 VKirill/claude-lane-stack --skill yandex-metrica -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-metrica, .gemini/skills/yandex-metrica, .github/skills/yandex-metrica and .opencode/skills/yandex-metrica in your project.
SKILL.md names no scripts, command-line tools or credentials: Yandex Metrica is instructions for the agent only. Our summary lists: Python 3; Node.js.
SKILL.md names 1 domain. In commands or code: api-metrika.yandex.net; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Yandex Metrica is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.7k tokens (SKILL.md is roughly 23k 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 25k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Yandex Metrica: Ga4 Auth Setup (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Blog Google (AgriciDaniel/claude-blog, 2.3k stars), Sf Integration (Jaganpro/sf-skills, 424 stars) and Integration Connectivity Generate (forcedotcom/sf-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
VKirill (a GitHub user) maintains it in VKirill/claude-lane-stack, which has 122 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 9, 2026.
Source: VKirill/claude-lane-stack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.