stripe-projects
stripe projects
dashboard
Мультиаккаунтный дашборд. Статистика по всем аккаунтам с детализацией до уровня объявлений.
Full skill instructions
Ты — эксперт по формированию мультиаккаунтных дашбордов. Показываешь статистику по рекламным аккаунтам с иерархией Account → Campaign → AdSet → Ad.
Из запроса пользователя определи:
| Параметр | Варианты | Дефолт |
|---|---|---|
| Период | today, yesterday, 7d, 30d, custom | yesterday |
| Аккаунты | все / конкретный по имени | все |
| Уровень | account, campaign, adset, ad | campaign |
ВАЖНО: Если период не указан явно — используй yesterday (вчера).
Ключевые слова для периода:
todayyesterdaylast_7dlast_30d{"since": "...", "until": "..."}Ключевые слова для уровня:
accountadsetadcampaign (по умолчанию)Ключевые слова для аккаунта:
1. Прочитай .claude/ads-agent/config/ad_accounts.md
2. Извлеки список аккаунтов со статусом "активен"
3. Для каждого аккаунта запомни:
- name (Название)
- account_id (Account ID)
- page_id (Page ID)
- brief_path (путь к брифу)
4. Прочитай бриф каждого аккаунта (briefs/{name}.md)
5. Извлеки target CPL для каждой кампании из таблицы "Активные кампании/направления":
| Направление | Campaign ID | Цель CPL | ...
Парсинг секций:
## Аккаунт N: {name}
- **Account ID**: act_XXX ← извлечь
- **Page ID**: XXX ← извлечь
- **Название**: XXX
- **Статус**: активен ← фильтровать только "активен"
Для уровня Account:
# Для каждого аккаунта параллельно
for account in accounts:
insights = get_insights(
object_id=account.account_id,
time_range=period,
level="account"
)
Для уровня Campaign (если нужно):
# 1. Получить список кампаний
campaigns = get_campaigns(
account_id=account_id,
status_filter="ACTIVE",
limit=50
)
# 2. Получить insights на уровне кампаний
campaign_insights = get_insights(
object_id=account_id,
time_range=period,
level="campaign"
)
Для уровня AdSet (если нужно):
# 1. Получить список adsets
adsets = get_adsets(account_id=account_id, campaign_id=campaign_id)
# 2. Получить insights на уровне adset
adset_insights = get_insights(
object_id=account_id,
time_range=period,
level="adset"
)
# 3. Получить daily_budget для каждого adset
for adset in adsets:
details = get_adset_details(adset_id=adset.id)
daily_budget = details.daily_budget / 100 # центы → доллары
Для уровня Ad (если нужно):
# 1. Получить список ads
ads = get_ads(account_id=account_id, adset_id=adset_id)
# 2. Получить insights на уровне ad
ad_insights = get_insights(
object_id=account_id,
time_range=period,
level="ad"
)
| Метрика | Поле API | Описание |
|---|---|---|
| spend | spend | Затраты в $ |
| impressions | impressions | Показы |
| clicks | clicks | Клики |
def count_leads(actions):
leads = 0
messagingLeads = 0
qualityLeads = 0
for action in actions:
action_type = action.get("action_type", "")
value = int(action.get("value", 0))
if action_type == "onsite_conversion.total_messaging_connection":
messagingLeads = value
leads += value
elif action_type == "onsite_conversion.messaging_user_depth_2_message_send":
qualityLeads = value
elif action_type in ["offsite_conversion.fb_pixel_lead", "onsite_conversion.lead_grouped"]:
leads += value
return leads, messagingLeads, qualityLeads
Базовые (показывать всегда):
cpl = spend / leads if leads > 0 else None
ctr = (clicks / impressions) * 100 if impressions > 0 else 0
cpm = (spend / impressions) * 1000 if impressions > 0 else 0
# План-факт (ОБЯЗАТЕЛЬНО для кампаний)
target_cpl = brief.campaigns[campaign_id].target_cpl # из брифа
cpl_diff = ((cpl - target_cpl) / target_cpl) * 100 if target_cpl and cpl else None # % отклонения
WhatsApp метрики (показывать если messagingLeads > 0):
cpql = spend / qualityLeads if qualityLeads > 0 else None
qualityRate = (qualityLeads / messagingLeads) * 100 if messagingLeads > 0 else 0
# Ad → AdSet
adset.spend = sum(ad.spend for ad in adset.ads)
adset.leads = sum(ad.leads for ad in adset.ads)
# ... остальные метрики
# AdSet → Campaign
campaign.spend = sum(adset.spend for adset in campaign.adsets)
campaign.leads = sum(adset.leads for adset in campaign.adsets)
campaign.daily_budget = sum(adset.daily_budget for adset in campaign.adsets if adset.status == "ACTIVE")
# ... остальные метрики
# Campaign → Account
account.spend = sum(campaign.spend for campaign in account.campaigns)
account.leads = sum(campaign.leads for campaign in account.campaigns)
# ... остальные метрики
Выведи таблицы согласно запрошенному уровню детализации.
# Dashboard
📅 Период: {since} — {until}
Или для single day:
# Dashboard
📅 Период: {date}
## Сводка по аккаунтам
| Аккаунт | Spend | Leads | CPL | CTR | CPM | Статус |
|---------|------:|------:|----:|----:|----:|--------|
| Бас дент | $450.00 | 120 | $3.75 | 1.2% | $8.50 | ✅ |
| Profimed | $320.00 | 85 | $3.76 | 1.1% | $9.20 | ✅ |
| **ВСЕГО** | **$770.00** | **205** | **$3.76** | **1.15%** | **$8.85** | — |
Форматирование:
${value:,.2f} (например $1,234.56)${value:.2f}{value:.1f}%${value:.2f}Для каждого аккаунта выводи отдельную таблицу:
## {Account Name} — Кампании
| Кампания | Spend | Leads | CPL | Target | Δ% | Budget | Статус |
|----------|------:|------:|----:|-------:|---:|-------:|--------|
| Импланты | $250.00 | 65 | $3.85 | $4.00 | -4% | $40 | ACTIVE |
| Виниры | $200.00 | 55 | $3.64 | $5.00 | -27% | $30 | ACTIVE |
| **ИТОГО** | **$450.00** | **120** | **$3.75** | — | — | **$70** | — |
Форматирование Δ% (план-факт):
-4%+15%—Под каждой кампанией:
### AdSets — {Campaign Name}
| AdSet | Spend | Leads | CPL | CTR | Budget | Статус |
|-------|------:|------:|----:|----:|-------:|--------|
| 30-45_astana | $150.00 | 40 | $3.75 | 1.4% | $25 | ACTIVE |
| 25-35_almaty | $100.00 | 25 | $4.00 | 1.1% | $15 | ACTIVE |
Под каждым AdSet:
#### Ads — {AdSet Name}
| Ad | Spend | Leads | CPL | CTR | Статус |
|----|------:|------:|----:|----:|--------|
| video_1_kitchen | $80.00 | 22 | $3.64 | 1.5% | ACTIVE |
| video_2_doctor | $70.00 | 18 | $3.89 | 1.3% | ACTIVE |
Если у какого-то аккаунта есть messagingLeads > 0, добавь секцию:
## WhatsApp Quality
| Аккаунт | Msg Leads | Quality Leads | CPQL | Quality Rate |
|---------|----------:|--------------:|-----:|-------------:|
| Profimed | 85 | 42 | $7.62 | 49.4% |
⚠️ Аккаунт {name}: ошибка доступа — пропущен
ℹ️ {name}: нет данных за выбранный период
Запрос: "Покажи дашборд" или /dashboard
Парсинг:
Действия:
Запрос: "Покажи дашборд за вчера"
Парсинг:
Действия:
Запрос: "Дашборд Profimed за 7 дней с кампаниями"
Парсинг:
Действия:
Запрос: "Полный дашборд за месяц"
Парсинг:
Действия:
Запрос: "Дашборд с 2026-01-10 по 2026-01-20"
Парсинг:
# Список аккаунтов (если нужно проверить доступ)
get_ad_accounts(limit=10)
# Кампании аккаунта
get_campaigns(account_id, status_filter="ACTIVE", limit=50)
# AdSets аккаунта или кампании
get_adsets(account_id, campaign_id=None, limit=50)
# Ads аккаунта или adset
get_ads(account_id, adset_id=None, limit=50)
# Метрики за период
get_insights(
object_id, # account_id или конкретный ID
time_range, # "yesterday" или {"since": "...", "until": "..."}
level="account" # account | campaign | adset | ad
)
# Детали adset (для бюджета)
get_adset_details(adset_id)
| Значение | Описание |
|---|---|
today | Сегодня |
yesterday | Вчера |
last_3d | Последние 3 дня |
last_7d | Последние 7 дней |
last_14d | Последние 14 дней |
last_30d | Последние 30 дней |
this_month | Текущий месяц |
last_month | Прошлый месяц |
{"since": "YYYY-MM-DD", "until": "YYYY-MM-DD"} | Custom |
stripe projects
Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". One-shot report, changes nothing.
okx dex market
okx agentic wallet
gmgn portfolio
okx dapp discovery
okx agent payments protocol
Stripe payment processing with checkout sessions, subscriptions, webhooks, and customer management.
Build comprehensive 3-5 year financial models with revenue projections, cost structures, cash flow analysis, and scenario planning for early-stage startups. Use this skill when creating financial projections, calculating burn rate or runway, modeling fundraising scenarios, or preparing investor-r...
Stock and cryptocurrency analysis with portfolio management and multi-dimensional scoring.
Real-time crypto derivatives positioning, whale tracking, liquidations, and institutional ETF flows across 37 specialized tools.
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Stay Ahead with Finalle.ai: The Ultimate Financial News and Tools Platform
AI-powered Pine Script code generator for TradingView
Research stocks at the speed of thought.
Empower your investment strategies with AI signals, option flow data, and advanced chart patterns.
Danelfin review covering its AI stock and ETF scores, rankings, portfolio tools, current pricing, strengths, risks, and alternatives for investors.
A software for comprehensive market sentiment analysis.
'Stock Correlations' App by Freshly.ai: Reveal Stock Patterns and Trends