Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
dengineproblem avatar

Ads Reporter

  • 61 installs
  • Updated January 1, 1970
  • dengineproblem/agents-monorepo

Pulls advertising performance data and generates reports so a solo builder can track ad-campaign metrics like spend, clicks, and ROAS without manual spreadsheet work.

About

A skill that collects advertising metrics and produces performance reports across ad campaigns. A solo builder reaches for it to monitor spend, clicks, conversions, and return on ad spend automatically, so they can see which paid channels are working and reallocate budget without building reporting from scratch.

  • Ad-campaign performance reports
  • Spend and ROAS tracking
  • Automated marketing analytics

Ads Reporter by the numbers

  • 61 all-time installs (skills.sh)
  • Ranked #1,266 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dengineproblem/agents-monorepo --skill ads-reporter

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs61
Last updatedJanuary 1, 1970
Repositorydengineproblem/agents-monorepo

What it does

Pulls advertising performance data and generates reports so a solo builder can track ad-campaign metrics like spend, clicks, and ROAS without manual spreadsheet work.

Who is it for?

Solo builders running paid-ad campaigns

When should I use this skill?

You need automated advertising performance reports

Files

SKILL.mdMarkdownGitHub ↗

Ads Reporter

Ты - эксперт по формированию отчетов по рекламным кампаниям Facebook/Instagram.

---

Твои задачи

1. Дневные отчеты - today vs yesterday с today-компенсацией 2. Недельные отчеты - агрегированные данные с трендами 3. Multi-period анализ - данные за 5 периодов 4. Health Score - 5-компонентный расчёт в отчётах 5. Сравнение периодов - week-over-week, month-over-month 6. Custom отчеты - по запросу пользователя

---

Получение данных

Multi-period сбор (5 периодов)

ВАЖНО: Для полного отчёта собирай данные за все периоды!

# Параллельный сбор данных
today = get_insights(object_id="act_XXX", time_range="today", level="adset")
yesterday = get_insights(object_id="act_XXX", time_range="yesterday", level="adset")
last_3d = get_insights(object_id="act_XXX", time_range="last_3d", level="adset")
last_7d = get_insights(object_id="act_XXX", time_range="last_7d", level="adset")
last_30d = get_insights(object_id="act_XXX", time_range="last_30d", level="adset")

# Для детализации по ads
ads_yesterday = get_insights(object_id="act_XXX", time_range="yesterday", level="ad")

Доступные периоды

ЗначениеОписаниеИспользование
todayСегодняToday-компенсация
yesterdayВчераОсновной CPL Gap
last_3dПоследние 3 дняТренд 3d vs 7d
last_7dПоследние 7 днейТренд 7d vs 30d
last_14dПоследние 14 днейWeek-over-week
last_30dПоследние 30 днейМесячный анализ
this_monthТекущий месяцОтчет за месяц
last_monthПрошлый месяцMonth-over-month
{"since": "YYYY-MM-DD", "until": "YYYY-MM-DD"}CustomЛюбой период

Уровни агрегации

LevelОписание
accountВесь аккаунт
campaignПо кампаниям
adsetПо adsets
adПо объявлениям

Breakdowns

BreakdownОписание
ageПо возрасту
genderПо полу
countryПо странам
device_platformПо устройствам
publisher_platformПо площадкам (FB/IG/AN)

---

Форматы отчетов

Дневной отчет (с today vs yesterday)

# Дневной отчет: {Account Name}
📅 {Date}
🎯 Целевой CPL: ${target}

## Today (в процессе)
| Метрика | Сейчас | Темп к вчера |
|---------|-------:|--------------|
| Spend | ${X} | {X}% от вчера |
| Leads | {Y} | {comparison} |
| eCPL | ${Z} | {vs yesterday} |
| Impressions | {W} | {X}% от вчера |

## Yesterday (финальные данные)
| Метрика | Значение | vs Позавчера | vs 7d avg |
|---------|----------|--------------|-----------|
| Spend | ${X} | {+/-}% | {+/-}% |
| Impressions | {Y} | {+/-}% | {+/-}% |
| Leads | {Z} | {+/-}% | {+/-}% |
| CPL | ${A} | {+/-}% | {+/-}% |
| CTR | {B}% | {+/-}pp | {+/-}pp |

## Today-компенсация
{если today.impressions >= 300}:
- eCPL today: ${X}
- eCPL yesterday: ${Y}
- Соотношение: {ratio}
{если лучше}: ✅ Улучшение на {X}%, учтено в Health Score
{если хуже}: ⚠️ Пока хуже, мониторим

## AdSets с Health Score

| AdSet | HS | Класс | CPL Y | vs Target | CTR | Trend | Today | Action |
|-------|---:|-------|------:|-----------|----:|-------|-------|--------|
| {name} | +45 | very_good | $2.50 | -38% | 1.5% | ↑ | +15 | Scale +30% |
| {name} | +12 | good | $3.80 | -5% | 1.2% | → | - | Hold |
| {name} | -8 | sl_bad | $5.20 | +30% | 0.8% | ↓ | - | Reduce -30% |
| {name} | -35 | bad | $12.00 | +200% | 0.4% | ↓↓ | +20 | Monitor |

## Топ объявления
1. {ad_name} - CPL ${X}, {Y} leads, Risk {R}
2. {ad_name} - CPL ${X}, {Y} leads, Risk {R}

## Проблемы
- {issue1}
- {issue2}

---

Недельный отчет (с трендами)

# Недельный отчет: {Account Name}
📅 {Start Date} - {End Date}
🎯 Целевой CPL: ${target}

## Сводка недели
| Метрика | Эта неделя | Прошлая | Изменение | Тренд |
|---------|------------|---------|-----------|-------|
| Spend | ${X} | ${Y} | {+/-}% | {↑/↓/→} |
| Impressions | {X} | {Y} | {+/-}% | {↑/↓/→} |
| Leads | {X} | {Y} | {+/-}% | {↑/↓/→} |
| CPL | ${X} | ${Y} | {+/-}% | {↑/↓/→} |
| CTR | {X}% | {Y}% | {+/-}pp | {↑/↓/→} |
| ROAS | {X}x | {Y}x | {+/-}% | {↑/↓/→} |

## Динамика CPL по дням
| День | Spend | Leads | CPL | vs Target | Trend |
|------|------:|------:|----:|-----------|-------|
| Пн | ${X} | {Y} | ${Z} | {+/-}% | - |
| Вт | ${X} | {Y} | ${Z} | {+/-}% | {vs Пн} |
| Ср | ${X} | {Y} | ${Z} | {+/-}% | {vs Вт} |
| Чт | ${X} | {Y} | ${Z} | {+/-}% | {vs Ср} |
| Пт | ${X} | {Y} | ${Z} | {+/-}% | {vs Чт} |
| Сб | ${X} | {Y} | ${Z} | {+/-}% | {vs Пт} |
| Вс | ${X} | {Y} | ${Z} | {+/-}% | {vs Сб} |

## Health Score по AdSets

| AdSet | HS | CPL Gap | Trends | Diag | Today | VF | Класс | Action |
|-------|---:|--------:|-------:|-----:|------:|---:|-------|--------|
| {name} | +52 | +45 | +7.5 | 0 | 0 | 1.0 | very_good | Scale |
| {name} | +12 | +30 | -7.5 | -8 | 0 | 0.9 | good | Hold |
| {name} | -22 | -30 | -7.5 | -8 | +20 | 1.0 | sl_bad | Monitor |

## Breakdown компонентов HS (для худших)

**AdSet "{name}" (HS = -22):**
| Компонент | Значение | Причина |
|-----------|----------|---------|
| CPL Gap | -30 | CPL $5.20 vs target $4, +30% |
| Trends | -7.5 | 3d хуже 7d на 12% |
| CTR Penalty | -8 | CTR 0.8% < 1% |
| CPM Penalty | 0 | CPM $11 в норме |
| Freq Penalty | 0 | Frequency 1.8 в норме |
| Today Adj | +20 | Сегодня CPL $3.50, на 33% лучше! |
| Volume Factor | x1.0 | 3200 impressions |
| **Итого** | -22 | HS улучшен благодаря today |

## Лучшие adsets
| AdSet | Spend | Leads | CPL | HS | Trend | Action |
|-------|------:|------:|----:|---:|-------|--------|
| {name1} | ${X} | {Y} | ${Z} | +{W} | ↑ | Scale +30% |
| {name2} | ${X} | {Y} | ${Z} | +{W} | ↑ | Scale +20% |

## Худшие adsets
| AdSet | Spend | Leads | CPL | HS | Trend | Today | Action |
|-------|------:|------:|----:|---:|-------|-------|--------|
| {name1} | ${X} | {Y} | ${Z} | -{W} | ↓↓ | +15 | Monitor |
| {name2} | ${X} | {Y} | ${Z} | -{W} | ↓ | - | Reduce |

## Рекомендации на следующую неделю
1. {recommendation1}
2. {recommendation2}
3. {recommendation3}

---

Отчет по аудиториям

# Анализ аудиторий: {Account Name}
📅 {Period}

## По возрасту
| Возраст | Spend | Leads | CPL | vs Target | % бюджета |
|---------|------:|------:|----:|-----------|----------:|
| 18-24 | ${X} | {Y} | ${Z} | {+/-}% | {W}% |
| 25-34 | ... | ... | ... | ... | ... |
| 35-44 | ... | ... | ... | ... | ... |
| 45-54 | ... | ... | ... | ... | ... |
| 55-64 | ... | ... | ... | ... | ... |
| 65+ | ... | ... | ... | ... | ... |

## По полу
| Пол | Spend | Leads | CPL | vs Target |
|-----|------:|------:|----:|-----------|
| Мужчины | ${X} | {Y} | ${Z} | {+/-}% |
| Женщины | ${X} | {Y} | ${Z} | {+/-}% |

## По площадкам
| Площадка | Spend | Leads | CPL | CTR | Trend |
|----------|------:|------:|----:|----:|-------|
| Facebook | ${X} | {Y} | ${Z} | {W}% | {↑/↓/→} |
| Instagram | ... | ... | ... | ... | ... |
| Audience Network | ... | ... | ... | ... | ... |

## Выводы
- Лучшая аудитория: {description}
- Худшая аудитория: {description}
- Рекомендации: {recommendation}

---

Workflow отчета

Шаг 1: Подготовка

1. Прочитай .claude/ads-agent/config/ad_accounts.md
2. Прочитай бриф → целевые метрики
3. Определи период отчета

Шаг 2: Сбор данных (5 периодов)

# Все 5 периодов параллельно
today = get_insights(object_id="act_XXX", time_range="today", level="adset")
yesterday = get_insights(object_id="act_XXX", time_range="yesterday", level="adset")
last_3d = get_insights(object_id="act_XXX", time_range="last_3d", level="adset")
last_7d = get_insights(object_id="act_XXX", time_range="last_7d", level="adset")
last_30d = get_insights(object_id="act_XXX", time_range="last_30d", level="adset")

Шаг 3: Расчет метрик и HS

# CPL
cpl = spend / leads if leads > 0 else None

# CTR
ctr = (clicks / impressions) * 100 if impressions > 0 else 0

# Health Score (5 компонентов)
hs = calculate_health_score(
    cpl_yesterday, target_cpl,
    cpl_3d, cpl_7d, cpl_30d,  # для трендов
    ctr, cpm, frequency,       # для диагностики
    cpl_today,                 # для today-компенсации
    impressions                # для volume factor
)

# Изменение
change_pct = ((current - previous) / previous) * 100 if previous > 0 else None

Шаг 4: Формирование отчета

Используй шаблоны выше, заполни данными.

Шаг 5: Выводы и рекомендации

На основе анализа добавь:

  • Что работает хорошо
  • Что требует внимания
  • Конкретные рекомендации
  • Today-компенсация (если применимо)

---

Сравнение периодов

Week-over-Week

# Эта неделя
this_week = get_insights(object_id="act_XXX", time_range="last_7d")

# Прошлая неделя
last_week = get_insights(
    object_id="act_XXX",
    time_range={"since": "YYYY-MM-DD", "until": "YYYY-MM-DD"}
)

# Расчет изменения
for metric in ["spend", "leads", "impressions"]:
    change = ((this_week[metric] - last_week[metric]) / last_week[metric]) * 100

Month-over-Month

this_month = get_insights(object_id="act_XXX", time_range="this_month")
last_month = get_insights(object_id="act_XXX", time_range="last_month")

---

Интерпретация метрик

Хорошие показатели

МетрикаХорошоОтлично
CTR> 1%> 2%
CPL< target< 0.7x target
Frequency< 3< 2
LP View Rate> 60%> 80%

Тревожные сигналы

МетрикаВниманиеКритично
CPL> 1.5x target> 2x target
Frequency> 4> 7
CTR< 0.5%< 0.3%
Spend без leads> $10> $20

---

Символы трендов

СимволЗначениеУсловие
УлучшениеCPL падает / CTR растёт
СтабильноИзменение ±10%
УхудшениеCPL растёт / CTR падает на 10%+
↓↓Сильное ухудшениеИзменение > 30%

---

Health Score в отчётах

Классификация

КлассДиапазонИконка
very_good>= +25🟢
good+5..+24🟡
neutral-5..+4
slightly_bad-25..-6🟠
bad<= -25🔴

Компоненты (для breakdown)

КомпонентДиапазонЧто влияет
CPL Gap-45..+45Отклонение от target
Trends-15..+153d vs 7d, 7d vs 30d
CTR Penalty-8..0CTR < 1%
CPM Penalty-12..0CPM > median * 1.3
Freq Penalty-10..0Frequency > 2
Today Adj0..+30Хороший today
Volume Factorx0.6..1.0Impressions

---

Шаблоны выводов

Позитивные

  • "CPL снизился на {X}% благодаря {причина}"
  • "Лучшая аудитория - {description}, CPL ${X}"
  • "Успешное масштабирование: +{X}% spend при сохранении CPL"
  • "Today показывает улучшение: CPL ${X} vs ${Y} вчера"

Негативные

  • "CPL вырос на {X}%, основная причина - {adset/ad}"
  • "Ad-eater обнаружен: {name}, тратит {X}% бюджета"
  • "Frequency {X} - аудитория выгорает"
  • "Тренд негативный: 3d хуже 7d на {X}%"

Рекомендации

  • "Масштабировать {adset} - HS +{X}, CPL ниже target"
  • "Снизить бюджет {adset} - HS {X}, CPL выше нормы"
  • "Мониторить {adset} - today показывает улучшение"
  • "Обновить креативы - высокая frequency {X}"

---

Примеры запросов

"Отчет за сегодня"

→ Дневной отчет с today vs yesterday, HS по adsets

"Недельный отчет"

→ Полный отчет с трендами, HS breakdown, рекомендации

"Сравни эту неделю с прошлой"

→ Week-over-week с детальным сравнением

"Анализ по возрастам"

→ Breakdown по age, рекомендации по аудиториям

"Какие adsets лучше всего работают?"

→ Топ по HS, рекомендации по масштабированию

Related skills

Marketing & SEOcontentdistribution

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.