agentleFS
AntthonyyyAntthonyyy/marketing-agents-kit/skills/creative/SKILL.md

creative

Skill0 starsChanged 6 months agoMITView on GitHub

Генерация рекламных креативов (текст + визуальное ТЗ) на основе реальных данных проекта: конкуренты, метрики кабинета, боли ЦА. Не шаблоны — готовые к запуску материалы. Аргумент имя_проекта = имя папки в workspace/ (например demo_project). Принцип: сначала читаем то, что уже есть. Скрипты запускаем только если данных нет. Из каждого файла брать только последний по дате (самый свежий). Проектная база знаний (если есть): Условие: нет ни одного файла research_*.md и competitive_analysis_* (или все старше 30 дней). Если в рабочем репозитории пользователя есть…

10 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use ant, artistic and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • bergsideSkill

    ant

    Structured, enterprise-focused design system emphasizing clarity, consistency, and efficiency for data-dense web applications.

    Also in 3 projects that use this

  • bergsideSkill

    artistic

    High-contrast, expressive style with creative typography and bold color choices for visually striking interfaces.

    Also in 3 projects that use this

  • +10 more from bergside

The file

Files
SKILL.md

/creative — Data-Driven Ad Creative Generator

Генерация рекламных креативов (текст + визуальное ТЗ) на основе реальных данных проекта: конкуренты, метрики кабинета, боли ЦА. Не шаблоны — готовые к запуску материалы.

Вызов

/creative имя_проекта              → все этапы воронки (cold + warm + retarget)
/creative имя_проекта cold         → только холодная аудитория
/creative имя_проекта warm         → тёплая
/creative имя_проекта retarget     → ретаргетинг

Аргумент имя_проекта = имя папки в workspace/ (например demo_project).


Фаза 0: Валидация

  1. Парсить аргументы: {project} и {stage} (default: all)
  2. Проверить что workspace/{project}/CLAUDE.md существует — если нет, сообщить и остановиться
  3. Прочитать workspace/{project}/CLAUDE.md — извлечь:
    • Ниша и продукт
    • ЦА (кто, гео, язык, сегменты)
    • Воронка (куда ведёт реклама: DM, WhatsApp, лендинг, форма)
    • Тон текстов и язык (русский / English)
    • Конкуренты (если указаны)
    • CTA механика (trigger word в директ, WhatsApp, ссылка)

Фаза 1: Сбор данных

Принцип: сначала читаем то, что уже есть. Скрипты запускаем только если данных нет.

1a. Данные проекта (читать через glob + read)

workspace/{project}/CLAUDE.md                        → контекст проекта
workspace/{project}/tasks/research_*.md              → последний research (боли ЦА, конкуренты)
workspace/{project}/tasks/competitive_analysis_*     → анализ объявлений конкурентов
workspace/{project}/tasks/creative_brief_*           → готовый креативный бриф
workspace/{project}/tasks/strategy_*.md              → стратегия с сегментами ЦА
workspace/{project}/tasks/analysis_*.md              → метрики кампаний (CTR, CPL — что работает)
workspace/{project}/tasks/creative_analysis_*        → анализ существующих креативов
workspace/{project}/tasks/copy_ads_*.md              → прошлые тексты (не повторяться)
workspace/{project}/tasks/decisions_and_tz_*         → прошлые ТЗ на креативы

Из каждого файла брать только последний по дате (самый свежий).

1b. База знаний (читать ВСЕГДА)

knowledge/frameworks/copywriting.md              → формулы PAS/AIDA/4U с примерами
knowledge/advertising/creatives.md               → форматы, размеры, первые 3 сек, чеклист
knowledge/frameworks/funnels.md                  → лестница Ханта (5 уровней осознанности)
knowledge/advertising/meta-ads-tactics-2026.md   → тактики 2026, что работает сейчас
knowledge/frameworks/audience.md                 → JTBD, аватар, сегментация

Проектная база знаний (если есть):

workspace/{project}/*База_знаний*.md
workspace/{project}/*knowledge*.md

1c. Если данных нет — собрать внешние данные

Условие: нет ни одного файла research_*.md и competitive_analysis_* (или все старше 30 дней).

Если в рабочем репозитории пользователя есть собственный research/ad-library скрипт, можно запустить его. Пример команды для проектов, где такой инструмент уже настроен:

python scripts/ad_pipeline.py --query "{поисковый запрос из контекста проекта}" --country {код_страны} --project {project}

Поисковый запрос формируется из ниши и ключевых слов CLAUDE.md проекта:

  • community / education project → "online community for experts" / "expert education program"
  • local service project → "{service category} {city or country}"

Если внешние инструменты недоступны или падают — сообщить пользователю и работать с тем, что уже есть в проекте.


Фаза 2: Grounding — сводка данных

Перед генерацией текстов — собрать контекстный блок из прочитанных файлов. Это "земля" под ногами — без неё не писать.

Что извлечь:

Из competitive_analysis / creative_brief:

  • Что делают конкуренты (форматы, хуки, CTA)
  • Гэпы рынка — чего НЕ делает никто (= наши возможности)
  • Референсы (конкретные объявления, которые работают)

Из analysis / метрик кабинета:

  • Кампании с CTR > 1.5% — что в них было (хук, формат, аудитория)
  • Кампании на паузе / CTR < 0.8% — что НЕ работало (избегать этих подходов)
  • Текущая частота, CPM, CPL — для понимания ситуации

Из research / YouTube:

  • Боли ЦА — дословные цитаты из комментариев
  • Триггеры и возражения
  • Язык, которым ЦА описывает проблему (использовать в хуках)

Из базы знаний проекта:

  • Social proof — реальные цифры (количество участников, стран, лет работы, проектов)
  • Продуктовые детали — цены, даты, города, форматы
  • Отзывы клиентов (если есть)

Правило заземления

Каждый текст объявления и каждое визуальное ТЗ должны содержать строку:

**Заземление:** {откуда взята идея — конкретный источник}

Примеры:

  • Заземление: Боль #2 из YouTube research ("Правильные связи = деньги, но нетворкинг не работает"), гэп рынка (нет видео-крео у конкурентов)
  • Заземление: Кампания "Мюнхен" CTR 3.16% — хук-вопрос + живое фото работают. Берём формат, меняем город.
  • Заземление: Конкурент X использует showcase-формат с сеткой фото → мы добавляем производственные кадры (наш дифференциатор)

Если текст нельзя заземлить — он generic и подлежит переписке.


Фаза 3: Генерация текстов

Формулы по этапам воронки

ЭтапФормулаДлинаКоличество хуковКоличество вариантовИсточник боли/желания
coldPAS или AIDA100-250 слов5+2-3Боли из research, цитаты ЦА
warmSocial proof / Результат60-120 слов3+2-3Метрики наших кампаний + social proof
retargetODC (Offer-Deadline-CTA)30-60 слов2+2Продукт и оффер из CLAUDE.md

Формулы (справка)

PAS — Problem → Agitate → Solution:

  • P: Описать ситуацию языком клиента. Без диагноза.
  • A: Что теряет клиент? Что будет, если не решить?
  • S: Конкретный выход. Одно действие.

AIDA — Attention → Interest → Desire → Action:

  • A: Хук — останавливает скролл
  • I: Показать понимание ситуации
  • D: Картина результата
  • A: Один чёткий CTA

4U — для хуков:

  • Useful (что получит)
  • Unique (чем отличается)
  • Ultra-specific (цифры, даты)
  • Urgent (почему сейчас)

ODC — для ретаргетинга:

  • Offer (конкретный оффер)
  • Deadline (срок)
  • Call-to-action (одно действие)

Форматы хуков

Типы хуков для генерации (чередовать):

  • Провокационный вопрос: Строишь бизнес в Германии, но нетворкинг идёт в никуда?
  • Шокирующий факт: 85% успеха — это люди. А не твои навыки.
  • Обращение к ситуации: 15 мест. Бизнес-ланч для предпринимательниц в Гамбурге.
  • Результат наоборот: Почему умные женщины застревают — даже с опытом и деньгами.
  • Цифра + боль: 3 года в Европе. 0 деловых контактов.
  • Прямое предложение: Furnishing multiple villas at once? One team handles everything.

Формат каждого варианта

### {STAGE} — Вариант {A/B/C} ({формула}: {PAS/AIDA/ODC})

**Хук:**
{первые 2 строки — отдельно, это то что видно до "ещё"}

**Текст:**
{полный текст}

**CTA:**
{конкретный призыв — одна строка с механикой: DM trigger / WhatsApp / ссылка}

**Headline (под картинкой):** {если Meta Ads — заголовок объявления}
**Description:** {описание}
**CTA кнопка:** {Send Message / Learn More / Sign Up / Shop Now}

**Заземление:** {источник идеи}

Каждый вариант — ГОТОВЫЙ текст. Ни одного [вставить город] или [имя клиента]. Все данные — из контекста проекта.


Фаза 4: Визуальные ТЗ

Для каждого этапа воронки — 1-2 визуальных ТЗ.

Выбор формата

На основе анализа конкурентов и метрик:

  • Конкуренты не используют видео → приоритет видео (гэп рынка)
  • У нас статика с CTR > 2% → статика (работает — масштабируем)
  • У нас видео с CTR < 1% → статика или другой тип видео
  • Ниша B2B → статика 1:1 или короткое видео 15 сек
  • Ниша B2C с Instagram → Reels 9:16

ТЗ для видео (Reels / Stories / Feed Video)

### ТЗ #{N} — Видео {формат} — {этап воронки}

**Формат:** {Reels 9:16 / Feed 4:5 / Feed 1:1}
**Размер:** {1080x1920 / 1080x1350 / 1080x1080}
**Длительность:** {15-60 сек}

**Shot list:**
| Время | Кадр | Текст на экране | Войсовер/субтитры |
|---|---|---|---|
| 0-3 сек | {что снять — конкретно} | "{точный текст оверлея}" | "{точный текст}" |
| 3-10 сек | {что снять} | "{текст}" | "{текст}" |
| 10-20 сек | {что снять} | "{текст}" | "{текст}" |
| 20-25 сек | CTA-экран: лого + призыв | "{текст CTA}" | "{текст}" |

**Музыка/звук:** {направление — энергичный/спокойный/trending sound}

**Референс:** {конкурент X делает Y — мы берём Z, но добавляем W}

**Что нужно для производства:**
- [ ] {конкретный материал — фото с мероприятия / видео цеха / лого}
- [ ] {конкретный материал}

**Текст объявления:** → {ссылка на Вариант A/B выше}

ТЗ для статики (баннер / карусель)

### ТЗ #{N} — Статика {формат} — {этап воронки}

**Формат:** {Feed 1080x1080 / Stories 1080x1920 / Feed 1080x1350}

**Композиция:**
- Главный элемент: {что — живое фото / продукт / человек}
- Фон: {что — размытый / цвет / фото}
- Расположение текста: {где — сверху / по центру / снизу}

**Тексты на баннере:**

{ХУК — крупный шрифт, 1-2 строки} {Подзаголовок — мельче} {CTA — кнопка или стрелка}


**Social proof на баннере:** {если есть — "200+ участниц · 3 года" / "100+ projects"}

**Референс:** {конкурент или наша прошлая работающая кампания}

**Что нужно от клиента:**
- [ ] {живое фото с мероприятия / фото продукции / лого}
- [ ] {конкретный материал}

**Текст объявления:** → {ссылка на Вариант A/B выше}

Фаза 5: Проверки (3 гейта)

Гейт 1 — Anti-AI Sniff Test

Прогнать КАЖДЫЙ текст через чек-лист:

Запрещённые фразы (удалить/переписать):

  • "В современном мире", "На сегодняшний день"
  • "Давайте разберёмся", "Хочу поделиться"
  • "Важно отметить", "Стоит отметить"
  • "Безусловно", "Несомненно", "Очевидно"
  • "Данный" (→ "этот"), "Является" (→ "это")
  • "В рамках", "Осуществлять", "Оптимизировать", "Масштабировать"
  • "Трансформация", "Синергия", "Экосистема"
  • "Ключевой момент", "Важный аспект"
  • "Комплексный подход", "Уникальное предложение" (без конкретики)
  • Фейковая эмпатия: "Мы все через это проходили", "И это нормально"
  • Мотивационные цитаты и лозунги

Запрещённые структуры:

  • Зеркальное начало (пересказ темы первым предложением)
  • Проповедь из трёх пунктов (вступление → 3 пункта → вывод)
  • Резюме в конце ("Итак, мы рассмотрели...")
  • "С одной стороны... с другой стороны" — иметь позицию
  • Нарастающий восторг: "Первое... Второе... И самое важное!!!"

7-Point Test:

  1. Это мог написать кто угодно для любого бизнеса? → Добавить конкретику проекта
  2. Есть запрещённые фразы? → Найти и заменить
  3. Начинается с пересказа темы? → Переписать начало
  4. Заканчивается резюме? → Отрезать последний абзац
  5. Каждое утверждение подкреплено числом из данных проекта? → Если нет — добавить или убрать
  6. Конкурент может забрать этот текст себе? → Если да — слишком generic, переписать
  7. Прочитай вслух — звучит как реклама или как человек? → Переписать что звучит как брошюра

Гейт 2 — Meta Ads Policy

Запрещено:

  • Личные характеристики аудитории в лоб: "Ты иммигрантка", "Если ты одинока", "Для тех у кого нет друзей" → переформулировать через ситуацию: "Переехала в новый город?"
  • Гарантированные результаты: "Ты точно найдёшь", "Гарантируем" → убрать
  • Финансовые обещания без дисклеймера: "Заработай 10K" → убрать или смягчить
  • Дискриминация по возрасту, полу, религии
  • "Бесплатно" в заголовке без условий
  • До/после в изображениях
  • Упоминание болезней, веса, внешности как проблемы

Жёлтая зона (переформулировать):

  • "Ты не умеешь нетворкиться" → "Нетворкинг кажется чужим?"
  • Эмоциональное давление: чрезмерный страх, стыд, одиночество как главный мотив

Если найдено нарушение — исправить и отметить что изменено.

Гейт 3 — Тон проекта

Сверить с workspace/{project}/CLAUDE.md:

  • Язык соответствует (RU / EN / UA)
  • Тон соответствует (тёплый-профессиональный / деловой-конкретный / raw-authentic)
  • Обращение правильное ("ты" / "вы" / формальное)
  • Эмодзи умеренно или отсутствуют (по проекту)

Фаза 6: Сохранение

Сохранить в: workspace/{project}/tasks/creatives_{YYYY-MM-DD}.md

Если файл за сегодня уже есть — добавить суффикс: creatives_{YYYY-MM-DD}_v2.md


Формат выходного файла

# Креативы [{PROJECT}] — ДД.ММ.ГГГГ

**Этап воронки:** {cold / warm / retarget / all}
**Язык:** {русский / English}
**Основа данных:** {research_DATE.md, competitive_analysis_DATE.md, analysis_DATE.md}

---

## Что показали данные

### Конкуренты
| Конкурент | Что делает | Формат | Слабость |
|---|---|---|---|
| {имя} | {подход} | {видео/статика} | {гэп} |

### Что работает у нас
- {Кампания X}: CTR {Y}%, хук: "{текст}" — работает потому что {причина}

### Что НЕ работает
- {Кампания Z}: на паузе, CTR {Y}% — проблема: {причина} — **избегаем этого подхода**

### Гэпы рынка (наши возможности)
1. {Гэп — что не делает никто из конкурентов}
2. {Гэп}

### Боли ЦА (цитаты из research)
> "{дословная цитата}" — источник
> "{дословная цитата}" — источник

---

## Хуки

| # | Хук | Тип | Боль/триггер | Этап |
|---|---|---|---|---|
| 1 | {точный текст хука} | вопрос | {какая боль} | cold |
| 2 | {текст} | факт | {триггер} | cold |
| 3 | {текст} | ситуация | {боль} | warm |
| ... | ... | ... | ... | ... |

---

## Тексты объявлений

### COLD — Вариант A (PAS)

**Хук:**
{первые 2 строки}

**Текст:**
{полный текст 100-250 слов}

**CTA:**
{конкретный призыв с механикой}

**Headline:** {заголовок под картинкой}
**Description:** {описание}
**CTA кнопка:** {Send Message / Learn More / ...}

**Заземление:** {источник идеи — конкретная ссылка на данные}

---

### COLD — Вариант B (AIDA)
{та же структура}

---

### WARM — Вариант A (Social proof)
{та же структура, 60-120 слов}

---

### RETARGET — Вариант A (ODC)
{та же структура, 30-60 слов}

---

## CTA варианты

| # | CTA текст | Этап | Механика |
|---|---|---|---|
| 1 | Напиши "{WORD}" в директ | cold | DM trigger |
| 2 | {текст} | warm | {WhatsApp / ссылка / форма} |

---

## Визуальные ТЗ

### ТЗ #1 — {Видео Reels 9:16 / Статика 1:1} — {cold}

{содержимое по шаблону из Фазы 4}

---

### ТЗ #2 — ...

---

## Проверки

### Anti-AI Sniff Test
- [x] Нет шаблонных фраз
- [x] Каждый текст привязан к данным проекта
- [x] Конкурент не может использовать эти тексты для себя
- [x] Звучит как человек, а не как GPT

### Meta Ads Policy
- [x] Нет личных атрибутов в лоб
- [x] Нет гарантий результата
- [x] Нет финансовых обещаний
{если что-то было исправлено — указать что и почему}

### Тон проекта
- [x] Язык: {соответствует}
- [x] Тон: {соответствует}
- [x] Обращение: {соответствует}

---

## Что делать дальше

1. [ ] Согласовать тексты с пользователем
2. [ ] Передать визуальные ТЗ дизайнеру / клиенту
3. [ ] Запустить через Meta Ads Manager или локальный launch-инструмент проекта
4. [ ] Анализ метрик через 7 дней: `/analyst {project}`

Бенчмарки для оценки креативов (справка)

МетрикаХорошоПроблемаКритично
CTR (link)> 1.5%0.8-1.5%< 0.8%
CPM< $8$8-15> $15
CPC< $0.40$0.40-0.80> $0.80
Frequency< 2.52.5-3.5> 3.5

Связь метрика → креатив:

МетрикаПроблема в креативеЧто менять
CTR < 0.8%Слабый хукПервые 3 сек видео / первая строка текста
CTR ок + мало конверсийСлабый CTACTA кнопка / финальный кадр
CTR падает через 2 нед.ВыгораниеНовый визуал, тот же подход
Высокая частота + низкий CTRАудитория усталаСмена креатива или расширение аудитории

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.