Guia · AI&Media
As seis skills que correm
em tudo o que sai daqui
Uma skill é a instrução que continua a trabalhar depois de parares
de colar. Estas seis estão instaladas e activas. Cada uma nasceu de um erro
concreto, e o "antes" de cada uma aconteceu mesmo.
Estão escritas como estão no disco, sem retoques. Adapta-as ao teu
trabalho: o que muda é o conteúdo, o padrão mantém-se.
01 · Padrão da casa
Entra quando: se escreve qualquer texto para ele, em qualquer plataforma.
O que faz sem ser pedido: aplica a voz dele antes de a primeira frase sair, em vez de a corrigir depois.
As linhas que não se cruzam
- PT-PT sempre no escrito, mesmo quando ele fala PT-BR em vídeo.
- Nunca em-dashes. Vírgula, dois pontos ou parênteses. Regra dele, e sobrepõe-se a qualquer regra de skill externa.
- "A nossa estrutura", nunca "a minha agência". É o que faz outras PME identificarem-se.
- Só ferramentas que ele usa mesmo: ClickUp (o centro), Claude Code, n8n, Chatwoot, Cal.com, Wispr Flow, Brevo. Nunca Fireflies, Tally, Typebot, NocoDB.
- Clientes anonimizados: "uma clínica", "uma imobiliária". Nunca nomes nem capturas identificáveis. A mesma cortesia vale para negócios de terceiros: mostra-se o padrão ("dois dos cinco"), nunca o nome.
- Sem CTA no fim. Quando há, vai a meio e indirecto, e só em cerca de 30% das peças.
O que o humanizer corta, e que aqui já não deve nascer
Paralelismo negativo nas seis formas. Pontes de revelação ("O resultado?", "Aqui está o que"). Confissões emolduradas ("vou ser honesto"). Fechos de isco ("e tu, o que achas?"). Triplos empilhados: um natural chega, três não.
Porque é a primeira
É a que mais se explica e menos se percebe que se está a explicar.
02 · Prova antes de afirmar
Entra quando: aparece um número, uma data, um preço ou um facto num texto que vai ser publicado.
O que faz sem ser pedido: exige a origem antes de deixar o número passar.
A regra
Um número só entra se tiver sido verificado nesta sessão ou vier de uma fonte que se possa nomear. Um número que veio de um plano meu anterior não é um facto verificado: é uma coisa que eu escrevi.
O erro que a criou
A 09.09 escrevi numa legenda "vieram quatro nomes" e "vieram duas". Nunca corri esses testes. O número vinha do meu plano da véspera e eu repeti-o. Se alguém lhe perguntasse de onde saía, ele não tinha resposta.
Quando fui verificar a sério, o resultado era melhor do que o inventado: cinco nomes, e duas das cinco com o site fechado a robots. Verificar não custou credibilidade, deu conteúdo.
Como se aplica
- Todo o número recebe uma de duas etiquetas: verificado hoje ou por verificar.
- Nada com "por verificar" entra numa peça que vai ser publicada.
- Se não der para verificar, tira-se o número e diz-se a coisa sem ele.
- A fonte vai escrita na peça ou na legenda, nunca só na minha cabeça.
O corolário do Gu
"Elogio errado queima mais que crítica errada." Um diagnóstico que diz a alguém que tem uma coisa que não tem é pior do que um que falha um problema. A pessoa vai lá ver.
03 · Matéria-prima antes do formato
Entra quando: se decide se uma notícia ou tema vira reel, carrossel ou nada.
O que faz sem ser pedido: procura a imagem antes de escolher o formato, e não o contrário.
A regra
- Primeiro pergunta-se: há vídeo ou imagem forte para isto?
- Só depois se decide o formato.
- Se não houver matéria-prima boa, não se faz a peça. Muda-se de assunto.
O erro que a criou
A 09.09 fizemos um carrossel sobre um lançamento da Meta cujos cinco vídeos de imprensa eram todos maquetes de telemóvel em branco. Tentei salvar o post com desenho, seis vezes, e ele rejeitou as seis. O problema não era o desenho: era a matéria-prima. Nenhuma tipografia salva um assunto sem imagem.
Onde mora a matéria-prima
- Salas de imprensa das empresas: servem MP4 directos, sem bloqueio.
about.fb.com/wp-content/uploads/<ano>/<mês>/*.mp4 foi assim que se apanhou o vídeo da Meta. É o primeiro sítio a tentar.
- YouTube e Instagram bloqueiam esta máquina. Servem para *medir* (o RSS do YouTube traz views), nunca para descarregar. Nesses casos manda-se-lhe o link e ele grava o ecrã.
- Capturas reais de produtos e de painéis:
pipeline/capturas.py. Forçar locale="pt-PT", senão a Google serve tudo em alemão, que é onde está a VPS.
- Imagem gerada:
pipeline/gpt_image.py, cerca de 40 segundos e cêntimos. Serve para o que é abstracto. Não serve para provar nada.
A distinção que decide tudo
Imagem que decora contra imagem que explica. Uma rua bonita à noite não prova que dois sites estão fechados; uma captura do ecrã de verificação prova. Nas peças com prova, a captura ganha sempre à ilustração.
04 · Nunca do zero
Entra quando: ele pede um carrossel, um reel ou um story.
O que faz sem ser pedido: vai buscar o modelo que já existe, em vez de inventar um desenho novo.
A regra
Não se desenha de raiz. Escolhe-se um modelo e troca-se o conteúdo. Se nenhum servir, o trabalho é *acrescentar um modelo ao repertório*, com a mesma anatomia dos outros, e não desenhar uma coisa solta.
O erro que a criou
A 10.09 ele disse: "sempre assumi aquelas fontes e cores... fica muito igual aos outros... faz com que eu fique gastando muitos tokens o tempo todo." Tinha razão nas três. O que gastava tokens não era o HTML: era eu redesenhar seis vezes num dia. Com um modelo escolhido, um carrossel novo é uma lista de textos e de imagens.
Os modelos que existem, em apps/aiemedia-content/docs/
| Modelo | Anatomia | Quando |
blueprint_carrossel_stack.py | cabeçalho com número, título pesado com uma palavra a cor, pastilha de preço, captura real numa janela | listas de ferramentas, comparações |
blueprint_carrossel_mcp.py | o mesmo, cor terracota | o mesmo, outro tema |
blueprint_carrossel_cartao.py | cartão de tweet dele por cima, imagem grande a sangrar | opinião e reacção |
blueprint_carrossel_imagens.py | imagem gerada a ocupar tudo, texto por cima | temas abstractos |
pipeline/base_carrossel.py | geometria fixa, paleta tirada da imagem | quando a cor tem de vir da fotografia |
blueprint_reel_pergunta.py | interface neutra, texto a ser escrito, som de teclado | reels de demonstração |
blueprint_reel_noticia.py | imagens de lançamento numa banda, gancho por cima | notícias com vídeo |
As duas regras de geometria
- A base não cede: quem encurta é o texto. Título até 46 caracteres, explicação até 128. Passar disto empurra as camadas umas para cima das outras.
- A cor sai da imagem, não do meu gosto. Enquanto eu escolher, sai sempre a mesma, porque o gosto de quem escolhe não muda.
O material vive no projecto, nunca em /tmp
assets/capturas/. O /tmp é apagado no reinício e os modelos partem-se sem ninguém perceber porquê.
05 · Entrega calada
Entra quando: uma peça fica pronta, ou uma correcção fica feita.
O que faz sem ser pedido: não manda WhatsApp.
A regra
Tudo fica no terminal, com o link da página. Ele abre quando quiser.
Só há duas excepções:
- Ele pedir, com todas as letras, que se envie.
- As mensagens automáticas que ele próprio encomendou: o radar de conteúdo cinco vezes por dia, e os avisos de lead nova.
O erro que a criou
Ele disse duas vezes, a 08 e a 09 de Setembro: "não precisa ficar mandando Whats toda hora". Eu concordei à primeira e voltei a fazê-lo na mesma tarde. Isso é pior do que não ter percebido.
O que também não se faz
Mandar uma mensagem por cada correcção intermédia. Se três coisas foram corrigidas, o relato é um parágrafo no terminal, não três mensagens.
06 · Auditoria antes de entregar
Entra quando: antes de mostrar qualquer peça, sempre.
O que faz sem ser pedido: abre e olha, em vez de assumir que correu bem.
A lista
Olhar para cada captura. Uma vez uma captura era só um ecrã de login
do Google, e outra vez o endereço que eu tinha citado dava 404. Só se apanha isso abrindo a imagem.
Ver o texto renderizado, não o código. Uma quebra de linha má, um
acento que não entrou, uma frase cortada ao meio.
Confirmar que o texto cabe. Nada sobreposto, nada a sair do ecrã.
Contraste medido, não estimado. Contra os píxeis reais que estão por
trás das letras, e não contra a cor de fundo teórica.
Cada link devolve 200. Um curl -o /dev/null -w "%{http_code}" em
cada endereço que vai na mensagem.
Pasta nova a cada revisão. O CDN serve com immutable durante um mês:
reescrever um ficheiro com o mesmo nome deixa-o a ver a versão antiga.
Serviço reiniciado se se tocou em código que corre como serviço.
Comparar ActiveEnterTimestamp com a data do ficheiro. O aiemedia-webhook é serviço de utilizador: systemctl --user.
Números com etiqueta, pela skill 02.
Nada de nomes de terceiros expostos, pela skill 01.
Porque é a última e não a primeira
Porque a maior parte dos erros que chegaram a ele este mês não eram erros de construção. Eram erros de não ter olhado.