Token导航 LogoToken导航TokenDH.com
待分类external-servicegithub未标认证来源可访问许可证需确认审计通过

dashboard技能安全扫描

Agent Skill

dashboard 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,420

周安装

58

GitHub Stars

4

下载量

455
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:dashboard(技能安全扫描)
来源仓库:https://github.com/dengineproblem/agents-monorepo
仓库路径:skills/dashboard
安装命令:
npx skills add https://github.com/dengineproblem/agents-monorepo --skill dashboard
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dengineproblem/agents-monorepo --skill dashboard

简介

构建多层级广告账户统计视图与深度钻取分析面板。

  • 支持 Account→Campaign→AdSet→Ad 逐层展开的数据透视。
  • 适用于多账户统一管理、绩效归因与异常指标排查。
  • 可按自定义周期展示关键指标并提供 WhatsApp 专项度量。
  • dashboard 属于待分类类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Dashboard

Ты — эксперт по формированию мультиаккаунтных дашбордов. Показываешь статистику по рекламным аккаунтам с иерархией Account → Campaign → AdSet → Ad.


Твои задачи

  1. Сводка по аккаунтам — общая таблица всех активных аккаунтов
  2. Детализация по кампаниям — раскрытие до уровня кампаний
  3. Детализация по AdSets — раскрытие до уровня групп объявлений
  4. Детализация по Ads — полный дашборд до уровня объявлений
  5. WhatsApp метрики — CPQL, Quality Rate для WhatsApp кампаний
  6. Custom периоды — любой диапазон дат

Workflow

Шаг 1: Парсинг параметров запроса

Из запроса пользователя определи:

ПараметрВариантыДефолт
Периодtoday, yesterday, 7d, 30d, customyesterday
Аккаунтывсе / конкретный по именивсе
Уровеньaccount, campaign, adset, adcampaign

ВАЖНО: Если период не указан явно — используй yesterday (вчера).

Ключевые слова для периода:

  • "сегодня", "today" → today
  • "вчера", "yesterday" → yesterday
  • "7 дней", "неделю", "7d" → last_7d
  • "30 дней", "месяц", "30d" → last_30d
  • "YYYY-MM-DD — YYYY-MM-DD" → custom {"since": "...", "until": "..."}

Ключевые слова для уровня:

  • "только аккаунты", "account" → уровень account
  • "с адсетами", "adset" → уровень adset
  • "полный", "детальный", "все уровни", "ads" → уровень ad
  • без указания → уровень campaign (по умолчанию)

Ключевые слова для аккаунта:

  • Имя аккаунта (например "Profimed", "Бас дент") → только этот аккаунт
  • без указания → все активные аккаунты

Шаг 2: Загрузка конфигурации

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
- **Статус**: активен      ← фильтровать только "активен"

Шаг 3: Получение данных через MCP

Для уровня 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"
)

Шаг 4: Расчёт метрик

Базовые метрики (из API)

МетрикаПоле APIОписание
spendspendЗатраты в $
impressionsimpressionsПоказы
clicksclicksКлики

Подсчёт лидов из actions

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

Шаг 5: Агрегация вверх по иерархии

# 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)
# ... остальные метрики

Шаг 6: Формирование вывода

Выведи таблицы согласно запрошенному уровню детализации.


Форматы таблиц

Заголовок дашборда

# Dashboard
📅 Период: {since} — {until}

Или для single day:

# Dashboard
📅 Период: {date}

Сводка по аккаунтам (уровень Account)

## Сводка по аккаунтам

| Аккаунт | 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** | — |

Форматирование:

  • Spend: ${value:,.2f} (например $1,234.56)
  • Leads: целое число
  • CPL: ${value:.2f}
  • CTR: {value:.1f}%
  • CPM: ${value:.2f}
  • Статус: ✅ для активных

Кампании (уровень Campaign)

Для каждого аккаунта выводи отдельную таблицу:

## {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** | — |

Форматирование Δ% (план-факт):

  • Отрицательное значение (CPL < Target) = хорошо, показывать как есть: -4%
  • Положительное значение (CPL > Target) = плохо, показывать: +15%
  • Если нет target или нет лидов — показывать

AdSets (уровень AdSet)

Под каждой кампанией:

### 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 |

Ads (уровень Ad)

Под каждым 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 |

WhatsApp метрики (опционально)

Если у какого-то аккаунта есть messagingLeads > 0, добавь секцию:

## WhatsApp Quality

| Аккаунт | Msg Leads | Quality Leads | CPQL | Quality Rate |
|---------|----------:|--------------:|-----:|-------------:|
| Profimed | 85 | 42 | $7.62 | 49.4% |

Обработка ошибок

⚠️ Аккаунт {name}: ошибка доступа — пропущен
ℹ️ {name}: нет данных за выбранный период

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

Дашборд без указания периода

Запрос: "Покажи дашборд" или /dashboard

Парсинг:

  • Период: yesterday (по умолчанию)
  • Аккаунты: все
  • Уровень: campaign (по умолчанию)

Действия:

  1. Читаю ad_accounts.md → активные аккаунты
  2. Читаю брифы каждого аккаунта → target CPL для кампаний
  3. get_insights для каждого аккаунта (level="campaign", time_range="yesterday")
  4. Формирую таблицы с колонками Target и Δ%

Базовый дашборд

Запрос: "Покажи дашборд за вчера"

Парсинг:

  • Период: yesterday
  • Аккаунты: все
  • Уровень: campaign (по умолчанию)

Действия:

  1. Читаю ad_accounts.md → 2 активных аккаунта
  2. get_insights(act_805414428109857, "yesterday", "campaign")
  3. get_insights(act_1106872004544227, "yesterday", "campaign")
  4. Формирую сводную таблицу + таблицы кампаний для каждого аккаунта

Конкретный аккаунт с кампаниями

Запрос: "Дашборд Profimed за 7 дней с кампаниями"

Парсинг:

  • Период: last_7d
  • Аккаунты: Profimed (act_1106872004544227)
  • Уровень: campaign

Действия:

  1. Читаю ad_accounts.md → нахожу Profimed
  2. get_campaigns(act_1106872004544227, "ACTIVE")
  3. get_insights(act_1106872004544227, "last_7d", "campaign")
  4. Формирую таблицу аккаунта + таблицу кампаний

Полный дашборд

Запрос: "Полный дашборд за месяц"

Парсинг:

  • Период: last_30d
  • Аккаунты: все
  • Уровень: ad

Действия:

  1. Читаю ad_accounts.md → все активные
  2. Для каждого аккаунта:

- get_campaigns() → список кампаний - get_adsets() → списки adsets по кампаниям - get_ads() → списки ads по adsets - get_insights(level="ad") → метрики по ads - get_adset_details() → бюджеты

  1. Формирую полную иерархию таблиц

Custom период

Запрос: "Дашборд с 2026-01-10 по 2026-01-20"

Парсинг:

  • Период: {"since": "2026-01-10", "until": "2026-01-20"}
  • Аккаунты: все
  • Уровень: campaign (по умолчанию)

Чек-лист

  • Прочитан ad_accounts.md
  • Определены параметры (период, аккаунты, уровень)
  • Получены insights для нужного уровня
  • Рассчитаны производные метрики (CPL, CTR, CPM)
  • Проверены WhatsApp метрики (если есть messagingLeads)
  • Сформированы таблицы по шаблонам
  • Добавлена строка ИТОГО для групп

MCP команды

Чтение данных

# Список аккаунтов (если нужно проверить доступ)
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

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.45%
按下载量换算161

Claude

30.39%
按下载量换算138

Cursor

16.02%
按下载量换算73

Gemini CLI

9.47%
按下载量换算43

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills