Я создал навык Claude, который управляет моей рекламой в Facebook — вот код
Я создал навык Claude, который читает мой аккаунт Meta Ads через Graph API, выявляет неэффективные объявления, переписывает рекламные тексты в голосе моего бренда и создаёт новые группы объявлений без необходимости заходить в Менеджер рекламы. Весь проект занимает менее 300 строк TypeScript. Окупаемость была немедленной: я сократил еженедельное время управления рекламой с ~3 часов до примерно 20 минут.
Каждую среду. 28 400+ читателей. Никакой воды.
✓ Проверьте почту — нажмите ссылку подтверждения, чтобы завершить подписку.
✓ Вы подписаны!
✓ Вы уже в списке.
Оглавление
Обновлено июнь 2026.
TL;DR: Я создал навык Claude, который читает мой аккаунт Meta Ads через Graph API, выявляет неэффективные объявления, переписывает рекламные тексты в голосе моего бренда и создаёт новые группы объявлений без необходимости заходить в Менеджер рекламы. Весь проект занимает менее 300 строк TypeScript. Окупаемость была немедленной: я сократил еженедельное время управления рекламой с ~3 часов до примерно 20 минут.
[Взгляд оператора] Я управляю рекламой для Pickleland и своего консалтингового бренда. Два аккаунта, разные аудитории, постоянная усталость от креативов. Я тратил воскресные вечера в Менеджере рекламы на вещи, которые должна делать модель. Поэтому я автоматизировал это.
Почему я перестал управлять рекламой в Facebook вручную
Реальная работа по управлению рекламой в Facebook делится на три задачи:
- Мониторинг — проверка, какие группы объявлений сжигают деньги, а какие их зарабатывают
- Диагностика — выяснение почему что-то не работает (усталость от креативов? плохой таргетинг? лендинг?)
- Итерация — написание нового текста, создание новых групп объявлений, корректировка бюджетов
Задача 1 — механическая. Задача 3 — в основном механическая (с голосовым ограничением). Задача 2 требует суждения — и это единственная, которая выигрывает от присутствия человека в процессе.
Навык Claude может делать 1 и 3. Я проверяю результаты задачи 2 до того, как что-либо будет опубликовано. На этой архитектуре я и остановился.
Настройка Meta Graph API (это самая раздражающая часть)
Перед кодом: вам нужен аккаунт Meta Business, Системный пользователь и постоянный токен доступа. Портал для разработчиков Facebook неудобен, но путь такой:
- Создать Meta App на developers.facebook.com (тип: Business)
- Добавить продукт Marketing API
- В вашем Бизнес-портфеле → Настройки → Пользователи → Системные пользователи создать системного пользователя и дать ему роль
ADVERTISERв вашем рекламном аккаунте - Создать токен с этими правами:
ads_read,ads_management,business_management
Сохраните токен как META_ACCESS_TOKEN и ID вашего рекламного аккаунта (формат: act_XXXXXXXX) как META_AD_ACCOUNT_ID в файле .env.
Структура файлов навыка
.claude/skills/fb-ads/
SKILL.md ← инструкции, которые читает Claude
index.ts ← реальная реализация инструмента
types.ts ← общие типыSKILL.md — это то, что говорит Claude, когда и как использовать навык. Мой файл гласит:
# Facebook Ads Manager Skill
Use this skill when the user says "check my ads", "run ads report",
"pause underperformers", or "write new ad copy". Never run this
without explicit user instruction — it touches live ad spend.
## What it can do
- Pull performance data for all active ad sets (last 7 or 30 days)
- Flag ad sets with ROAS < 1.5 or CTR < 0.8% as underperformers
- Rewrite ad copy for flagged creatives in Ale's voice
- Create new ad sets with revised copy (PAUSED by default — you approve before activating)
## What it will NOT do
- Change budgets on live ad sets without explicit confirmation
- Activate new ad sets automatically
- Delete anythingОграничение «никогда не активировать автоматически» — непреложно. Этот навык создаёт вещи в состоянии ПАУЗЫ. Я проверяю и активирую вручную. Всё, что касается живых рекламных расходов, требует человеческой проверки.
Основной код TypeScript
(Блоки кода остаются на английском — переводится только окружающий текст.)
Как я использую это ежедневно
Навык вызывается из Claude Code (мой ежедневный инструмент). Типичная сессия в понедельник утром:
> check my ads from the last 7 daysClaude запускает runAdsReport(7), форматирует результаты в виде таблицы, отмечает неэффективных и спрашивает, хочу ли я переработок. Я говорю да. Он генерирует новый текст, показывает мне обе версии рядом и создаёт ПРИОСТАНОВЛЕННЫЕ группы объявлений с новым креативом. Я проверяю их в Менеджере рекламы, активирую те, которые мне нравятся, и архивирую проигрышные.
Общее время: 20 минут. Ноль воскресных вечеров в Менеджере рекламы.
Что это не заменяет
Навык не может сказать мне, маскируется ли проблема соответствия продукта рынку под проблему с текстом. Если ROAS повсюду плохой, это проблема воронки или предложения, а не заголовка. Claude добросовестно перепишет текст на сломанной воронке — и переработки её не спасут.
Этап диагностики по-прежнему мой. Я читаю отчёт, смотрю на данные воронки и решаю, итерируем ли мы креатив или решаем что-то выше по течению. Агент быстр во всём кроме этого суждения.
Вывод оператора
Если вы управляете рекламой вручную и заходите в Менеджер рекламы чаще двух раз в неделю, вы выполняете операции, которые должен делать скрипт. Graph API хорошо документирован, а поток разрешений Meta, хотя и раздражающий, — это разовая настройка. Создайте навык за один вечер. Отдача в виде возвращённого времени проявляется на первой неделе.
Каждую среду. 28 400+ читателей. Никакой воды.
✓ Проверьте почту — нажмите ссылку подтверждения, чтобы завершить подписку.
✓ Вы подписаны!
✓ Вы уже в списке.
Получайте ИИ-руководство на почту
Каждую среду. 28 400+ читателей. Никакой воды.
Проверьте почту.
Мы отправили письмо для подтверждения — нажмите на ссылку, чтобы завершить подписку. Проверьте папку «Спам», если не видите его в течение минуты.
Вы подписаны.
Добро пожаловать — следующий выпуск скоро придёт на вашу почту.
Вы уже в списке — ждите выпуск каждую среду.