Техническое задание · v1.0

Фабрика affiliate-лендингов

Автономная сборка статичных HTML-сайтов под казино-офферы для гео FR · AU · NZ · DE. Заказчик кидает 4 параметра — команда из 39 агентов выкатывает готовый лендинг за 5–15 минут.

📂 D:\claw\landings 📅 2026-05-05 👤 Заказчик: Руслан 🤖 Команда: 39 агентов · 10 отделов
📑 Содержание
  1. TL;DR
  2. Цель проекта
  3. Входные данные от заказчика
  4. Автономный пайплайн
  5. Команды запуска
  6. Архитектура папок
  7. Технологический стек
  8. HTML-шаблон с плейсхолдерами
  9. Gemini-интеграция
  10. SEO + Compliance по гео
  11. Quality Gates (приёмка)
  12. Отчёт пайплайна
  13. Эволюция: от локалки к проду
  14. Roadmap
  15. Что нужно от заказчика сейчас
  16. Принципы работы команды

0TL;DR — что должно происходить

Заказчик кидает в чат одну строку:

@pm-admin сделай лендос domain=luckyspin-fr.com geo=FR offer=LuckySpin ref=lucky8fr.fr

Через 5–15 минут в папке D:\claw\landings\sites\luckyspin-fr.com\ лежит готовый комплект:

Заказчик открывает index.html двойным кликом, смотрит, говорит «ок» или «переделай вот это» — и идёт к следующему. Ноль ручной возни.

5–15мин
Время одного лендинга
$0.50
Стоимость в Gemini-квоте
39
Агентов в пайплайне
90+
Lighthouse-цель

1Цель проекта

Запустить сетку статичных affiliate-лендингов под казино-офферы в нескольких гео. Сайты должны:

  1. Визуально походить на конкурентов из списка (см. _competitors/COMPETITORS.md)
  2. Конвертировать клик → регистрацию → депозит через affiliate-tracker
  3. Делаться за минуты, а не за дни — массовое производство
  4. Работать без билда — открываются как index.html локально
  5. Деплоиться на любой статичный хостинг (Vercel · Cloudflare Pages · VPS)

Гео-таргеты

🇫🇷

France

12 конкурентов в списке. Регулятор ANJ. Запреты на «gratuit», «garanti».

🇦🇺

Australia

10 конкурентов. Терминология «pokies» вместо «slots». Гео-запрет IGA.

🇳🇿

New Zealand

4 конкурента. Возрастной gate 20+ (по бренду).

🇩🇪

Germany

1 cross-brand reference (win-airlines.com.de). GGL + OASIS-disclaimer.

2Входные данные от заказчика

Чтобы запустить пайплайн, нужно 4 параметра:

ПараметрЧто этоПример
domainДомен или рабочее имя сайтаluckyspin-fr.com
geoГео-таргет (FR / AU / NZ / DE)FR
offerБренд казино из _shared/offers/LuckySpin
refСайт-конкурент-референс (из списка)lucky8fr.fr

Опциональные параметры (с дефолтами)

ПараметрДефолтOverride-пример
typeone-pagermulti-offer · cross-brand
paletteпо гео: dark-gold (FR), red-black (AU)neon-purple
moodавтодетект из refvegas-neon
bonusиз _shared/offers/<offer>.json200% до 1000€ + 100FS
cta_textавтогенерация под языкSpin now
langавтоматом из geode-DE
💡

Если оффер новый и его ещё нет в _shared/offers/ — заказчик кидает affiliate-ссылку и параметры бонуса, агент content-manager автоматом создаёт JSON-карточку. Один раз — потом этот оффер можно использовать для любых лендингов.

3Автономный пайплайн

12 шагов. У каждого — свой агент. Заказчик ничего не делает, кроме старта.

0
оркестратор

Получение задачи pm-admin

Парсит команду заказчика, валидирует параметры, создаёт папку sites/<domain>/, копирует туда BRIEF_TEMPLATE.md → BRIEF.md и предзаполняет известное. Если каких-то данных не хватает — не спрашивает, а ставит дефолты и фиксит в REPORT.md.

1
парсер

Парсинг референса data-parser

Заходит на https://<ref> через Puppeteer (headless Chrome). Снимает: HTML, скриншоты desktop + mobile, цвета (top-5 палитры), шрифты, структуру H1/H2, список секций по порядку, тексты CTA, FAQ-блок (если есть). Сохраняет в _references/screenshots/<geo>/<ref>/ + summary.json.

2
контент

Анализ оффера content-manager

Читает _shared/offers/<offer>.json (или создаёт его, если новый). Валидирует: tracking URL рабочий, бонус-параметры заполнены, гео-restrict не конфликтует с geo.

3
дизайн

Дизайн-структура design-landing

На основе summary.json от парсера решает порядок секций для нашего сайта. Дефолтный шаблон под казино:

1. 18+ strip                7. Steps (как начать)
2. Sticky header            8. Payments
3. Hero + бонус-карточка     9. FAQ
4. Top games               10. Big CTA
5. Features (3-4 иконки)   11. Footer
6. Trust badges            12. Floating mobile CTA + cookie

Возвращает STRUCTURE.json — какие секции, в каком порядке, с какими пропсами.

4
генератор

Генерация визуала gemini-nano-banana-2

Это критическая часть. Подробности в разделе №8. Генерит через Gemini 3.1 Flash Image API:

  • Hero-картинка (16:9, 1600×900) — сцена под бренд/настроение
  • Логотип бренда (1:1, transparent PNG, 512×512)
  • 6 game-thumbnails (3:4, 480×640) — в стиле слотов из топа
  • 4 иконки фич (1:1, 256×256, transparent) — стиль flat/glass

Все картинки сохраняются в sites/<domain>/assets/img/.

5
копирайтер

Копирайт под гео seo-copywriter

Пишет все тексты лендинга на языке geo с локальной терминологией:

  • FR «casino en ligne», «bonus de bienvenue», избегаем «gratuit» / «garanti»
  • AUNZ «pokies» вместо «slots», «mate-tone» в CTA
  • DE «Bonusangebot», формальный «Sie», без слов вне Glücksspielstaatsvertrag

Возвращает COPY.json со всеми строками: H1, под-H1, бонус-headline, 4 feature-текста, 3 step-текста, 5 FAQ Q+A, footer disclaimer.

6
фронт

Сборка HTML dev-frontend

Берёт компонент-шаблон из _shared/templates/casino-onepager.html, пропсит в него: STRUCTURE.json + COPY.json + ассеты + tracking URL. Inline CSS, без внешних зависимостей кроме Google Fonts (preconnect). Цель: один self-contained файл, < 50 KB, mobile-first.

7
SEO-тех

SEO-обвязка seo-technical

Создаёт:

  • <head> meta: title (≤60), description (≤155), OpenGraph, Twitter Card, theme-color
  • seo/robots.txt и seo/sitemap.xml
  • Schema.org JSON-LD: Organization + FAQPage + BreadcrumbList
  • hreflang-альтернаты, если решено делать мультиязычно
8
локализация

Локализация localization-i18n

Проверяет: формат валюты ( перед/после в зависимости от locale), формат даты, RTL не нужен. Если есть мультиязычные версии — синхронизация ICU-строк.

9
правовик

Compliance-обвязка legal-compliance

По гео автоматом подставляет:

  • FR ссылка на joueurs-info-service.fr, телефон 09 74 75 13 13, 18+
  • AU ссылка на gamblinghelponline.org.au, BetStop badge, 18+
  • NZ ссылка на gamblinghelpline.co.nz, 20+ или 18+ по бренду
  • DE ссылка на bzga.de, OASIS-disclaimer, 18+

Cookie-banner-текст под локаль.

10
аудит

Аудит дизайна design-auditor

Проверяет: контраст WCAG AA (4.5:1 для текста, 3:1 для UI), типографика (line-height, max-width абзаца), spacing (8px-grid), консистентность. Возвращает список нарушений → dev-frontend правит.

11
QA

QA + Lighthouse dev-tester

Открывает index.html через Puppeteer, делает скриншоты desktop + mobile + tablet, гоняет Lighthouse, ловит broken links, missing alts, console errors. Цель: Performance 90+, Accessibility 90+, SEO 95+, Best Practices 90+.

12
финал

Финальный отчёт pm-admin

Создаёт sites/<domain>/REPORT.md с прогрессом каждого шага, lighthouse-цифрами, ссылкой на скриншот превью. См. раздел 11.

4Команды запуска

4.1 Базовая (один лендос)

@pm-admin сделай лендос domain=luckyspin-fr.com geo=FR offer=LuckySpin ref=lucky8fr.fr

4.2 С опциональными параметрами

@pm-admin сделай лендос
  domain=primaplay-au.com
  geo=AU
  offer=PrimaPlay
  ref=primaplaycasino-au.com
  palette=red-black
  type=multi-offer
  mood=vegas-neon

4.3 Массово (батчем)

@pm-admin сделай батч лендосов из batch.csv

Где batch.csv:

domain,geo,offer,ref,palette,type
luckyspin-fr.com,FR,LuckySpin,lucky8fr.fr,dark-gold,one-pager
primaplay-au.com,AU,PrimaPlay,primaplaycasino-au.com,red-black,one-pager
mafia-nz.org,NZ,MafiaCasino,mafia-casino.nz,purple-noir,one-pager

pm-admin запускает пайплайн параллельно по всем строкам (rate-limit на Gemini — макс 4 в параллель).

4.4 Только переделать секцию

@pm-admin переделай hero у luckyspin-fr.com mood=neon-purple

Запускается только Gemini → dev-frontend (re-injection). Остальное не трогаем.

4.5 Cross-brand (как win-airlines.com.de)

@pm-admin сделай cross-brand лендос
  domain=top-casinos-de.com
  geo=DE
  offers=BrandA,BrandB,BrandC,BrandD,BrandE
  ref=win-airlines.com.de

5Архитектура папок

D:\claw\landings\
├── README.md
├── TZ.md / TZ.html                     ← мастер-спецификация
│
├── _brief/
│   └── BRIEF_TEMPLATE.md               ← шаблон брифа на сайт
│
├── _competitors/
│   └── COMPETITORS.md                  ← каталог рефа по гео
│
├── _references/
│   └── screenshots/<geo>/<domain>/
│       ├── desktop.png
│       ├── mobile.png
│       └── summary.json                ← вывод data-parser
│
├── _shared/
│   ├── offers/<brand>.json             ← affiliate-карточки
│   ├── templates/
│   │   ├── casino-onepager.html        ← мастер-шаблон HTML
│   │   ├── casino-multi-offer.html
│   │   └── casino-cross-brand.html
│   ├── components/                      ← переиспользуемые HTML-блоки
│   ├── palettes/<name>.css             ← готовые палитры
│   └── locales/<geo>.json               ← compliance-тексты, ссылки помощи
│
└── sites/<domain>/                      ← каждый лендинг
    ├── index.html                       ← результат
    ├── BRIEF.md                         ← заполненный бриф
    ├── REPORT.md                        ← отчёт пайплайна
    ├── assets/
    │   ├── img/                         ← Gemini-картинки
    │   └── screenshot.png               ← превью самого лендинга
    └── seo/
        ├── robots.txt
        ├── sitemap.xml
        └── schema.json

6Технологический стек

🌐 Фронт

HTML5 + inline CSS · zero build · vanilla JS только для <details> и cookie-banner (≤50 строк) · Google Fonts через preconnect · картинки WebP с PNG-fallback.

⚙️ Pipeline

Node.js 24 для скриптов · Puppeteer (парсинг + скриншоты + Lighthouse) · Gemini 3.1 Flash Image API · sharp (resize + WebP).

☁️ Хостинг

Локалка → Vercel (preview) → Vercel (prod) или Cloudflare Pages · DNS на Cloudflare · BotID + Routing Middleware от Vercel.

Чего нет и почему

7HTML-шаблон с плейсхолдерами

Файл _shared/templates/casino-onepager.html — это HTML с плейсхолдерами вида {{key}}, которые заполняются из STRUCTURE.json + COPY.json + offer.json.

Список плейсхолдеров

ПлейсхолдерИсточникПример
{{lang}}geofr
{{title}}seo-copywriterLuckySpin Casino — 500€ + 200 FS
{{description}}seo-copywriter
{{brand_name}}offerLuckySpin
{{brand_logo}}geminiassets/img/logo.png
{{hero_image}}geminiassets/img/hero.webp
{{h1}}seo-copywriterDoublez votre dépôt avec…
{{bonus_headline}}offer100% jusqu'à 500€ + 200 FS
{{bonus_min_dep}}offer20€
{{bonus_code}}offerWELCOME500
{{cta_text}}seo-copywriterRéclamer le bonus
{{cta_url}}offer.trackinghttps://aff.tracker/?c=…
{{games[]}}gemini + copyмассив из 6 объектов {img, name, tag}
{{features[]}}gemini + copyмассив из 4 {icon, title, text}
{{steps[]}}seo-copywriterмассив из 3 {num, title, text}
{{payments[]}}offer["VISA","MC","Skrill"…]
{{faq[]}}seo-copywriterмассив из 5 {q, a}
{{compliance.18plus}}locales/<geo>Jeu réservé aux personnes majeures
{{compliance.helpline}}locales/<geo>09 74 75 13 13
{{compliance.help_url}}locales/<geo>https://joueurs-info-service.fr
{{schema_jsonld}}seo-technicalсериализованный JSON-LD
📁

Уже работающий пример: sites/_demo-fr/index.html — открывается локально, показывает что должно получиться. Соберётся из шаблона, если прогнать через пайплайн с параметрами FR/LuckySpin/lucky8fr.fr.

8Gemini-интеграция (визуал)

Агент
gemini-nano-banana-2
Модель
Gemini 3.1 Flash Image (codename Nano Banana 2)
Зачем
Генерим всю графику лендинга — без стоков, без копирайт-проблем, под бренд
Стоимость
~$0.04 за картинку × 12 = ~$0.50 за лендос
Rate-limit
Макс 4 параллельные генерации (стандартный quota)

8.1 Промпты — точные шаблоны

A) Hero-image (1600×900, JPG/WebP)

Premium casino visual for "{{brand_name}}", {{geo}}-targeted audience.
Setting: {{mood}} (e.g., "luxurious dark casino floor with golden roulette wheel,
cinematic lighting, neon accents in {{palette_primary}}").
Style: photorealistic, high-detail, dramatic depth-of-field.
Composition: cinematic 16:9, leave 30% empty on right for text overlay.
Mood: aspirational, exciting, trustworthy.
No text in image. No people's faces. No real brand logos.
Resolution: 1600×900.

B) Logo (512×512, PNG transparent)

Minimalist casino logo for brand "{{brand_name}}".
Style: badge-style emblem, modern serif typography, gold and {{palette_secondary}}.
Elements allowed: stars, crowns, dice, cards, simple geometric shapes.
No photographic elements. No human figures.
Background: fully transparent.
Resolution: 512×512.

C) Game thumbnail (480×640, PNG) × 6

Цикл по 6 темам слотов: Egyptian / Sweet Bonanza / Wolf / Pirate / Aztec / Olympus.

Vertical slot machine thumbnail in {{theme}} theme.
Style: vibrant illustration, bright saturated colors, mobile game aesthetic.
Composition: 3:4 portrait, centered hero element with thematic background.
No text. No real game logos.
Resolution: 480×640.

D) Feature icons (256×256, PNG transparent) × 4

4 иконки: speed (молния), shield (щит), mobile (телефон), headset (наушники).

Flat glass icon, "{{icon_concept}}", in {{palette_secondary}} on transparent background.
Style: glassmorphism, soft glow, premium UI quality.
No text. Single object centered. 1:1 aspect ratio.
Resolution: 256×256.

8.2 Параметры API

{
  model: "gemini-3.1-flash-image",
  generationConfig: {
    responseMimeType: "image/png",
    candidateCount: 1,
    safetySettings: "default"
  }
}

8.3 Хранение и оптимизация

  1. Gemini выдал PNG → сохранить как assets/img/<role>-original.png
  2. sharp → ресайз и конверт в WebP → assets/img/<role>.webp
  3. PNG-fallback для старых браузеров через <picture> с <source srcset="*.webp">

8.4 Кэш и переиспользование

♻️

Кэш: если оффер уже использовал логотип/иконки на другом лендинге — не перегенерим, переиспользуем. Логотип бренда стабилен, иконки фич универсальны. Перегенерится только Hero-image (он зависит от mood и palette).

9SEO + Compliance по гео

9.1 Файл локали — единый источник правды

_shared/locales/<geo>.json — все compliance-данные, валюты, запреты в одном месте.

{
  "FR": {
    "lang": "fr-FR",
    "currency": "EUR",
    "currency_position": "after",
    "min_age": 18,
    "helpline_phone": "09 74 75 13 13",
    "helpline_url": "https://www.joueurs-info-service.fr/",
    "regulator": "ANJ",
    "forbidden_words": ["gratuit", "garanti", "sans risque", "argent facile"],
    "cta_examples": ["Jouer", "Réclamer le bonus", "S'inscrire"],
    "cookie_banner_text": "Ce site utilise des cookies…",
    "responsible_gambling_blurb": "Le jeu peut être addictif. Jouez avec modération."
  },
  "AU": {
    "lang": "en-AU",
    "currency": "AUD",
    "min_age": 18,
    "helpline_url": "https://www.gamblinghelponline.org.au/",
    "regulator": "ACMA",
    "slot_term": "pokies",
    "forbidden_words": ["risk-free", "guaranteed", "win every time"]
  },
  "NZ": {
    "lang": "en-NZ",
    "currency": "NZD",
    "min_age": 20,
    "helpline_url": "https://www.gamblinghelpline.co.nz/",
    "slot_term": "pokies"
  },
  "DE": {
    "lang": "de-DE",
    "currency": "EUR",
    "currency_position": "after",
    "min_age": 18,
    "helpline_url": "https://www.bzga.de/",
    "regulator": "GGL (Glücksspielbehörde)",
    "forbidden_words": ["risikolos", "garantiert", "100% sicher"],
    "extra_disclaimer": "Spielen kann süchtig machen. OASIS-Sperrsystem verfügbar."
  }
}

9.2 Schema.org (минимум на лендос)

[
  {"@type": "Organization", "name": "{{brand_name}}", "url": "https://{{domain}}"},
  {"@type": "FAQPage", "mainEntity": [...{{faq[]}}]},
  {"@type": "BreadcrumbList", "itemListElement": [...]}
]

9.3 Запреты по локалям

FR

ANJ

Нельзя слова gratuit, garanti. Title не должен содержать «bonus de dépôt» напрямую.

DE

GGL

Запрещено акцентировать «легко выиграть», обязателен OASIS-disclaimer.

AU

IGA

Запрещён маркетинг online casino-pokies на резидентов AU. Affiliate-сайты живут через офшор.

NZ

DIA

Возрастной gate 20+ для некоторых брендов вместо 18+.

🛡️

Агент legal-compliance подставляет всё это автоматом. Заказчику ничего знать не нужно — запреты, телефоны помощи, disclaimer'ы кладутся правильно для каждого гео.

10Quality Gates (приёмка)

Перед тем как пометить лендос «готов», pm-admin собирает чек-лист.

ГейтМинимумКто проверяет
Lighthouse Performance≥90dev-tester
Lighthouse Accessibility≥90dev-tester
Lighthouse SEO≥95dev-tester
Lighthouse Best Practices≥90dev-tester
HTML вес (без картинок)≤50 KBdev-tester
Все картинки имеют alt100%design-auditor
Контраст текста WCAG AA4.5:1design-auditor
Tracking-ссылка кликабельнаdev-tester
18+ блок присутствуетlegal-compliance
Helpline-ссылка для геоlegal-compliance
Schema.org валиднаseo-technical
Title ≤60, Description ≤155seo-technical
Mobile screenshot не сломанdev-tester
Forbidden_words в копии = 0100%legal-compliance
⚠️

Если хоть один гейт красныйpm-admin отправляет на доработку соответствующему агенту, не дёргая заказчика. Доработка делается до тех пор, пока все гейты не зелёные.

11Отчёт пайплайна

Шаблон файла sites/<domain>/REPORT.md, который генерится автоматом:

# Report — luckyspin-fr.com

**Started:**  2026-05-05 14:32:01
**Finished:** 2026-05-05 14:39:22
**Duration:** 7m 21s

## Pipeline
| # | Agent                | Status | Duration | Notes                                |
|---|----------------------|--------|----------|--------------------------------------|
| 0 | pm-admin             | ✅     | 0:02     | brief filled, defaults applied       |
| 1 | data-parser          | ✅     | 0:38     | lucky8fr.fr → 12 sections, dark+gold |
| 2 | content-manager      | ✅     | 0:04     | LuckySpin offer loaded               |
| 3 | design-landing       | ✅     | 0:11     | structure: 12 sections               |
| 4 | gemini-nano-banana-2 | ✅     | 2:48     | 12 images, 480 KB total, $0.48       |
| 5 | seo-copywriter       | ✅     | 0:32     | FR copy, 0 forbidden words           |
| 6 | dev-frontend         | ✅     | 0:18     | HTML 18.6 KB                         |
| 7 | seo-technical        | ✅     | 0:09     | meta + schema + sitemap              |
| 8 | localization-i18n    | ✅     | 0:04     | EUR/€ after, no RTL                  |
| 9 | legal-compliance     | ✅     | 0:06     | FR helpline, joueurs-info-service.fr |
|10 | design-auditor       | ⚠️→✅   | 0:21     | 1 contrast issue → fixed             |
|11 | dev-tester           | ✅     | 1:08     | LH 96/94/98/91                       |

## Output
- index.html — 18.6 KB
- assets/img/ — 12 files, 480 KB
- seo/ — robots.txt, sitemap.xml, schema.json
- assets/screenshot.png — 320 KB

## Lighthouse
Performance: **96** · Accessibility: **94** · SEO: **98** · Best Practices: **91**

## Cost
Gemini 3.1 Flash Image: $0.48 · Compute (local): ~$0 · **Total: $0.48**

12Эволюция: от локалки к проду

Stage 1 — локалка сейчас

Лендинги генерятся в D:\claw\landings\sites\. Открываются через Start-Process index.html. Скрипты пайплайна запускаются вручную через @pm-admin.

Stage 2 — Vercel preview +5 дней

Каждая папка sites/<domain>/ становится Vercel-проектом (vercel.ts). vercel deploy создаёт preview URL. Заказчик ревьюит на реальном URL.

Stage 3 — продакшн +2 недели

Привязка реального домена через Cloudflare DNS. vercel --prod. BotID + Routing Middleware от Vercel — фильтр ботов. Edge Config для A/B-тестов CTA.

Stage 4 — система генерации +1 мес

Web-UI (Next.js + shadcn) на internal.claw.tools/landings/new. Форма: domain / geo / offer / ref → кнопка «Сделать». Бэкенд = тот же агентский пайплайн через Vercel Workflow (durable). Дашборд статусов, history, A/B-результаты.

Stage 5 — A/B + автооптимизация +1.5 мес

На каждый лендинг 2-3 варианта Hero/CTA через Gemini. Vercel Edge Config роутит трафик 33/33/34. data-analyst собирает CTR → выигравший вариант становится дефолтом автоматом.

13Roadmap

ФазаСрокЧто делаемОтветственный
0сейчасУтвердить ТЗ (этот файл), сделать _demo-fr как референсpm-admin
1+1 деньНаписать _shared/templates/casino-onepager.html с плейсхолдерамиdev-frontend
2+1 деньНаписать _shared/locales/{FR,AU,NZ,DE}.jsonlegal-compliance
3+2 дняПодключить Gemini API через gemini-nano-banana-2gemini-nano-banana-2
4+2 дняНаписать pipeline.js — orchestrator от pm-admindev-architect
5+1 деньТестовый прогон: domain=test geo=FR offer=LuckySpin ref=lucky8fr.frpm-admin
6+1 деньVercel deploy первого лендинга (preview)dev-deployer
7+3 дняCross-brand шаблон + batch.csv modedev-frontend
8+неделяWeb-UI (Stage 4)dev-frontend + design-ui

14Что нужно от заказчика прямо сейчас

Чтобы завести первый реальный лендос (не демо), от тебя нужно:

1️⃣ Affiliate-офферы

Кинь 3–5 брендов, по которым работаем. По каждому:

  • Brand name (LuckySpin)
  • Tracking URL (с {SUBID}-плейсхолдером)
  • Бонус-headline (100% до 500€ + 200 FS)
  • Min deposit (20€)
  • Гео-restrict (если есть)
  • Лицензия (Curacao 8048/JAZ — типичная)

2️⃣ Gemini API key

Кинь в .env или скажи где лежит. Агент gemini-nano-banana-2 ждёт переменную окружения GEMINI_API_KEY.

Если ключа нет — могу заказать через AI Studio (бесплатный tier) или подключим Vercel AI Gateway для unified API.

3️⃣ Утверждение демо

Посмотри sites/_demo-fr/index.html:

  • визуально ок или переделать?
  • какие секции добавить / убрать?
  • что не должно быть на наших лендингах?

4️⃣ Первая команда

Когда первые три пункта закрыты, кидай:

@pm-admin сделай лендос
  domain=...
  geo=...
  offer=...
  ref=...

И дальше — только смотреть на готовое.

15Принципы работы команды

  1. Минимум вопросов заказчику — все решения по дефолтам, fallback'и, серые зоны решает команда сама. Заказчик апрувит / корректирует на готовом результате.
  2. Один источник правды на гео_shared/locales/<geo>.json. Compliance-логика не дублируется в коде агентов.
  3. Один источник правды на оффер_shared/offers/<brand>.json. Tracking URL и бонус нигде больше не хардкодятся.
  4. Кэш картинок — Gemini-генерации кешируются по паре (brand, role). Не перегенерим логотипы зря.
  5. Никаких manual-touch финалов — если потребовалась ручная правка, это баг пайплайна → фиксим в шаблоне или агенте, а не в index.html руками.
  6. Каждый лендос → REPORT.md — без отчёта работа не считается завершённой.
  7. 18+ и helpline — обязательны, никогда не выпиливаем «для скорости».