# VIZNFR Ad Dashboard — Pipeline de 4 Agentes + War Room

Fonte: **Claude Code Ad Dashboard by VIZNFR (vizznary)**. Pipeline completo de criação, teste, iteração e publicação de ads usando fal.ai + Meta Ads API.

## Arquitetura

```
[Brief] → SCRAPER → [dados concorrência]
                  ↓
                 FORGE → [criativos fal.ai nano-banana-2]
                       ↓
                      PUBLISHER → [Meta Ads API — campanha publicada]
                                ↓
                               LOOPER → [análise + iteração]
                                     ↓ (aprende e loopa)
                              War Room HTML Dashboard
```

## Os 4 agentes

Cada agente vive em `templates/agents/`. Especificações completas lá. Resumo:

### SCRAPER (Pesquisa)
- **Input:** nicho, concorrentes, região
- **Output:** JSON com ads ativos do concorrente (Meta Ad Library scrape), hooks, offers, ângulos
- **Tools:** Playwright + scraping parser

### FORGE (Geração)
- **Input:** brief + output do SCRAPER + template Brand Bible
- **Output:** N criativos PNG via fal.ai nano-banana-2 (headline + imagem)
- **Tools:** fal.ai API (`fal-ai/nano-banana-2`)

### PUBLISHER (Publicação)
- **Input:** criativos aprovados + orçamento + audiência
- **Output:** campanhas Meta Ads API publicadas em status `PAUSED` pro user revisar antes de ativar
- **Tools:** Meta Marketing API (Graph v21+)

### LOOPER (Aprendizado)
- **Input:** métricas Meta Insights (CTR, CPC, CPA, ROAS) diárias
- **Output:** diagnóstico + brief novo pro próximo ciclo FORGE
- **Tools:** Meta Insights API + Claude Sonnet pra análise

## War Room HTML Dashboard

HTML single-file (design dark-mode) com:
- **Topo:** headline stats (spend hoje, ROAS, CTR médio, campanhas ativas)
- **Grid central:** cada campanha = card com preview criativo + métricas + sparkline 7d
- **Sidebar esquerda:** Pipeline status (SCRAPER → FORGE → PUBLISHER → LOOPER)
- **Sidebar direita:** Alertas (ROAS < 1.5, CTR < 0.8%, frequência > 3)
- **Rodapé:** log stream dos últimos eventos do LOOPER

Prompt completo em `templates/war-room-dashboard-prompt.md` — cole no Claude Code e ele gera o HTML pronto.

## Credenciais necessárias

```bash
# .env no projeto
FAL_KEY=xxx                      # https://fal.ai/dashboard/keys
META_ACCESS_TOKEN=xxx            # https://developers.facebook.com/tools/explorer/
META_AD_ACCOUNT_ID=act_xxx       # Business Manager
META_PAGE_ID=xxx                 # Página Facebook
ANTHROPIC_API_KEY=xxx            # pra LOOPER analisar métricas
```

## Fluxo típico (1 campanha nova)

```bash
# 1. Scraper
claude invoke agent SCRAPER --nicho "imobiliário alto padrão DF" --concorrentes "brvaga,silvaimoveis"

# 2. Forge (20 criativos)
claude invoke agent FORGE --brief scraper-output.json --variations 20 --brand-bible squadfilm.md

# 3. Publisher (só aprovados)
claude invoke agent PUBLISHER --creatives approved/ --budget 50 --audience "DF 30-55 interesse luxury"

# 4. Looper (1x/dia)
claude invoke agent LOOPER --schedule daily
```

## Integração com a skill

- Criativos FORGE usam prompts de `references/01-y2k-design.md` + `04-mec-branded-ai.md`
- Output FORGE upscale via `references/02-upscale-prompt.md`
- Motion version via `references/03-tim-koda-motion.md` antes do PUBLISHER
- Copy headlines vêm de Xquads Copy Squad `references/05-xquads-136-agentes.md`

## Cross-ref

- Template dashboard: `templates/war-room-dashboard-prompt.md`
- Agent specs: `templates/agents/{SCRAPER,FORGE,PUBLISHER,LOOPER}.md`
