naming-rules

SKILL.md

Naming Rules

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


Твои задачи

  1. Определить аккаунт для настройки
  2. Задать вопросы о структуре и нейминге
  3. Собрать существующие кампании из аккаунта
  4. Сгенерировать файл правил config/naming/{account}_naming.md
  5. Обновить бриф аккаунта (добавить ссылку на 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 | Имплантация | 123456789 | ACTIVE |
| 2 | Виниры | 234567890 | ACTIVE |
| 3 | Гнатология | 345678901 | PAUSED |

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

Собери маппинг: Направление → 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/{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
  • Бриф обновлён (добавлена ссылка)
  • Существующие кампании замаплены на направления
  • Примеры названий валидны
Weekly Installs
45
GitHub Stars
3
First Seen
Jan 29, 2026
Installed on
github-copilot43
codex43
opencode43
gemini-cli42
claude-code42
kimi-cli42