ads-reporter
Эксперт по отчетности Facebook Ads. Используй для формирования дневных/недельных отчетов, сравнения периодов и анализа трендов.
Best use case
ads-reporter is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Эксперт по отчетности Facebook Ads. Используй для формирования дневных/недельных отчетов, сравнения периодов и анализа трендов.
Teams using ads-reporter should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ads-reporter/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ads-reporter Compares
| Feature / Agent | ads-reporter | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Эксперт по отчетности Facebook Ads. Используй для формирования дневных/недельных отчетов, сравнения периодов и анализа трендов.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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 периодов)
**ВАЖНО: Для полного отчёта собирай данные за все периоды!**
```python
# Параллельный сбор данных
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)
```markdown
# Дневной отчет: {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}
```
---
### Недельный отчет (с трендами)
```markdown
# Недельный отчет: {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}
```
---
### Отчет по аудиториям
```markdown
# Анализ аудиторий: {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 периодов)
```python
# Все 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
```python
# 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
```python
# Эта неделя
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
```python
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..+15 | 3d vs 7d, 7d vs 30d |
| CTR Penalty | -8..0 | CTR < 1% |
| CPM Penalty | -12..0 | CPM > median * 1.3 |
| Freq Penalty | -10..0 | Frequency > 2 |
| Today Adj | 0..+30 | Хороший today |
| Volume Factor | x0.6..1.0 | Impressions |
---
## Шаблоны выводов
### Позитивные
- "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
thor-skills
An entry point and router for AI agents to manage various THOR-related cybersecurity tasks, including running scans, analyzing logs, troubleshooting, and maintenance.
grail-miner
This skill assists in setting up, managing, and optimizing Grail miners on Bittensor Subnet 81, handling tasks like environment configuration, R2 storage, model checkpoint management, and performance tuning.
lets-go-rss
A lightweight, full-platform RSS subscription manager that aggregates content from YouTube, Vimeo, Behance, Twitter/X, and Chinese platforms like Bilibili, Weibo, and Douyin, featuring deduplication and AI smart classification.
modal-deployment
Run Python code in the cloud with serverless containers, GPUs, and autoscaling using Modal. This skill enables agents to generate code for deploying ML models, running batch jobs, serving APIs, and scaling compute-intensive workloads.
whisper-transcribe
Transcribes audio and video files to text using OpenAI's Whisper CLI, enhanced with contextual grounding from local markdown files for improved accuracy.
astro
This skill provides essential Astro framework patterns, focusing on server-side rendering (SSR), static site generation (SSG), middleware, and TypeScript best practices. It helps AI agents implement secure authentication, manage API routes, and debug rendering behaviors within Astro projects.
chrome-debug
This skill empowers AI agents to debug web applications and inspect browser behavior using the Chrome DevTools Protocol (CDP), offering both collaborative (headful) and automated (headless) modes.
ux
This AI agent skill provides comprehensive guidance for creating professional and insightful User Experience (UX) designs, covering user research, information architecture, interaction design, visual guidance, and usability evaluation. It aims to produce actionable, user-centered solutions that avoid generic AI aesthetics.
ontopo
An AI agent skill to search for Israeli restaurants, check table availability, view menus, and retrieve booking links via the Ontopo platform, acting as an unofficial interface to its data.
tech-blog
Generates comprehensive technical blog posts, offering detailed explanations of system internals, architecture, and implementation, either through source code analysis or document-driven research.
vly-money
Generate crypto payment links for supported tokens and networks, manage access to X402 payment-protected content, and provide direct access to the vly.money wallet interface.
advanced-skill-creator
Meta-skill that generates domain-specific skills using advanced reasoning techniques. PROACTIVELY activate for: (1) Create/build/make skills, (2) Generate expert panels for any domain, (3) Design evaluation frameworks, (4) Create research workflows, (5) Structure complex multi-step processes, (6) Instantiate templates with parameters. Triggers: "create a skill for", "build evaluation for", "design workflow for", "generate expert panel for", "how should I approach [complex task]", "create skill", "new skill for", "skill template", "generate skill"