naming-rules

Интерактивный помощник для настройки правил именования Campaign/AdSet/Ad и структуры аккаунта.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "naming-rules" with this command: npx skills add dengineproblem/agents-monorepo/dengineproblem-agents-monorepo-naming-rules

Naming Rules

Интерактивный помощник для настройки правил именования Campaign/AdSet/Ad и структуры аккаунта.

Твои задачи

  • Определить аккаунт для настройки

  • Задать вопросы о структуре и нейминге

  • Собрать существующие кампании из аккаунта

  • Сгенерировать файл правил config/naming/{account}_naming.md

  • Обновить бриф аккаунта (добавить ссылку на naming rules)

Что создаётся в результате

.claude/ads-agent/config/ └── naming/ └── {account}_naming.md ← правила нейминга для аккаунта

Workflow (7 шагов)

Шаг 0: Определи аккаунт

Для какого аккаунта настраиваем правила нейминга?

Проверь список в .claude/ads-agent/config/ad_accounts.md . Прочитай бриф аккаунта из .claude/ads-agent/config/briefs/{account}.md .

Шаг 1: Структура кампаний (3 вопроса)

Q1: Что означает Campaign в твоём аккаунте?

  1. Направление/услуга (Имплантация, Виниры, Гнатология)
  2. Цель рекламы (WhatsApp, Lead Forms, Traffic)
  3. Аудитория (Холодная, Ретаргетинг, LAL)
  4. Другое (опиши)

Q2: Когда создаётся НОВАЯ кампания?

  1. Новое направление/услуга
  2. Новая цель (WhatsApp → Lead Forms)
  3. Новый тип аудитории
  4. Никогда — всё в одной кампании
  5. Комбинация (опиши)

Q3: Шаблон названия Campaign:

Примеры:

  1. {Направление}
  2. {Направление}_{Цель}
  3. {Цель}_{Направление}
  4. {Направление} | {Цель} | {Дата}
  5. Свой формат (опиши)

Доступные переменные:

  • {Направление} — название услуги/продукта
  • {Цель} — WhatsApp, Lead Forms, Traffic, etc.
  • {Аудитория} — Cold, Retargeting, LAL
  • {Дата} — дата создания

Шаг 2: Структура AdSets (3 вопроса)

Q4: Что означает AdSet в твоём аккаунте?

  1. Один креатив = один AdSet
  2. Один таргетинг = один AdSet (несколько креативов внутри)
  3. Комбинация креатив + таргетинг
  4. Тест гипотезы (A/B тест)
  5. Другое (опиши)

Q5: Когда создаётся НОВЫЙ AdSet?

Выбери всё что применимо: [ ] Новый креатив [ ] Новый таргетинг (возраст, гео, интересы) [ ] Изменение бюджета [ ] Тест гипотезы [ ] Другое (опиши)

Q6: Шаблон названия AdSet:

Примеры:

  1. {Направление}{Возраст}{Гео}
  2. {Creative}_{Дата}
  3. {Направление}_{Creative}
  4. {Направление}{Аудитория}{Бюджет}
  5. Свой формат (опиши)

Доступные переменные:

  • {Направление} — название услуги/продукта
  • {Creative} — название креатива
  • {Возраст} — диапазон (25-45)
  • {Гео} — город/страна
  • {Аудитория} — тип аудитории
  • {Бюджет} — дневной бюджет
  • {Дата} — дата создания

Шаг 3: Названия объявлений (3 вопроса)

Q7: Что ОБЯЗАТЕЛЬНО должно быть в названии Ad?

Выбери всё что нужно для группировки статистики: [ ] Название креатива (РЕКОМЕНДУЕТСЯ — для группировки) [ ] Направление [ ] Формат (video/image/carousel) [ ] Дата создания [ ] Версия (v1, v2)

Q8: Шаблон названия Ad:

Примеры:

  1. {creative_name}
  2. {Направление} | {creative_name}
  3. {Направление} | {creative_name} | {format}
  4. {creative_name} | {format} | {date}
  5. Свой формат (опиши)

Доступные переменные:

  • {creative_name} — уникальное имя креатива
  • {Направление} — название услуги
  • {format} — video/image/carousel
  • {date} — дата создания (YYYY-MM-DD)
  • {version} — версия (v1, v2)

Q9: Как формировать creative_name?

  1. По первым словам текста: "восстановим_за_4"
  2. По названию файла: "SAK.mov"
  3. Описательно: "девушка_улыбка_зелёный"
  4. Код + описание: "CR001_имплант_видео"
  5. Свой подход (опиши)

Шаг 4: Существующие кампании

Q10: Загрузить существующие кампании из аккаунта?

Если да — вызови get_campaigns(account_id, limit=50) и покажи список:

Найдены кампании:

#НазваниеCampaign IDСтатус
1Имплантация123456789ACTIVE
2Виниры234567890ACTIVE
3Гнатология345678901PAUSED

Какие из них активно используются? (укажи номера или "все") Для каких направлений эти кампании?

Собери маппинг: Направление → Campaign ID

Шаг 5: Валидация

Покажи сводку всех правил:

📋 ПРАВИЛА НЕЙМИНГА — {account_name}

Структура

Campaign = {что означает}

  • Новая когда: {условия}
  • Шаблон: {template}
  • Пример: {example}

AdSet = {что означает}

  • Новый когда: {условия}
  • Шаблон: {template}
  • Пример: {example}

Ad

  • Шаблон: {template}
  • Пример: {example}
  • creative_name: {как формируется}

Существующие кампании

НаправлениеCampaign IDИспользовать
{campaigns_table}

Всё верно? (да / нет, изменить)

Шаг 6: Генерация файла

Создай директорию если не существует:

.claude/ads-agent/config/naming/

Создай файл {account}_naming.md :

{Account Name} — Naming Rules

Создан через /naming-rules {date}


Структура аккаунта

Campaign

Означает: {campaign_meaning}

Создавать новую когда:

  • {condition_1}
  • {condition_2}

Шаблон: {campaign_template}

Примеры:

  • Имплантация
  • Виниры

AdSet

Означает: {adset_meaning}

Создавать новый когда:

  • {condition_1}
  • {condition_2}

Шаблон: {adset_template}

Примеры:

  • Имплантация_восстановим_за_4_$10
  • Виниры_биркин_$15

Ad

Шаблон: {ad_template}

Обязательные элементы:

  • {element_1}
  • {element_2}

Примеры:

  • Имплантация | восстановим_за_4 | video
  • Виниры | биркин | video

Creative Name

Формируется: {creative_name_rule}

Примеры:

  • восстановим_за_4
  • биркин
  • швейцарская_точность

Существующие кампании

НаправлениеCampaign IDЦельСтатус
{campaigns_rows}

Сценарии использования

Новый креатив для существующего направления

  1. Campaign: использовать существующую ({direction}{campaign_id})
  2. AdSet: создать по шаблону {adset_example}
  3. Ad: создать по шаблону {ad_example}

Новое направление

  1. Campaign: создать {campaign_example}
  2. AdSet: создать {adset_example}
  3. Ad: создать {ad_example}

Тест нового таргетинга

  1. Campaign: использовать существующую
  2. AdSet: создать новый с другим таргетингом
  3. Ad: использовать существующие креативы

История изменений

ДатаИзменение
{date}Создан через /naming-rules

Шаг 7: Обновление брифа

Добавь в бриф аккаунта (briefs/{account}.md ) ссылку на naming rules:

Naming Rules

См. naming/{account}_naming.md

Интеграция с другими скиллами

Как другие скиллы используют naming rules:

/campaign-manager :

  1. Читает config/naming/{account}_naming.md
  2. При создании Campaign/AdSet/Ad применяет шаблоны
  3. Проверяет существующие кампании перед созданием новой

/ads-optimizer :

  1. Читает naming rules
  2. При создании нового adset применяет шаблон
  3. Использует creative_name для логирования

/ads-reporter :

  1. Группирует статистику по creative_name
  2. Извлекает creative_name из названия Ad по шаблону

/creative-analyzer :

  1. Парсит creative_name из названий объявлений
  2. Группирует метрики по креативам

Валидация названий

При создании проверяй:

Campaign

assert "{Направление}" in campaign_name or custom_format_valid

AdSet

assert "{Creative}" in adset_name or "{Направление}" in adset_name

Ad

assert "{creative_name}" in ad_name # ОБЯЗАТЕЛЬНО для группировки

Частые ошибки

Ошибка Решение

Нет creative_name в Ad Добавь — иначе невозможно группировать статистику

Дубликат Campaign Проверь существующие перед созданием

Разные форматы названий Придерживайся шаблона из naming rules

После настройки

Чек-лист:

  • Файл создан в config/naming/{account}_naming.md

  • Бриф обновлён (добавлена ссылка)

  • Существующие кампании замаплены на направления

  • Примеры названий валидны

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

social-media-marketing

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

video-marketing

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

frontend-design

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

k6-load-test

No summary provided by upstream source.

Repository SourceNeeds Review