| name | landing-experiment |
| description | Создать A/B-эксперимент на лендинге — из брифа и гипотезы сгенерировать вариант(ы) на одном URL (inline-сплит, SEO-безопасно), настроить трекинг варианта в Метрике/GA4, завести карточку эксперимента и записи в аудит-журнал, выдать чеклист запуска. Использовать, когда нужно подготовить A/B-тест, вариант под гипотезу или несколько вариантов лендинга для проверки. |
landing-experiment — A/B-эксперименты на лендинге
Готовит A/B-тест по правилам проекта (правила A/B встроены в этот скилл):
варианты живут на одном URL (inline-сплит, без клоакинга), вариант прокидывается в
аналитику, всё фиксируется в аудит-журнале. Опирается на готовую A/B-инфраструктуру в
index.html (AB_ACTIVE, cookie-сплит, ym(...,'params',{ab:…})).
Жёсткие правила
- Один URL, без клоакинга (SEO-безопасность). Роботу и людям — один контент.
Control (вариант A) — в HTML; вариант B применяется JS поверх. Никаких скрытых от роботов
текстов/ключей. Отдельные URL под варианты — только с
canonical+noindex (не наш случай).
- Одна переменная за тест (иначе результат не интерпретировать).
- Анти-FOOC и анти-CLS: вариант фиксируется до первого paint, подмена не двигает вёрстку.
- Трафик-гейт: всерьёз тест запускают после аналитики и ≥100 визитов/день. Меньше —
фоновый сплит без выводов или честный before/after (пометка «B/A»).
- Каждый шаг — в аудит-журнал (skill
landing-journal).
Workflow
1. Определить эксперимент
Зафиксируй (шаблон — reference/experiment-design.md):
- Гипотеза в форме «Если [изменение], то [метрика] вырастет, потому что […]».
- Переменная — ровно одна. Бери из бэклога гипотез (приоритизация по ICE) или сформулируй.
- Variant A (control) и Variant B — точное различие.
- Primary-метрика + MDE; secondary/прокси; guardrail (что не ухудшить).
- Сплит 50/50, cookie 30 дней; длительность ≥ целого числа недель; критерий решения.
Если гипотеза/метрика не заданы — добери через AskUserQuestion (предложи топ по ICE из §3).
2. Подготовить варианты
- Control — существующий контент лендинга (в HTML).
- Variant B — реализуй inline-сплитом по
reference/ab-implementation.md:
настрой TEST-имя, cookie-сплит, применение варианта до paint, передачу варианта в
Метрику (params) и GA4 (event/dimension), цели с меткой варианта (data-goal).
- Несколько вариантов (B, C…) — допустимо, но это A/B/n: нужно больше трафика; помни про MDE.
3. Проверить
python3 .claude/skills/landing-experiment/scripts/check_experiment.py <лендинг.html> [--experiment <id>]
Плюс прогони контракт лендинга: .claude/skills/new-landing/scripts/check_landing.py.
4. Завести карточку и записать в журнал
5. Ветка, превью, чеклист запуска
- Ветка
exp-<id> от dev, коммит (тем же коммитом — записи журнала), пуш → превью-URL.
- Выдай чеклист запуска: трафик-гейт (≥100 визитов/день?), выставить
AB_ACTIVE=true при
старте, какие цели смотреть, длительность, honest stopping (не «подглядывать»), что считается
победителем (выше primary без проседания guardrail).
- Запуск/раскат — решение человека; при запуске залогируй
launched, при раскате rolled_out.
Что НЕ делает этот skill (отдельные шаги/скиллы)
- Создание рекламных кампаний и UTM-трафик → будущий
landing-ads (артефакты; API — при токенах).
- Сбор статистики и расчёт значимости → будущий
landing-stats (при токенах/бэкенде).
Сейчас результаты заносятся в журнал и карточку вручную (stats_collected, decided).