mcpField
A
account-onboarding

account-onboarding

github.com/dengineproblemマーケティング・グロース58 回インストール
リポジトリ

account-onboarding について

account-onboarding は、新しい Facebook Ads アカウントを設定する対話型スキルです。ビジネス情報やキャンペーン情報を収集・検証して、アカウント情報とブリーフを作成し、API アクセスを確認します。

主な機能

  1. 01アカウント情報の段階的な収集
  2. 02入力検証と設定内容の要約
  3. 03広告目的に応じた ID の収集
  4. 04アカウント情報とブリーフの作成
  5. 05API アクセスの確認

活用シーン

  1. 01新しい Facebook Ads アカウントの設定
  2. 02ビジネス情報からキャンペーンブリーフを作成
  3. 03設定後の API アクセス確認

MCP 対応

場所の参照資料に都市がない場合、MCP ツール search_geo_locations を呼び出します。API アクセス確認には、アカウントへのアクセス権を持つ MCP トークンが必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dengineproblem/agents-monorepo --skill account-onboarding

インストール後、Claude Code で/account-onboardingを入力して読み込まれたか確認します。

README(原文)English

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

Account Onboarding

Интерактивный помощник для настройки нового Facebook Ads аккаунта.


Твои задачи

  1. Провести пользователя через сбор информации (~20 вопросов)
  2. Валидировать данные на каждом этапе
  3. Показать сводку и запросить подтверждение
  4. Создать конфигурационные файлы
  5. Проверить подключение к API

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

.claude/ads-agent/config/
├── ad_accounts.md          ← Добавляется запись аккаунта
└── briefs/
    └── {account_name}.md   ← Создаётся новый бриф

Workflow (8 шагов)

Шаг 0: Приветствие

Выведи сообщение:

👋 Привет! Это онбординг нового рекламного аккаунта.

Я задам ~20 вопросов о бизнесе клиента:
• Базовая информация (4)
• Бизнес-параметры (5)
• Цель рекламы (1)
• Технические ID (2-5 в зависимости от цели)
• Направления/кампании (по 5 на каждое)

В конце создам:
- Запись в ad_accounts.md
- Бриф briefs/{name}.md

Готов начать?

Дождись подтверждения.


Шаг 1: Базовая информация (4 вопроса)

ОБЯЗАТЕЛЬНЫЕ — все 4.

1. Название бизнеса:
   > (например: Bas Dent, FitLife, TechStore)

2. Facebook Ads Account ID:
   > act_XXXXXXXXX
   (найти в Business Manager → Ad Accounts)

3. Часовой пояс:
   > UTC+5 (Алматы) / UTC+3 (Москва) / UTC+6 (Астана) / другой

4. Ниша бизнеса:
   > E-commerce / Услуги / SaaS / Образование / Медицина / другая

Валидация:

  • Account ID должен начинаться с act_
  • Часовой пояс — формат UTC+X

Дефолт: Валюта всегда USD.


Шаг 2: Бизнес-параметры (5 вопросов)

ОБЯЗАТЕЛЬНЫЕ: 1-3. ОПЦИОНАЛЬНЫЕ: 4-5.

1. Что продаёте / какие услуги:
   > (краткое описание основных продуктов/услуг)

2. Регион работы:
   > Казахстан / Россия / СНГ / Весь мир / конкретные города

3. Целевая аудитория:
   > Возраст: 25-45
   > Пол: все / жен / муж
   > Интересы: (ключевые)

4. Боли клиентов (для копирайтинга) [опционально]:
   > Какие проблемы решаете? Что волнует клиентов?

5. Конкурентные преимущества [опционально]:
   > Почему должны выбрать вас?

После получения региона — найди geo ID:

  1. Прочитай справочник config/knowledge/geo_locations.md
  2. Найди указанные города/страны в таблицах
  3. Если город НЕ найден в справочнике — вызови MCP:
    search_geo_locations(query="{город}", location_types=["city"])
    
  4. Сохрани для брифа:
    • city_key — ID города
    • region_id — ID региона (если есть)
    • country_code — код страны
    • radius — радиус по умолчанию (25 km для городов KZ, 40 km для RU)

Шаг 3: Цель рекламы (1 вопрос)

ОБЯЗАТЕЛЬНЫЙ.

Выбери цель рекламы:

1. WhatsApp — сообщения в WhatsApp (оптимизация на начало переписки)
2. Instagram Трафик — клики на профиль Instagram
3. Site Leads — лиды на сайте (с Pixel)
4. Lead-формы — мгновенные формы Facebook/Instagram

> (1 / 2 / 3 / 4)

Технические параметры по целям:

ЦельCampaign ObjectiveOptimization GoalDestination Type
WhatsAppOUTCOME_ENGAGEMENTCONVERSATIONSWHATSAPP
Instagram ТрафикOUTCOME_TRAFFICLINK_CLICKS—
Site LeadsOUTCOME_LEADSOFFSITE_CONVERSIONSWEBSITE
Lead-формыOUTCOME_LEADSLEAD_GENERATIONON_AD

Шаг 4: Технические ID (динамический)

В зависимости от цели (из Шага 3) собери нужные технические данные.

ВСЕГДА ОБЯЗАТЕЛЬНЫЕ:

1. Facebook Page ID:
   > (число, например: 123456789012345)
   (найти в Business Suite → Страницы → О странице)

2. Есть ли Instagram аккаунт? (да/нет)
   Если да:
   > Instagram Account ID: (число)
   (найти в Business Suite → Instagram аккаунты)

В ЗАВИСИМОСТИ ОТ ЦЕЛИ:

Если цель = "WhatsApp":

3. WhatsApp Business номер телефона:
   > +7XXXXXXXXXX (формат с кодом страны)
   (должен быть подключен к Business Manager)

Если цель = "Lead-формы":

3. Lead Form ID [если уже есть]:
   > (число) или "создать новую"
   (найти в Meta Business Suite → Формы)

4. Какие поля в форме нужны:
   > Имя / Телефон / Email / Город / другие

Если цель = "Site Leads":

3. URL сайта/лендинга:
   > https://example.com

4. Facebook Pixel ID:
   > (число, например: 123456789012345)
   (найти в Events Manager → Data Sources)

5. Есть ли настроенные события? (да/нет)
   Если да, какие:
   > Purchase / Lead / AddToCart / ViewContent / другие

Если цель = "Instagram Трафик":

(Дополнительных ID не требуется, только Page ID и Instagram ID)

Валидация:

  • Page ID — только цифры, 15-16 знаков
  • Instagram ID — только цифры
  • WhatsApp — формат +XXXXXXXXXXX (E.164)
  • Lead Form ID — только цифры или "создать новую"
  • Pixel ID — только цифры, 15-16 знаков
  • URL — валидный URL с https://

Шаг 5: Направления/кампании (интерактивно)
Сколько направлений/кампаний в аккаунте?
> (1-10)

Для КАЖДОГО направления спроси:

Направление {N}:
1. Название: (например: Импланты, Виниры, Курсы)
2. Целевой CPL: $X (стоимость лида в USD)
3. Дневной бюджет: $X
4. Приоритет: высокий / средний / низкий
5. Campaign ID [если уже есть]: или "создать новую"

Валидация:

  • CPL должен быть числом > 0
  • Бюджет должен быть числом >= 5

Шаг 6: ROAS (только для e-commerce)

Спрашивать только если ниша = E-commerce.

Целевой ROAS:

ROAS (Return on Ad Spend) — сколько долларов выручки приносит $1 рекламных расходов.

Пример расчёта:
• Потратили на рекламу: $100
• Получили выручки: $300
• ROAS = $300 / $100 = 3x

Формула: ROAS = Выручка / Расходы на рекламу

Типичные значения:
• 2x — минимально приемлемый
• 3x-4x — хороший результат
• 5x+ — отличный результат

> Целевой ROAS: Xх (например: 3x) или "не отслеживаю"

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

Выведи ВСЮ собранную информацию в структурированном виде:

📋 СВОДКА ОНБОРДИНГА

## Базовая информация
- Название: {business_name}
- Account ID: {account_id}
- Валюта: USD
- Часовой пояс: {timezone}
- Ниша: {niche}

## Бизнес
- Продукт: {product}
- Регион: {region}
- ЦА: {target_audience}
- Боли: {pains}
- Преимущества: {advantages}

## Цель рекламы
- Цель: {goal} ({objective} / {optimization_goal})
- ROAS: {roas} (если e-commerce)

## Технические ID
- Page ID: {page_id}
- Instagram ID: {instagram_id} (или "нет")
- WhatsApp: {whatsapp_phone} (если WhatsApp)
- Lead Form ID: {lead_form_id} (если Lead-формы)
- Pixel ID: {pixel_id} (если Site Leads)
- Сайт: {website_url} (если Site Leads)

## Направления ({count})
| Название | Целевой CPL | Бюджет | Приоритет | Campaign ID |
|----------|-------------|--------|-----------|-------------|
{directions_rows}

---

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

Если "нет" — спроси что изменить и обнови данные.


Шаг 8: Генерация файлов

После подтверждения создай файлы:

1. Добавь запись в ad_accounts.md

Прочитай .claude/ads-agent/config/ad_accounts.md, найди последний номер аккаунта и добавь в конец (перед "Пример формата"):

---

## Аккаунт {N}: {business_name}

- **Account ID**: {account_id}
- **Page ID**: {page_id}
- **Instagram ID**: {instagram_id}
- **Название**: {business_name}
- **Бриф**: [briefs/{filename}.md](briefs/{filename}.md)
- **Статус**: активен
- **Валюта**: USD
- **Часовой пояс**: {timezone}
- **Цель рекламы**: {goal}
- **Заметки**: {niche}. {short_description}

---
2. Создай briefs/{filename}.md
# {business_name} - Бриф

> Создан через /account-onboarding {date}

---

## Бизнес

- **Ниша**: {niche}
- **Продукт**: {product}
- **Регион**: {region}
- **Целевая аудитория**: {target_audience}
- **Сайт/Landing**: {website}

### Для копирайтинга
- **Боли клиентов**: {pains}
- **Преимущества**: {advantages}

---

## Цель рекламы

- **Цель**: {goal}
- **Campaign Objective**: {objective}
- **Optimization Goal**: {optimization_goal}
- **Destination Type**: {destination_type}
- **Целевой ROAS**: {roas}

---

## Технические ID (для API)

### Обязательные
- **Facebook Page ID**: `{page_id}`
- **Instagram Account ID**: `{instagram_id}` <!-- или "нет" -->

### В зависимости от цели

<!-- Заполняется в зависимости от goal -->

#### Для WhatsApp:
- **WhatsApp номер**: `{whatsapp_phone}`

#### Для Lead-форм:
- **Lead Form ID**: `{lead_form_id}`
- **Поля формы**: {form_fields}

#### Для Site Leads:
- **URL сайта**: {website_url}
- **Pixel ID**: `{pixel_id}`
- **Настроенные события**: {pixel_events}

### Гео-локации

| Город/Страна | Тип | Key/Code | Region ID | Радиус |
|--------------|-----|----------|-----------|--------|
| {city_name} | city | {city_key} | {region_id} | {radius} km |
| {country_name} | country | {country_code} | — | — |

---

## Правила оптимизации (дефолты)

### Пороговые значения
- **Минимум impressions для решений**: 1000
- **Минимум конверсий для решений**: 3
- **Минимум дней до агрессивных действий**: 2
- **Ad-eater порог**: CPL > target × 3

### Бюджетные лимиты
- **Максимальное увеличение за раз**: 30%
- **Максимальное уменьшение за раз**: 50%

### Временные ограничения
- **Часовой пояс**: {timezone}
- **Не создавать adsets после**: 18:00

### CPL диапазоны
- **Normal**: target × 1.0-1.5
- **High**: target × 1.5-2.0
- **Ad-eater**: target × 3.0+

---

## Активные кампании/направления

| Название | Campaign ID | Цель CPL | Дневной бюджет | Приоритет | Статус |
|----------|-------------|----------|----------------|-----------|--------|
{directions_rows}

---

## Заметки

- Создан: {date}
- Онбординг провёл: Claude (skill: account-onboarding)

---

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

| Дата | Изменение |
|------|-----------|
| {date} | Создан бриф через /account-onboarding |

Шаг 9: Тест подключения

После создания файлов проверь доступ к API:

# Проверка доступа
campaigns = get_campaigns(account_id="{account_id}", limit=5)

Выведи результат:

✅ Онбординг завершён!

Созданные файлы:
1. .claude/ads-agent/config/ad_accounts.md — запись добавлена
2. .claude/ads-agent/config/briefs/{filename}.md — бриф создан

API проверка:
- Доступ к аккаунту: ✅
- Найдено кампаний: {count}

Теперь можно использовать:
- /ads-optimizer — оптимизация
- /ads-reporter — отчёты
- /campaign-manager — управление кампаниями

Если API вернул ошибку:

⚠️ Файлы созданы, но API недоступен!

Ошибка: {error_message}

Проверьте:
1. Account ID правильный?
2. MCP токен имеет доступ к аккаунту?
3. Аккаунт активен в Business Manager?

Файлы сохранены, можно исправить Account ID в briefs/{filename}.md

Дефолтные значения

currency: USD

optimization_rules:
  min_impressions: 1000
  min_conversions: 3
  min_days: 2
  max_budget_increase: 30
  max_budget_decrease: 50
  no_create_after: "18:00"
  ad_eater_multiplier: 3

cpl_ranges:
  normal_multiplier: 1.5
  high_multiplier: 2.0
  ad_eater_multiplier: 3.0

budget_defaults:
  adset_min: 5

Цели и их параметры

Цельobjectiveoptimization_goaldestination_typebilling_event
WhatsAppOUTCOME_ENGAGEMENTCONVERSATIONSWHATSAPPIMPRESSIONS
Instagram ТрафикOUTCOME_TRAFFICLINK_CLICKS—IMPRESSIONS
Site LeadsOUTCOME_LEADSOFFSITE_CONVERSIONSWEBSITEIMPRESSIONS
Lead-формыOUTCOME_LEADSLEAD_GENERATIONON_ADIMPRESSIONS

Валидация данных

ПолеПроверка
account_idНачинается с act_, только цифры после
page_idТолько цифры, 15-16 знаков
instagram_idТолько цифры или "нет"
whatsapp_phoneФормат +XXXXXXXXXXX (E.164)
lead_form_idТолько цифры или "создать новую"
pixel_idТолько цифры, 15-16 знаков
website_urlВалидный URL с https://
timezoneФормат UTC+X или UTC-X
target_cplЧисло > 0
roasЧисло > 1 или "не отслеживаю"
budgetЧисла > 0, min >= 5

Генерация filename

filename = business_name.lower()
           .replace(" ", "_")
           .replace("-", "_")
           .replace(/[^a-z0-9_]/g, "")

Примеры:
- "Bas Dent" → "bas_dent"
- "FitLife Studio" → "fitlife_studio"
- "ИП Иванов" → "ip_ivanov" (транслит)

После онбординга

Чек-лист готовности:

  • Бриф создан в briefs/{name}.md
  • Аккаунт добавлен в ad_accounts.md
  • API доступ проверен
  • Готов к /ads-optimizer

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

ОшибкаРешение
Account ID без act_Добавь префикс act_
Ошибка API доступаПроверь токен в MCP, добавь аккаунт в Business Manager
Файл уже существуетСпроси: обновить или создать с суффиксом?

コメント