← Files KreelARCHIVED FILE

SKILL.md

1.6 KB · Sep 30, 2026 · 23:02 UTC

↓ Download file

---
name: kreel-meta-account-audit
description: "Structural audit of the Meta ad account."
---

If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.

Audit the Meta account structure. Use `get_entities` with platform='meta' at campaign, adset, and ad levels (adset rows carry effective_status, daily_budget/lifetime_budget, bid_strategy, optimization_goal). Look for:
- Naming-convention drift.
- Likely-duplicate ad sets: same or near-identical name AND the same optimization_goal. Targeting specs are NOT available, so this name+goal match is a best-effort heuristic, not a true audience-overlap check - say so.
- Abandoned campaigns: still ACTIVE (effective_status) but no spend in 30 days.
- Budget-allocation imbalance: first decide each campaign's budgeting mode. If the campaign carries a daily_budget or lifetime_budget and its ad sets have none (CBO / campaign-level budget optimization - get_entities None-drops absent budgets, so a missing ad-set budget is the CBO signal, not an error to skip), evaluate budget-vs-spend at the CAMPAIGN level: the campaign's daily_budget/lifetime_budget/budget_remaining against its 7-day spend from `get_performance` (platform='meta', entity_type='campaign', date_range={"days": 7}). If instead the ad sets carry daily_budget/lifetime_budget (ABO / ad-set budget optimization), compare each ad set's daily_budget/lifetime_budget (from `get_entities`, or the `adsets` DSL table) against its 7-day spend from `get_performance` (platform='meta', entity_type='adset', date_range={"days": 7}).
Return findings as a numbered list with severity (high/med/low).

SHA-256: 4e4c53b8fbc36c2003edb96232c8bf4614b732e0f4b2bb667a40a4b19affa88f