codex-lane-worker
Bounded Codex Lane writer protocol for one assigned task. Use only when the lane runtime assigns this worker.
[RU: экосистема Google] Ads (RSA/PMax), Analytics GA4, Search Console, GTM, Cloud auth. SKILL.md — роутер; доменные доки в дочерних папках. Use when: google, гугл, google ads, гугл реклама, ga4, гугл аналитика, gsc, search console, gtm, тег менеджер, oauth google, service
$ npx -y skills add VKirill/claude-lane-stack --skill google --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/googleContext preview
The summary Claude sees to decide when to auto-load this skill.
[RU: экосистема Google] Ads (RSA/PMax), Analytics GA4, Search Console, GTM, Cloud auth. SKILL.md — роутер; доменные доки в дочерних папках. Use when: google, гугл, google ads, гугл реклама, ga4, гугл аналитика, gsc, search console, gtm, тег менеджер, oauth google, service
name: google description: "[RU: экосистема Google] Ads (RSA/PMax), Analytics GA4, Search Console, GTM, Cloud auth. SKILL.md — роутер; доменные доки в дочерних папках. Use when: google, гугл, google ads, гугл реклама, ga4, гугл аналитика, gsc, search console, gtm, тег менеджер, oauth google, service account, /google. SKIP: Я.Директ/Метрика/Вебмастер→yandex; VK/TG Ads; Wordstat/SERP XML→seo-tools; Ads API / GCP compute / BigQuery / Gemini (нет скилла)." stacks: - google - ru tags: - google - dispatcher - ecosystem - oauth - ru source: vechkasov-global-skills risk: medium
This `SKILL.md` is a **router**. Product knowledge lives in the child folders below. Do not answer APIs from this file.
1. Match the task to the route table. 2. **Read** that child's `SKILL.md`. 3. Load only that child's `references/` row from its own API Reference table. 4. Two products → read both children. Do not merge their APIs, headers, or quotas.
| Task | Child | |---|---| | RSA / PMax / Display / Demand Gen / лимиты 30/90, политики, РФ-бан Ads | [google-ads/SKILL.md](google-ads/SKILL.md) | | GA4: `runReport`, property_id, агрегаты, token quotas | [google-analytics/SKILL.md](google-analytics/SKILL.md) | | GSC: queries, CTR, urlInspection, sitemap, Indexing API | [google-search-console/SKILL.md](google-search-console/SKILL.md) | | GTM: контейнер, теги/триггеры/переменные, publish, rollback, etag | [google-tag-manager/SKILL.md](google-tag-manager/SKILL.md) | | OAuth / SA key.json / ADC / scopes / `invalid_grant` | [google-cloud-auth/SKILL.md](google-cloud-auth/SKILL.md) |
Нет дочернего скилла: Google Ads API, GCP compute, BigQuery, Gemini.
| User says | Default | Not this | |---|---|---| | «позиции в Google» + **свой** сайт | `google-search-console` | xmlstock = произвольный SERP | | «позиции» + список ключей / чужой домен | `xmlstock` | GSC only covers verified properties | | «трафик» / «конверсии с сайта» | `google-analytics` | GSC = search queries; Ads = paid | | «статистика объявлений» / CPC / CTR ads | `google-ads` (кабинет) | GA4 = on-site; нет Ads API скилла | | «написать RSA / PMax» | `google-ads` | сначала `russia-context` | | «Google Ads в Россию» | `google-ads` → Я.Директ | размещение в РФ недоступно | | «запросы / индекс / sitemap Google» | `google-search-console` | GA4 не знает поисковые запросы | | «Measurement ID G-XXXX» в API | `google-analytics`: это **не** Property ID | остановиться, взять numeric ID | | «поставить GTM / тег / опубликовать контейнер» | `google-tag-manager` | GA4 = отчёты; auth = ключи | | «invalid_grant / SA / refresh token / ADC» | `google-cloud-auth` | не чинить токен внутри GA4/GSC/GTM |
If still unclear — one question, then route.
| Situation | Load in order | |---|---| | Любой Google API без рабочего токена | `google-cloud-auth` → продукт | | Креативы Ads + измерение на сайте | `google-ads` → `google-analytics` | | Новый сайт: индекс + счётчик | `google-search-console` → `google-analytics` | | Органика vs поведение | `google-search-console` + `google-analytics` (не склеивать 1:1) | | Теги на сайте + отчёты GA4 | `google-tag-manager` → `google-analytics` | | РФ-таргет вместо Google Ads | `yandex` → `yandex-direct-creatives` |
Auth bootstrap is **`google-cloud-auth`**: OAuth user flow, service account JWT, ADC, scopes, `invalid_grant`. A key file is not enough — grant the SA email in the **product** UI.
| Product | Grant | |---|---| | `google-analytics` | Admin → Property Access Management (`Viewer`+) | | `google-search-console` | Settings → Users (`Restricted` / `Full`; Indexing API needs **Owner**) | | `google-tag-manager` | Account/Container access in GTM UI (`tagmanager.readonly` / `.edit.containers` / `.publish`) | | `google-ads` | no API — кабинет / YAML validator |
Do not share one client across GA4 Data API, GSC Webmasters, and GTM: different hosts, scopes, quotas.
Property ID (`properties/123`) ≠ Measurement ID (`G-XXXX`) ≠ GSC `siteUrl` (`https://…/` or `sc-domain:`) ≠ GTM Account/Container IDs.
Children own the docs. Inventory of this skill:
| Product | File | |---|---| | Google Ads — форматы, лимиты, policies, РФ-контекст, validator | [google-ads
Claude Lane Stack is a self-hosted toolkit for coordinating coding agents through CLI processes, task contracts, Git workspaces, and verification receipts (bin/run-controller:117-159, schemas/task-v2.schema.json:1-60).
Bounded Codex Lane writer protocol for one assigned task. Use only when the lane runtime assigns this worker.
Operate Claude Lane Stack schema-v2 runs from Codex. Use for lane status, start, resume, review, verification, evidence, or…
Детекция и коррекция AI-сгенерированного текста по методике DrMax LinguaForensic v3.9.4 (284 лингвистических признака + 16…
Owner-facing architect for a new app or service. Plain-language chat; living plan artifacts on disk. Use when user says…
Live browser QA + Playwright-compatible replay. Disk .agents/qa/. Use when (terminal Lane Stack): проверь в браузере, кликни…
Delegate fat file reads to the project's pm_read worker. Use when a Read/cat/head/tail/sed of a file over pm_read.min_lines was…