Criei uma habilidade do Claude que gerencia meus anúncios do Facebook — aqui está o código
Criei uma habilidade do Claude que lê minha conta Meta Ads via Graph API, identifica os de baixo desempenho, reescreve o copy na minha voz de marca e cria novos conjuntos de anúncios sem eu precisar tocar no Gerenciador de Anúncios. O projeto todo tem menos de 300 linhas de TypeScript. O retorno foi imediato: reduzi o tempo semanal de gestão de anúncios de ~3 horas para cerca de 20 minutos.
Toda quarta-feira. 28.400+ operadores. Zero enrolação.
✓ Verifique sua caixa de entrada — clique no link de confirmação para concluir o cadastro.
✓ Inscrição concluída!
✓ Você já está na lista.
Índice
Atualizado junho de 2026.
TL;DR: Criei uma habilidade do Claude que lê minha conta Meta Ads via Graph API, identifica os de baixo desempenho, reescreve o copy na minha voz de marca e cria novos conjuntos de anúncios sem eu precisar tocar no Gerenciador de Anúncios. O projeto todo tem menos de 300 linhas de TypeScript. O retorno foi imediato: reduzi o tempo semanal de gestão de anúncios de ~3 horas para cerca de 20 minutos.
[Leitura do operador] Gerencio anúncios para a Pickleland e para minha marca de consultoria. Duas contas, públicos diferentes, fadiga criativa constante. Eu passava os domingos à tarde no Gerenciador de Anúncios fazendo coisas que um modelo deveria fazer. Então automatizei.
Por que parei de gerenciar anúncios do Facebook manualmente
O trabalho real de gerenciar anúncios no Facebook se divide em três tarefas:
- Monitoramento — verificar quais conjuntos de anúncios estão queimando dinheiro vs. gerando
- Diagnóstico — descobrir por que algo está com baixo desempenho (fadiga criativa? segmentação ruim? página de destino?)
- Iteração — escrever novo copy, criar novos conjuntos de anúncios, ajustar orçamentos
A tarefa 1 é mecânica. A tarefa 3 é principalmente mecânica (com uma restrição de voz). A tarefa 2 requer julgamento — e é a única que se beneficia de ter um humano no ciclo.
Uma habilidade do Claude pode fazer o 1 e o 3. Eu reviso os resultados da tarefa 2 antes de qualquer coisa ser publicada. Essa é a arquitetura em que me decidi.
A configuração da Meta Graph API (esta é a parte chata)
Antes de qualquer código: você precisa de uma conta Meta Business, um Usuário do Sistema e um token de acesso permanente. O portal de desenvolvedores do Facebook é hostil, mas o caminho é:
- Criar um Meta App em developers.facebook.com (tipo: Business)
- Adicionar o produto Marketing API
- No seu Portfólio de Negócios → Configurações → Usuários → Usuários do Sistema, criar um usuário do sistema e dar a ele o papel
ADVERTISERna sua conta de anúncios - Gerar um token com essas permissões:
ads_read,ads_management,business_management
Armazene o token como META_ACCESS_TOKEN e o ID da sua conta de anúncios (formato: act_XXXXXXXX) como META_AD_ACCOUNT_ID no seu .env.
A estrutura de arquivos da habilidade
.claude/skills/fb-ads/
SKILL.md ← instruções que o Claude lê
index.ts ← a implementação real da ferramenta
types.ts ← tipos compartilhadosO SKILL.md é o que diz ao Claude quando e como usar a habilidade. O meu diz:
# Facebook Ads Manager Skill
Use this skill when the user says "check my ads", "run ads report",
"pause underperformers", or "write new ad copy". Never run this
without explicit user instruction — it touches live ad spend.
## What it can do
- Pull performance data for all active ad sets (last 7 or 30 days)
- Flag ad sets with ROAS < 1.5 or CTR < 0.8% as underperformers
- Rewrite ad copy for flagged creatives in Ale's voice
- Create new ad sets with revised copy (PAUSED by default — you approve before activating)
## What it will NOT do
- Change budgets on live ad sets without explicit confirmation
- Activate new ad sets automatically
- Delete anythingA restrição de “nunca ativar automaticamente” é inegociável. Esta habilidade cria coisas no estado PAUSADO. Eu reviso e ativo manualmente. Qualquer coisa que toque nos gastos com anúncios ao vivo precisa de um ponto de controle humano.
O código TypeScript principal
(Blocos de código permanecem em inglês — apenas o texto ao redor é traduzido.)
Como uso no dia a dia
A habilidade é invocada do Claude Code (minha ferramenta diária). Uma sessão típica de segunda-feira de manhã:
> check my ads from the last 7 daysO Claude executa runAdsReport(7), formata os resultados como uma tabela, sinaliza os de baixo desempenho e pergunta se quero reescritas. Digo que sim. Ele gera novo copy, me mostra as duas versões lado a lado e cria conjuntos de anúncios PAUSADOS com o novo criativo. Eu os reviso no Gerenciador de Anúncios, ativo os que gosto e arquivos os perdedores.
Tempo total: 20 minutos. Zero domingos à tarde no Gerenciador de Anúncios.
O que isso não substitui
A habilidade não pode me dizer se um problema de ajuste produto-mercado está se disfarçando de problema de copy. Se o ROAS está ruim em geral, é um problema de funil ou oferta, não de título. O Claude fielmente reescreverá o copy em um funil quebrado — e as reescritas não vão salvá-lo.
A etapa de diagnóstico ainda é minha. Leio o relatório, olho os dados do funil e decido se estamos iterando o criativo ou resolvendo algo mais acima. O agente é rápido em tudo exceto nesse julgamento.
A conclusão do operador
Se você está gerenciando anúncios manualmente e tocando no Gerenciador de Anúncios mais de duas vezes por semana, você está fazendo operações que um script deveria fazer. A Graph API é bem documentada e o fluxo de permissões da Meta, embora chato, é uma configuração única. Construa a habilidade em uma tarde. O retorno em tempo recuperado aparece na primeira semana.
Toda quarta-feira. 28.400+ operadores. Zero enrolação.
✓ Verifique sua caixa de entrada — clique no link de confirmação para concluir o cadastro.
✓ Inscrição concluída!
✓ Você já está na lista.
Receba o manual de IA na sua caixa de entrada
Toda quarta-feira. 28.400+ operadores. Zero enrolação.
Verifique sua caixa de entrada.
Enviamos um e-mail de confirmação — clique no link para concluir sua inscrição. Verifique o spam se não o vir em um minuto.
Você está inscrito.
Bem-vindo — a próxima edição chega em breve à sua caixa de entrada.
Você já está na lista — fique de olho toda quarta-feira.