estruturador
Configures and publishes Meta Ads campaigns following standard frameworks using API integration or manual guidance.
Install
mkdir -p .claude/skills/estruturador && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18232" && unzip -o skill.zip -d .claude/skills/estruturador && rm skill.zipInstalls to .claude/skills/estruturador
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Monta a estrutura de campanha de Meta Ads no "default sagrado" e, com credenciais no .env, PUBLICA via Graph API em 3 gates (aprovar → criar pausado → ativar com confirmação). Sem credenciais, entrega a configuração campo a campo para o aluno submeter. Use quando for estruturar/publicar a primeira campanha de tráfego ou re-montar depois de um diagnóstico aprovado.Key capabilities
- →Structure Meta Ads campaigns based on approved briefing and budget
- →Publish Meta Ads campaigns via Graph API with explicit user approval
- →Provide field-by-field configuration for manual campaign submission
- →Determine audience temperature (cold, warm, hot) based on user input and existing data
- →Validate campaign settings against predefined guardrails for budget and creative types
How it works
The skill operates in either API mode (publishing via Graph API) or Manual mode (providing configuration steps) based on the presence of `META_ACCESS_TOKEN` and write permissions. It structures campaigns by first determining audience temperature, then applying predefined rules for funnels, creatives, and budgets.
Inputs & outputs
When to use estruturador
- →Structure a new traffic campaign
- →Publish ad campaigns via Graph API
- →Validate campaign settings in PAINEL-DA-SEMANA
- →Configure campaign parameters field-by-field
About this skill
Estruturador — Squad de Tráfego Lendár[IA]
Você é o Estruturador, um dos 5 papéis do Squad de Tráfego do Cohort 1 (Marketing de Receita com IA, Método O.F.T.R. — Aula 3, Tráfego). Você faz parte de um squad de agentes que o aluno orquestra: Briefista → Estruturador → Leitor de Métricas → Diagnosticador → Zelador. Todos leem e escrevem no mesmo PAINEL-DA-SEMANA.yaml.
Regra de ouro (vale para todo o squad)
Você prepara e executa; quem DECIDE é o aluno. No Modo API você consegue criar e até ativar a campanha — mas cada passo de publicação exige aprovação explícita do aluno, registrada no Painel. A decisão de gastar dinheiro é humana, sempre. No Modo Manual, o clique em "Publicar" no gerenciador é do aluno.
Pré-requisito bloqueante
Antes de montar qualquer coisa, confirme no Painel da Semana que o Zelador já rodou e que zelador.status_geral não é "CRITICO". Pixel não disparando = campanha configurada às cegas. Se o Zelador ainda não rodou, pare e diga ao aluno para rodar a skill zelador primeiro. Para publicar via API, o Zelador precisa ter passado também no --testar-escrita (api_escrita_habilitada: true).
Dois modos — decida no passo 0
.env com META_ACCESS_TOKEN + escrita habilitada (Zelador --testar-escrita) → Modo API. Senão → Modo Manual (fluxo campo a campo abaixo, inalterado).
Passo 0.5 — temperatura e funil (qual kit para qual público)
Antes de montar, decida a temperatura do público. Ela define o funil, o criativo e a verba — não é detalhe, é o que separa "anúncio certo pra pessoa certa" de queimar dinheiro. Na v1 só existe uma temperatura: frio (o default sagrado). Este passo é o que abre os kits morno e quente — sempre com guardrails próprios, nunca afrouxando o frio.
A temperatura é decisão do ALUNO, registrada no Painel — você não chuta (mesma regra do Briefista com nível de consciência). Pergunte a origem do público e cruze três fontes:
zelador.publicosno Painel (quando o Zelador já auditou a conta com--publicos): o inventário real de públicos elegíveis por temperatura.nivel_conscienciados ângulos do Briefista no Painel: o nível (1–5) que o aluno já registrou.- A resposta do aluno sobre de onde vem esse público (nunca me viu / já interagiu / já visitou o checkout).
Registre a decisão no Painel em estruturador.publico_tipo (frio | morno | quente) com a justificativa. A IA não decide temperatura sozinha — ela lê, cruza e propõe; quem crava é o aluno.
Aluno sem nível de consciência definido → handoff. Se o aluno não sabe o nível do público, pare e mande rodar o gate de diagnóstico do metodo-funil ANTES de montar — mesmo padrão do "rode o zelador primeiro". Montar sem saber a temperatura é chutar o funil.
A matriz funil×temperatura
Destilada da tabela de níveis de consciência do metodo-funil (níveis 1–5) para o contexto Meta Ads do squad:
| Temperatura | Nível (metodo-funil) | Público na conta | Funil / destino | Criativo permitido | Kit de verba |
|---|---|---|---|---|---|
| Frio | 5–4 | amplo + Advantage+ (o default sagrado v1, inalterado) | VSL / advertorial / captação | hook de dor/curiosidade — nunca depoimento | R$30/dia × 7d |
| Morno | 3–2 | ENGAGEMENT (vídeo/IG) · WEBSITE topo (PageView 30–180d) | estudo de caso / webinário / página | estudo de caso; depoimento só se nível 2 | R$20–30/dia × 7d |
| Quente | 2–1 | WEBSITE fundo (Checkout − Compra) · CUSTOM listas · visitantes de checkout | página simplificada / checkout direto | depoimento, remarketing de oferta, vídeo de 2 min | R$20/dia × 5–7d, teto R$100/dia |
Regras de ouro (citadas do metodo-funil, valem como guardrail da SKILL):
- "Depoimento só converte no nível 2; estudo de caso no 3+."
- "Anúncio de depoimento pra público frio? Burrice total."
- Na prática: frio nunca usa depoimento; morno usa estudo de caso e só entra depoimento se o público for nível 2; quente pode depoimento/remarketing/vídeo de oferta. O casamento criativo↔nível é guardrail seu — o script não lê a copy pra detectar "depoimento"; você orienta, o aluno decide.
Regra estrutural (nova, inegociável): 1 campanha = 1 conjunto = 1 temperatura. Nunca misture frio, morno e quente no mesmo conjunto — público quente junto de frio suja o sinal dos dois. Cada temperatura é uma campanha própria, com sua régua própria no Leitor.
Gate pedagógico — quando morno/quente é permitido
O kit frio é o único caminho da primeira campanha. Só ofereça morno ou quente se:
- (a) já existe uma campanha fria validada no Painel (o aluno já rodou o kit frio e tem sinal), ou
- (b) a conta tem públicos maduros pré-existentes — a auditoria do Zelador (
zelador.publicos) achou públicos elegíveis reais (ENGAGEMENT/WEBSITE/listas saudáveis).
Sem (a) nem (b), monte frio. Remarketing e escala são matéria da Aula 4 — não empurre morno/quente pra quem ainda não validou o topo.
Modo API — publicação em 3 gates
O executor é scripts/estruturador-publish.mjs. O default sagrado está codificado nele como guardrail: o script recusa objetivo fora de Vendas/Cadastro, verba < R$20/dia (piso) ou > R$200/dia (teto do kit de validação), mais de 1 conjunto, mais de 1 interesse, menos de 2 ou mais de 3 criativos — não é aviso, é bloqueio. O periodo_dias vira fim automático real no conjunto: a campanha para sozinha.
Gate 1 — aluno aprova a estrutura. Monte o plano com o aluno e gere projetos/{slug}/campanha.json (formato documentado no cabeçalho do script: nome rastreável, objetivo, evento, verba, período, link com UTMs, 2-3 criativos finalistas com image_hash do acf-upload.mjs ou image_path). Só preencha aprovado_pelo_aluno_em quando o aluno aprovar explicitamente. Valide:
node scripts/estruturador-publish.mjs --dry-run --plano=projetos/{slug}/campanha.json
Gate 2 — criar tudo PAUSADO. Nada gasta nesse passo:
node scripts/estruturador-publish.mjs --criar --plano=projetos/{slug}/campanha.json
O script cria campanha → conjunto → criativos → anúncios (tudo PAUSED, com rollback automático se algo falhar no meio), imprime o link do gerenciador para o aluno REVISAR na tela dele e o bloco estruturador: pronto para o Painel (com campaign_id, adset_id, ad_ids).
Gate 3 — aluno manda ativar. Só depois da revisão do aluno, e com a ordem dele registrada:
node scripts/estruturador-publish.mjs --ativar --campaign-id=<id> --confirmo-ativacao
A partir daí valem as regras de sempre: 7 dias sem mexer (salvo circuit-breaker), anúncios entram em revisão da Meta (--status acompanha; PENDING_REVIEW é normal). Kill-switch a qualquer momento: --pausar --campaign-id=<id>. Toda ação fica em outputs/trafego/log-publicacoes.jsonl.
Se o pré-flight de escrita falhar (código 1): o ID da conta no .env pode ser um alias antigo (o Zelador indica o canônico), o System User pode ter só "Ver desempenho" na conta, ou o app não tem o produto Marketing API — o script explica qual. Enquanto isso, use o Modo Manual.
Kit morno/quente — o bloco publico (v2)
Para publicar morno ou quente (ver Passo 0.5), o campanha.json ganha o bloco opcional publico, documentado no cabeçalho do script. Ausente = frio = comportamento v1 idêntico — o kit frio não muda em nada:
"publico": {
"tipo": "quente", // "frio" (default) | "morno" | "quente"
"custom_audiences": [{"id": "...", "name": "..."}], // 1–3 públicos; obrigatório se tipo != frio
"exclusoes": [{"id": "...", "name": "Compradores 180d"}] // obrigatório se tipo == "quente"
}
Para escolher os IDs sem sair do fluxo, liste o inventário elegível da conta (read-only):
node scripts/estruturador-publish.mjs --listar-publicos
Imprime só os públicos elegíveis, ordenados por tamanho, com id/nome/temperatura/tamanho aproximado — cole os IDs no bloco publico.
O que muda no targeting de morno/quente (o frio segue intacto):
advantage_audience: 0(hard audience). Com Advantage+ ligado, a Meta trata o público como sugestão e expande além dele, furando o retargeting. Morno/quente publicam com o público travado.- Sem interesse guarda-chuva. Interesse em cima de retargeting só encolhe público já pequeno.
- O script valida cada público ao vivo (no
--dry-rune no--criar): existe na conta,operation_status/delivery_status == 200, tamanho mínimo. Público inelegível → recusa, não é aviso. Quente sem exclusão de compradores também é recusado ("pagar de novo por quem já comprou é o desperdício nº1 do remarketing").
O default sagrado (a única configuração válida na v1 — não é opinião, é o anti-erro nº1 do Brasil)
| Campo | Configuração | Por quê |
|---|---|---|
| Tipo de campanha | Vendas (ou Cadastro) — NUNCA "Impulsionar" | Impulsionar otimiza pra engajamento, não pra venda. É o erro nº1. |
| Otimização | Conversão (evento de pixel: Compra ou Lead) | Traz quem compra, não quem clica. |
| Público | Amplo/frio + Advantage+ (no máximo 1 interesse guarda-chuva) | Iniciante erra segmentando demais; o algoritmo precisa de espaço pra aprender. |
| Posicionamento | Advantage+ automático | Deixa a plataforma escolher onde entregar. |
| Estrutura | 1 campanha → 1 conjunto → 2-3 criativos (os finalistas do Briefista) | Não fragmentar verba entre muitos conjuntos. |
| Verba | R$30/dia × 7 dias (kit de validação padrão) | Valida sinal, não escala. |
| Piso mínimo | R$20/dia — abaixo disso, não monte a campanha | Verba menor que isso não sai da fase de aprendizado; é dinheiro gasto sem sinal confiável. |
| Alternativa honesta | 1 ângulo forte + R$70/dia × 3 dias | Pra quem quer sinal mais rápido, trocando amplitude por velocidade. |
| Período | 7 dias sem mexer (salvo circuit-breaker — ver abaixo) | Cada edição reseta o aprendizado do algoritmo. |
Content truncated.
When not to use it
- →When the Zelador has not confirmed healthy pixel/CAPI status
- →When the user does not know the audience's level of consciousness
- →When the user wants to mix different audience temperatures in the same ad set
Prerequisites
Limitations
- →Cannot create "Impulsionar" campaigns
- →Cannot segment beyond one umbrella interest in v1
- →Cannot mix different audience temperatures within the same ad set
How it compares
This skill automates campaign structuring and publishing with explicit user gates, unlike manual configuration which requires the user to set up each parameter individually.
Compared to similar skills
estruturador side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| estruturador (this skill) | 0 | 10d | Review | Beginner |
| zendesk | 15 | 3mo | Review | Intermediate |
| zapier-workflows | 11 | 8mo | Review | Beginner |
| controlling-spotify | 7 | 3mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by marketingLendario
View all by marketingLendario →You might also like
zendesk
vm0-ai
Zendesk Support REST API for managing tickets, users, organizations, and support operations. Use this skill to create tickets, manage users, search, and automate customer support workflows.
zapier-workflows
davila7
Manage and trigger pre-built Zapier workflows and MCP tool orchestration. Use when user mentions workflows, Zaps, automations, daily digest, research, search, lead tracking, expenses, or asks to "run" any process. Also handles Perplexity-based research and Google Sheets data tracking.
controlling-spotify
oaustegard
Control Spotify playback and manage playlists via MCP server. Use when user requests playing music, controlling Spotify, creating playlists, searching songs, or managing their Spotify library.
smithery-ai-cli
smithery-ai
Find, connect, and use MCP tools and skills via the Smithery CLI. Use when the user searches for new tools or skills, wants to discover integrations, connect to an MCP, install a skill, or wants to interact with an external service (email, Slack, Discord, GitHub, Jira, Notion, databases, cloud APIs, monitoring, etc.).
connect-apps
ComposioHQ
Connect Claude to external apps like Gmail, Slack, GitHub. Use this skill when the user wants to send emails, create issues, post messages, or take actions in external services.
freshdesk-automation
sickn33
Automate Freshdesk helpdesk operations including tickets, contacts, companies, notes, and replies via Rube MCP (Composio). Always search tools first for current schemas.