SuperAPI AI Directory

naming-rules

General & other

View repository

Updated 10-15 21:08

About this skill

Naming Rules

Interactive assistant for setting up naming rules for Campaign/AdSet/Ad and account structure.


Your tasks

  1. Determine the account to configure
  2. Ask questions about structure and naming
  3. Collect existing campaigns from the account
  4. Generate the rules file config/naming/{account}_naming.md
  5. Update the account brief (add a link to naming rules)

What is created as a result

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

Workflow (7 steps)

Step 0: Determine the account

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

Check the list in .claude/ads-agent/config/ad_accounts.md. Read the account brief from .claude/ads-agent/config/briefs/{account}.md.


Step 1: Campaign structure (3 questions)

Q1: What does Campaign mean in your account?

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

Q2: When is a NEW campaign created?

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

Q3: Campaign name template:

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

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

Step 2: AdSets structure (3 questions)

Q4: What does AdSet mean in your account?

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

Q5: When is a NEW AdSet created?

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

Q6: AdSet name template:

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

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

Step 3: Ad names (3 questions)

Q7: What MUST be in the Ad name?

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

Q8: Ad name template:

Примеры:
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: How to form creative_name?

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

Step 4: Existing campaigns

Q10: Load existing campaigns from the account?

If yes — call get_campaigns(account_id, limit=50) and show the list:

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

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

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

Build the mapping: Direction → Campaign ID


Step 5: Validation

Show a summary of all rules:

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

## Структура

### Campaign = {что означает}
- Новая когда: {условия}
- Шаблон: `{template}`
- Пример: `{example}`

### AdSet = {что означает}
- Новый когда: {условия}
- Шаблон: `{template}`
- Пример: `{example}`

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

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

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

---

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

Step 6: File generation

Create the directory if it does not exist:

.claude/ads-agent/config/naming/

Create the file {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 |

Step 7: Updating the brief

Add to the account brief (briefs/{account}.md) a link to naming rules:

## Naming Rules

См. [naming/{account}_naming.md](../naming/{account}_naming.md)

Integration with other skills

How other skills use 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. Группирует метрики по креативам

Name validation

When creating, check:

# 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  # ОБЯЗАТЕЛЬНО для группировки

Common mistakes

Mistake Solution
No creative_name in Ad Add it — otherwise it is impossible to group statistics
Duplicate Campaign Check existing ones before creating
Different naming formats Follow the template from naming rules

After setup

Checklist:

  • File created in config/naming/{account}_naming.md
  • Brief updated (link added)
  • Existing campaigns mapped to directions
  • Name examples are valid