0TL;DR
A Traffic Stack vive em Kit-Piloto-Automatico-V30/11_TRAFFIC_STACK/. Pra usar:
- Abre PowerShell (Windows) ou Terminal (macOS/Linux) na raiz
Kit-Piloto-Automatico-V30/ - Roda
claude - Cola o prompt-pai (seção 4)
- Pede o que quer (
*diagnostico 7d,*kill-list, etc.) - Confirma toda ação destrutiva (pause/edit/budget)
meta-ads oficial (rodando nativamente no macOS/Linux ou via WSL no Windows). O Windows usa o wrapper <HOME>\bin\meta.cmd que roteia comandos pro WSL transparentemente. Pra instalar tudo do zero, rode /meta-cli-install dentro do Claude Code.
1O que é a Traffic Stack
Camada operacional dentro do Kit Piloto Automático V30. Enquanto o resto do kit (CoS, agents de copy, pipeline) está orientado a criar campanhas (briefing → estrutura → criativo → subir), a Traffic Stack é orientada a operar campanhas vivas:
- Diagnóstico de queda de performance
- Análise de criativos (hook rate, retention, padrão vencedor)
- Auditoria de tracking (Pixel + CAPI saúde)
- Escala de vencedores (ABO/CBO/Oxigênio/horizontal/multi-account)
- Inteligência competitiva (Meta Ad Library, swipe, engenharia reversa)
- Análise de funil end-to-end (ads → LP → VSL → quiz → checkout)
Arquitetura — quem faz o quê
┌──────────────────────────────────────────────────────────┐
│ L0 — Orquestração │
│ @traffic-orchestrator (entry point único) │
└──────────────┬───────────────────────────────────────────┘
│ delega
┌───────────┼───────────┬─────────────┬────────────┬────┐
▼ ▼ ▼ ▼ ▼ ▼
Execução Análise Tracking Otimização Intel
──────── ────────── ───────── ───────────── ────────────
meta-dr- creative- attribut- diagnostician competitor-
specialist analyst ion- scaling- spy
funnel- auditor strategist
analyst
A stack é multi-conta por design: cada cliente em 05_WORKSPACE/clientes/<cliente>/ tem context próprio (CLAUDE.md, act-mapping.yaml, funil.md, icp.md, baseline-kpis.md). O orchestrator carrega o context certo antes de qualquer análise.
2Pré-requisitos (verificar 1× só)
2.1 — CLI Meta funcionando
Rodar no PowerShell pra confirmar:
& "<HOME>\bin\meta.cmd" auth status
Esperado: Authenticated (token: EAA<SEU_TOKEN_TRUNCADO>). Se não, token expirou — gerar novo System User Token no Business Manager e atualizar ~/.profile do WSL (variável ACCESS_TOKEN).
2.2 — WSL ativo
wsl --list --quiet
Esperado: Ubuntu. Se WSL travou: wsl --shutdown e tenta novamente.
2.3 — Estrutura do Kit presente
cd <PASTA_DO_KIT>\Kit-Piloto-Automatico-V30
ls 11_TRAFFIC_STACK\agents
ls 05_WORKSPACE\clientes\<seu-cliente>
Esperado: 8 arquivos de agente em agents/ e 5+ arquivos na pasta do seu cliente.
2.4 — Cliente configurado
Antes de usar a stack pra qualquer cliente, garantir que existe 05_WORKSPACE/clientes/<cliente>/ com:
| Arquivo | Função | Status |
|---|---|---|
CLAUDE.md | Context operacional, regras, roteamento | obrigatório |
act-mapping.yaml | Contas Meta, pixel, attribution, geo | obrigatório |
funil.md | Stack técnica (LP, VSL, checkout) | obrigatório |
icp.md | Avatar(es) por produto | obrigatório |
baseline-kpis.md | KPIs históricos vs alvos | recomendado |
baseline-kpis.md com 90 dias de histórico. Sem isso, agentes usam benchmark genérico DR pt-BR (mascara problema/oportunidade). Pipeline: meta ads insights get --date-preset last_90d -o json → calcular médias por produto → preencher arquivo.
3Abrir uma sessão
3.1 — No terminal
# Windows (PowerShell):
cd <PASTA_DO_KIT>\Kit-Piloto-Automatico-V30
claude
# macOS / Linux:
cd ~/Kit-Piloto-Automatico-V30
claude
Importante abrir o Claude Code dentro de Kit-Piloto-Automatico-V30/ — assim o CLAUDE.md raiz é carregado e o sistema sabe contexto.
3.2 — Prompt-pai (cola tudo)
Esse é o prompt mestre que invoca a stack. Cola no Claude Code recém-aberto:
Após esse prompt, o Claude vai assumir a persona do @traffic-orchestrator e listar os 8 comandos. A partir daí, você pede o que quiser.
3.3 — Variantes de abertura
Pra um diagnóstico direto (sem confirmar greeting antes):
Pra cliente diferente (depois de adicionar):
Pra teste rápido (1 comando CLI só):
3.4 — Atalhos úteis no Claude Code
| Atalho | O que faz | Quando usar |
|---|---|---|
| /clear | Limpa contexto da sessão | Entre testes de cliente diferente |
| Shift+Tab | Plan Mode (planeja antes de executar) | Tarefa complexa que quer revisar |
| Alt+T | Toggle extended thinking | Análise que precisa raciocínio profundo |
| Ctrl+O | Verbose mode (ver thinking) | Debug do que o agente tá fazendo |
| Ctrl+C | Interrompe | Quando saiu do trilho |
| !<cmd> | Roda comando shell direto | Auth manual, comandos interativos |
4Os 8 agentes — guia rápido
Cada agente é um arquivo .md em 11_TRAFFIC_STACK/agents/. O Claude carrega e adota a persona ao ser invocado por nome (@nome-agente) ou comando (*comando).
4.1 — Como invocar um agente diretamente
Em vez de passar pelo orchestrator, você pode acionar agente específico:
4.2 — Como o handoff entre agentes funciona
Cada agente sabe pra qual outro agente delegar. Exemplo: @meta-dr-specialist identifica vencedor → handoff pra @scaling-strategist → escala via @creative-analyst (lateralização). Você não precisa orquestrar manualmente — o orchestrator e os agentes coordenam.
5Workflows comuns (receitas prontas)
Objetivo: ver semáforo (verde/amarelo/vermelho), top 3 vencedores, top 3 problemas, próxima ação.
Output esperado: markdown com tabela de campanhas, semáforo, kill-list (precisa confirmação), próximas ações 24h.
Objetivo: visão completa da semana — performance, criativos, funil, atribuição, comparado vs semana anterior.
O que rola por baixo: orchestrator coordena @attribution-auditor + @meta-dr-specialist + @creative-analyst + @funnel-analyst + @data-analyst (squad oficial) pra montar relatório consolidado HTML.
Investigação em 6 camadas (em ordem):
- Tracking — Pixel/CAPI quebrou? Atribuição mudou?
- Criativo — saturação? hook rate caindo?
- Audience — overlap? exclusion errada?
- Oferta — preço mudou? bônus removido?
- Funil — LP/VSL/checkout quebrou?
- Externo — sazonalidade? mudança Meta? competição?
Não pula camada. Cada hipótese precisa evidência antes de virar conclusão.
Decisões que ele toma:
- <3 dias validação: ABO duplicate (cauteloso)
- 3-7 dias: CBO ramp +20%/dia
- >7 dias + frequência alta: Lateralização Oxigênio (escala via criativo)
- Já lateralizou + saturando: Horizontal (novos formatos/audiences)
- Esgotou tudo: Multi-account
Por que importa: Pixel sem CAPI perde 30-40% das conversões. ROAS Standard pode estar 20-35% inflado vs Incremental real.
url_tags não é editável depois, gasto durante validação é dinheiro queimado, armadilhas são reais.
Você manda os dados, eu populo:
Pré-requisito: System User Token tem acesso à conta no Business Manager. Se não tem, atribuir via BM → Configurações → Usuários do Sistema → Atribuir Conta de Anúncios.
6CLI meta — referência rápida
Se quiser rodar comandos diretamente no terminal (sem agente), aqui as receitas mais usadas. Path do wrapper: <HOME>\bin\meta.cmd.
6.1 — Anatomia do comando
meta <grupo> <recurso> <ação> [--flags]
meta ads campaign list
meta ads adset get <ID>
meta ads insights get --date-preset last_7d
meta auth status
6.2 — Receitas leitura SEGURO
Listar todas campanhas ativas
& "<HOME>\bin\meta.cmd" ads campaign list `
--ad-account-id act_XXXXXXXXXXXXXXX `
--filter "effective_status=ACTIVE" `
-o json
Performance dos últimos 7 dias (nível campanha)
& "<HOME>\bin\meta.cmd" ads insights get `
--ad-account-id act_XXXXXXXXXXXXXXX `
--date-preset last_7d `
--level campaign `
--fields spend,impressions,clicks,ctr,cpc,cpm,actions,purchase_roas `
-o json
Top 10 ads ordenados por gasto
& "<HOME>\bin\meta.cmd" ads insights get `
--ad-account-id act_XXXXXXXXXXXXXXX `
--date-preset last_14d `
--level ad `
--sort spend_descending `
--limit 10 `
-o json
Detalhes de um ad específico (com creative)
& "<HOME>\bin\meta.cmd" ads ad get <AD_ID> -o json
& "<HOME>\bin\meta.cmd" ads creative get <CREATIVE_ID> -o json
Listar contas que o token tem acesso
& "<HOME>\bin\meta.cmd" ads adaccount list -o json
6.3 — Receitas escrita DESTRUTIVO
Pausar uma campanha
& "<HOME>\bin\meta.cmd" ads campaign update <CAMPAIGN_ID> --status PAUSED
Ativar uma campanha (após validar tudo)
& "<HOME>\bin\meta.cmd" ads campaign update <CAMPAIGN_ID> --status ACTIVE
Mudar budget diário (CBO)
# Limite recomendado: max +20-30%/dia. Nunca dobrar.
& "<HOME>\bin\meta.cmd" ads campaign update <CAMPAIGN_ID> --daily-budget 60000
# 60000 = R$ 600,00 (em centavos)
6.4 — Formatos de saída
| Flag | Formato | Quando usar |
|---|---|---|
| (default) | Tabela ASCII | Leitura humana rápida |
-o json | JSON completo | Pipe pra jq ou parsing |
-o plain | Texto puro | Pipe pra grep |
--debug | + HTTP requests | Debug de erro |
6.5 — Quando o CLI NÃO basta — Graph API direto
Setup avançado precisa Python WSL no venv do meta-ads:
# No WSL (não PowerShell):
PYTHON=$HOME/.local/share/pipx/venvs/meta-ads-cli/bin/python
# Token sem expor secret:
$PYTHON -c "
from meta.config import get_access_token
TOKEN = get_access_token()
# usar TOKEN nas chamadas Graph API requests/SDK
"
Quando ir pra Graph API:
- Placements específicos (Stories-only, Feed-only)
is_adset_budget_sharing_enabled(declararfalseem ABO)promoted_objectcompleto (pixel + custom_event_type)url_tagsem AdCreative (NÃO editável depois)attribution_speccustomizado- Upload de imagem (
/adimages→image_hash)
Detalhes técnicos: ~/.claude/.../memory/reference_meta_ads_cli_vs_graphapi.md.
7Multi-conta — operar várias contas
7.1 — Estrutura
O CLI aceita --ad-account-id act_OUTRO_ID em qualquer comando. A stack mantém o mapeamento em dois lugares:
00_OS/clients-map.yaml— mapa globalact_id ↔ cliente05_WORKSPACE/clientes/<cliente>/act-mapping.yaml— todas as contas daquele cliente (alguns têm múltiplas)
7.2 — Conta unificada (multi-produto)
É comum o operador rodar vários produtos próprios numa mesma conta de anúncios. Convenção recomendada:
- <PRODUTO_A> — descrição
- <PRODUTO_B> — descrição
- <MARCA_PESSOAL> — topo de funil
- Outros produtos — adicionar conforme lançar
Filtragem por produto via naming convention das campanhas:
# Campanhas do produto A
meta ads campaign list --ad-account-id act_XXXXXXXXXXXXXXX `
--filter "name:CONTAINS=PRODUTO_A_" -o json
# Campanhas do produto B
meta ads campaign list --ad-account-id act_XXXXXXXXXXXXXXX `
--filter "name:CONTAINS=PRODUTO_B_" -o json
7.3 — Adicionar nova conta
Pra integrar uma conta nova (ex: cliente da agência):
- Atribuir conta ao System User no Business Manager (BM → Configurações → Usuários do Sistema → Atribuir Conta de Anúncios)
- Validar acesso:
& "<HOME>\bin\meta.cmd" ads adaccount get act_NOVO_ID -o json - Pedir pra criar context em sessão Claude Code (ver workflow "Adicionar conta nova")
7.4 — Multi-cliente — caso de agência
Cada cliente tem sua pasta. Cria conforme adiciona contas:
05_WORKSPACE/clientes/
├── <cliente-1>/ # sua marca / produto principal
├── <cliente-2>/ # cliente da agência
├── <cliente-3>/ # ...
└── <cliente-N>/ # um por act_id ou um por marca
Antes de qualquer análise, agente lê o CLAUDE.md do cliente alvo. Nunca misturar context entre clientes — cada um tem ICP, baseline, restrições próprias.
8Regras inegociáveis
status: "PAUSED". Validar no Gerenciador. Ativar só depois com confirmação. Sem exceção.
05_WORKSPACE/clientes/<cliente>/CLAUDE.md carregado, agente recusa executar análise. Não usar benchmark genérico quando há baseline próprio.
~/.claude/rules/vturb-embed.md. Sem isso, VSL fica recarregando infinito. (Aplica também a Panda Video, Vimeo, YouTube embeds.)
9Troubleshooting
| Sintoma | Causa provável | Solução |
|---|---|---|
meta: command not found |
Wrapper não no PATH OU WSL down | Rodar com path absoluto <HOME>\bin\meta.cmd OU wsl --shutdown e retry |
Invalid OAuth access token |
Token expirou no ~/.profile (WSL ou shell nativo) |
Gerar novo System User Token no seu Business Manager. Atualizar a variável de ambiente no .env local (NUNCA commitar) ou em ~/.profile. Rodar source ~/.profile ou abrir nova sessão |
(#100) Unsupported get request |
act_id errado OU sem permissão |
Validar contra act-mapping.yaml. Verificar Business Manager → conta atribuída ao System User |
| Empty response do CLI | Sem dados na janela (campanha pausada) | Reportar lacuna ao agente. Tentar janela maior (last_30d) |
| Claude responde genérico, não roda CLI | Agente "esqueceu" que tem que rodar o pipeline | Reforçar: "Roda os comandos CLI agora. Não invente. Execute o pipeline definido na task." |
| Claude tenta usar MCP (Pipeboard) | Memória feedback_meta_ads_cli_default.md não carregada |
Reforçar: "Meta Ads = SEMPRE CLI nativo via WSL. Nunca MCP." |
| Claude pausa/edita sem perguntar | Agente ignorou regra paused-first | Reforçar: "Antes de qualquer ação destrutiva, lista o que vai fazer e PEDE confirmação. Mesmo em auto mode." |
| Output em pt-BR sem acentos | Encoding quebrado (Windows curl inline) | Reforçar regra global. Se for output pra API externa: salvar em arquivo JSON via Write antes |
| Resposta truncada / agente confuso | Context overflow (sessão muito longa) | /clear e re-invoca com prompt-pai |
WSL warnings Chave desconhecida wsl2.autoMemoryReclaim |
Cosmético — chaves no .wslconfig mas WSL não reconhece |
Ignorar — não afeta funcionamento. Se quiser limpar, editar <HOME>\.wslconfig |
10Referências e arquivos relacionados
10.1 — Arquivos da stack
| Path | O que é |
|---|---|
11_TRAFFIC_STACK/README.md | Documentação da stack |
11_TRAFFIC_STACK/agents/*.md | 8 agentes especializados |
11_TRAFFIC_STACK/tasks/diagnosticar-campanha-meta-cli.md | Pipeline CLI → análise → relatório |
11_TRAFFIC_STACK/skills/direct-response-br/SKILL.md | DR brasileiro: Oxigênio, kill criteria, paused-first, Graph API quirks |
00_OS/clients-map.yaml | Mapa global act_id ↔ cliente |
10.2 — Cliente exemplo (template)
| Path | O que é |
|---|---|
05_WORKSPACE/clientes/<seu-cliente>/CLAUDE.md | Context operacional, regras, roteamento |
05_WORKSPACE/clientes/<seu-cliente>/act-mapping.yaml | act_id, pixel id, attribution, geo (NUNCA commitar valores reais — usar .env) |
05_WORKSPACE/clientes/<seu-cliente>/funil.md | Stack técnica: Ad → [Quiz/Bridge] → LP → VSL → Checkout |
05_WORKSPACE/clientes/<seu-cliente>/icp.md | Avatar(es) por produto |
05_WORKSPACE/clientes/<seu-cliente>/baseline-kpis.md | KPIs históricos vs alvos |
05_WORKSPACE/clientes/<seu-cliente>/_swipe/_creatives_validados.md | Criativos já validados + estrutura técnica |
10.3 — Memória do operador (auto)
Localização: <HOME>/.claude/projects/<PROJECT_DIR>/memory/
Claude Code mantém memória persistente por projeto automaticamente — feedbacks, decisões, padrões aprendidos. Nada precisa ser configurado manualmente.
10.4 — Skills compartilhadas do V30
| Path | O que cobre |
|---|---|
11_TRAFFIC_STACK/skills/direct-response-br/SKILL.md | DR brasileiro: Oxigênio, kill criteria, paused-first, Graph API quirks |
04_DIRETRIZES/ | Diretrizes acionáveis (carregadas sob demanda pelo CoS) |
10.5 — Regras globais recomendadas
Cada operador pode adicionar suas regras em ~/.claude/rules/ ou ~/.claude/CLAUDE.md. Sugestões pra quem opera DR pt-BR:
| Tópico | O que cobre |
|---|---|
voz-humana-pt-br.md | Como copy pt-BR deve soar (vocativos, marcadores coloquiais, frases banidas) |
vturb-embed.md | Anti-loop VSL VTurb / Panda / Vimeo (CSS, Elementor) |
CLAUDE.md raiz | Encoding pt-BR, contas pessoais, MCPs, hooks |
Cheat sheet — abrir e rodar (cole nos favoritos)
# 1. Abrir terminal (Windows: PowerShell / macOS-Linux: Terminal):
cd <PASTA_DO_KIT>/Kit-Piloto-Automatico-V30
claude
# 2. Cola este prompt-pai:
Aciona @traffic-orchestrator (11_TRAFFIC_STACK/agents/traffic-orchestrator.md).
Carrega context <SEU_CLIENTE> (05_WORKSPACE/clientes/<seu-cliente>/).
Lista comandos disponíveis e aguarda meu pedido.
Auto mode ON. Confirma antes de qualquer ação destrutiva. pt-BR.
# 3. Pede o que precisar:
*diagnostico 7d filtrando <PRODUTO>
*kill-list
*lateralizar <ID>
*queda
*plano-escala
*spy [concorrente]