Ativa (coloca no ar — GASTO REAL) uma campanha de tráfego Meta Ads já existente do cliente brunobracaioli, de forma 100% autônoma e headless. Recebe `campaign_meta_id=<id>`, valida que a campanha é do cliente, está PAUSED e dentro do teto de orçamento, ativa campanha + ad sets + ads via MCP da Meta, persiste status='ACTIVE' e operation_logs no Supabase. Disparada pela fila `agent_jobs` (poll-agent-jobs.sh) quando o operador confirma a ativação pelo Ultron. NÃO cria campanha — só ativa uma existente.
[DEPRECATED 2026-06-14 → use funnel-analytics-brunobracaioli-campaign (ADR 0025): versão com FUNIL COMPLETO via MCP_META_ADS_B2_TECH. Mantida só para rollback.] Analisa de forma 100% autônoma e headless a performance de TODAS as campanhas ativas Meta Ads do cliente brunobracaioli (qualquer objetivo — tráfego, vendas, engajamento) — lê métricas via MCP da Meta (read-only), diagnostica cruzando métricas (nunca métrica isolada) com north-star por objetivo (CPLPV p/ tráfego, CPA p/ vendas, custo/engajamento p/ engajamento), e persiste análise + recomendações estruturadas no Supabase (analyses, metric_snapshots, analysis_findings) + manifest + Telegram. NÃO altera nada na conta Meta. Use quando pedirem "analisar performance das campanhas de brunobracaioli/CCA", ou quando disparada via cron DIÁRIO (`claude -p --dangerously-skip-permissions ".claude/skills/analytic-traffic-brunobracaioli-campaign"`).
Cria de forma 100% autônoma e headless uma campanha de VENDAS (OUTCOME_SALES, CBO, otimizada por PURCHASE no pixel) para o cliente brunobracaioli REUSANDO os criativos "top vendas" já vencedores da conta — descobre os ads que mais venderam (get_insights ad-level + list_ads → creative_id), cria campanha + ad set (OFFSITE_CONVERSIONS) + N ads PAUSED via o MCP "MCP META ADS B2 TECH", persiste no Supabase e escreve manifest. NÃO gera arte nem copy — reaproveita creative_id existentes. Use quando pedirem "criar campanha de vendas com os top criativos do brunobracaioli", ou via headless (`claude -p --dangerously-skip-permissions ".claude/skills/create-sales-brunobracaioli-campaign"`).
Cria de forma 100% autônoma e headless uma campanha de tráfego Meta Ads (CBO, Advantage+) para o cliente brunobracaioli — scrape da landing, geração de 3 criativos, campanha + adset + 3 ads PAUSED via MCP da Meta, persistência no Supabase e manifest. Use quando pedirem "criar campanha de tráfego para brunobracaioli/CCA", ou quando disparada via cron/headless (`claude -p --dangerously-skip-permissions ".claude/skills/create-traffic-brunobracaioli-campaign"`).
Análise diária 100% autônoma e headless da performance de TODAS as campanhas ativas Meta Ads do cliente brunobracaioli (qualquer objetivo) usando o connector MCP_META_ADS_B2_TECH (read-only), que entrega o FUNIL DE CONVERSÃO COMPLETO (impression → link_click → landing_page_view → view_content → add_to_cart → initiate_checkout → purchase) com receita (action_values) e ROAS (purchase_roas). Extrai o funil por entidade, diagnostica cruzando ≥2 métricas (nunca métrica isolada) ancorado no north-star de cada objetivo, e PERSISTE no Supabase: analyses + metric_snapshots + analysis_findings (ADR 0004) + o read model funnel_events (ADR 0025) que alimenta o funil de eventos visual no dashboard. NÃO altera NADA na conta Meta. Substitui a analytic-traffic-brunobracaioli-campaign. Use quando pedirem "analisar performance/funil de brunobracaioli/CCA", ou via cron DIÁRIO (`claude -p --dangerously-skip-permissions ".claude/skills/funnel-analytics-brunobracaioli-campaign"`).
Catálogo de produtos por cliente (curso, imersão, serviço) com slug, preço, checkout, subdomínio padrão e o caminho do brief JSON completo. Use para descobrir quais produtos um cliente tem e onde está o brief que alimenta a geração de landing pages (create-landing-page-*) e de campanhas. O brief estruturado (dores, mecanismo, oferta, autoridade, números, agenda) vive em .claude/materiais-das-empresas/<cliente>/produtos/<slug>.json e é lido headless via Read.
Gera 1+ imagens via OpenAI gpt-image-2 a partir de um prompt direto, arquivo de prompt, ou brief que precisa virar prompt. Use quando o operador pedir "gere imagem pra ...", "crie criativo visual", "regerar a imagem do ad X", "imagem 9:16 pra story", "novo banner 1.91:1", ou quando outra skill (ex.: /create-campaign Step 3) precisar de assets visuais. Aceita imagens de referência ou para serem inseridas na imagem gerada (logo, mascote, foto de produto) e devolve manifest JSON com paths dos arquivos gerados, prompt efetivo e custo estimado — pronto pra ser consumido por uploader, brand-guard, ou Meta Ads creative.
Publica (deploy no Cloudflare Pages) o RASCUNHO atual de uma landing page do cliente brunobracaioli que vive no Supabase (landing_pages.settings + landing_pages.theme + landing_page_sections). Serializa o ContentDoc → messages/pt.json + content-spec.json + theme.css (serializer puro compartilhado) → next build (static export) → wrangler deploy → persiste o snapshot publicado. Use quando pedirem "publicar a landing page X" ou quando disparada via Ultron/headless pela fila agent_jobs (kind=landing_publish, ex.: `claude -p --dangerously-skip-permissions ".claude/skills/publish-landing-page-brunobracaioli landing_page_id=<uuid>"`). NÃO gera copy nem cria a LP — só publica o rascunho existente. NÃO cria campanha Meta.