PTENES
4 skills · Claude Code · Portuguese

AI video ads, without blindly spending credits

The prompt isn’t the work. The work is choosing the angle, locking in the identity, directing the plan, and auditing before publishing. Four skills do this, one decision each, and pass the result on in writing to the next one.

Illustration of the Anúncios Top com IA project
What it is

A system of four decisions, not a prompt generator

You bring an idea (or a competitor's link) and leave with a 30- to 90-second AI-generated ad, assembled and mastered for Meta. Each step produces a document the next step reads. That's why the system stays useful when the latest model changes.

🕵️ Angle before prompt

Scopes out Meta’s Ad Library and returns exact hooks, measured pacing, and the persuasive skeleton of ads that are already being paid for. Copy the structure, never the lie.

🎬 Direct, don't just ask

Five questions, ten scripts with different mechanisms, and for the one you choose, a dossier with the images to create first, what to upload, and a prompt ready to paste. Twenty-one video modes, five identity paths.

🔍 Audit before spending

The video is ready. Keep it, edit it locally, extend it, save it for the edit, or regenerate it? One decision, with a reason and exact time range. This is where you stop wasting money.

How it works

Each skill owns just one decision

There isn’t one skill that decides everything: there are four, and each leaves the next one a document with what’s already been decided. The production skill doesn’t reinvent the strategy; the editing skill doesn’t redirect the plan.

/espiona-ads→ /video-ia→ you generate (Agnes, Seedance, Dreamina…)→ /auditor-video-ia→ /anuncio-edita→ Meta
Where it comes fromWho decidesWhat it leaves for the next one
An account that already runs ads/espiona-adsThe playbook: exact hooks, measured pacing, and the structure that holds up
One of your ideas, or this playbook/video-iaTen scripts to choose from; for each one you choose, a dossier with the images to create, what to upload, and prompts ready to use
The video that’s already been generated/auditor-video-iaOne decision: keep, edit, extend, save for assembly, or regenerate
The approved modules/anuncio-editaThe master at 1080×1920 and the SRT, ready to upload

Two are always used: the one that finds the idea and the one that produces. The other two are optional and help save money once you’re already generating. None of the four costs a cent on its own: the generate button is yours.

Four glass panels in a row, each passing light to the next
Illustration: each stage gives the next one a document with what’s already been decided.
Prerequisites

Claude Code, ffmpeg, and two keys

Agnes is the default image and video provider, at no cost. Seedance, Dreamina, and similar tools work by pasting the prompt into their websites: nothing is configured here.

Claude Code

Where the skills run. Any installation with a user skills folder.

# check the skills folder
ls ~/.claude/skills/

ffmpeg + ffprobe

For ad research (cuts, frames) and assembly (seams, captions, master).

ffmpeg -version
ffmpeg -filters | grep -E 'subtitles|ass'  # libass?

Keys

Groq for transcription; Agnes for zero-cost generation. Read at runtime, never copied.

export GROQ_API_KEY="sua-chave"
export AGNES_API_KEY="sua-chave"
User guide · step by step

From zero to your first ad

The commands below are the ones the skills actually use. What changes is your brand and your idea.

1

Install the four skills

Download the zip, extract it, and copy the folders. If Claude Code asks five questions when you call /video-ia, is installed.

unzip anuncios-top-skills.zip
cp -R skills/* ~/.claude/skills/   # espiona-ads, video-ia, auditor-video-ia, anuncio-edita
2

Fill out the brand profile (once, fifteen minutes)

The skill won't ask about anything that's on the brief. What's being sold, to whom (one person, not a segment), the offer in its exact wording, the proof you can show, the tone, the prohibitions, the accent color.

mkdir -p anuncios/marcas
cp ~/.claude/skills/video-ia/marcas/_modelo.md anuncios/marcas/minha-marca.md
# filled-in example to calibrate the level of detail:
#   ~/.claude/skills/video-ia/marcas/_exemplo-oficina-do-bairro.md
3

Scope out a competitor (optional, but that’s where the angle comes from)

Paste the Meta Ads Library URL. The skill extracts active ads, ranks them by days in circulation and live variations, transcribes them, measures the pacing, and returns the playbook with a bank of verbatim hooks.

/espiona-ads https://www.facebook.com/ads/library/?...&view_all_page_id=...
# output: anuncios/referencias-criativas/espionagem-<marca>-<data>.md
4

Direct the video: five questions, ten scripts, one dossier

Answer what you can; the skill suggests the rest. It stops after the menu and asks which ones to develop. Only then does it get technical: duration, who appears, platform. It never writes a prompt without a menu.

/video-ia quero um anúncio de 30 s pro meu curso de automação pra oficinas
# → 5 questions → menu of 10 → "which ones should I develop?" → dossier per video in
#   anuncios/roteiros/<data>-<conceito>.md  (4 blocks: images, script, uploads, prompts)
5

Generate on your platform

In Agnes (default, zero cost): identity images, keyframes A and B for each clip, video by interpolation, voice via inemavox. For the others: paste the prompt into the provider’s website. The dossier specifies the upload order, and that order is the binding.

# Agnes: images (text2img / img2img, max. 2 refs, prompt in English)
python3 ~/projetos/imagens-agnes/gerar.py "<prompt>" -o kf-01a.png --ratio 9:16
python3 ~/projetos/imagens-agnes/gerar.py "<prompt>" -o kf-01b.png --ratio 9:16 --ref kf-01a.png
# video: POST /v1/videos, mode keyframes, num_frames 8n+1 (≤481 at 720p), ≤5 req/min
6

Audit before generating again

Prompt preflight (mechanical checker + gates) and MP4 postflight. Returns a single decision with a reason and time range: keep, edit locally, extend, save it for the edit, or regenerate.

python3 ~/.claude/skills/auditor-video-ia/scripts/checa-prompt.py prompt.txt --interface agnes
/auditor-video-ia anuncios/criativos/oficina/clipe-01.mp4
# DECISION: EDIT LOCALLY · Why: … · Action: … · Don't touch: …
7

Assemble, caption, and master

Minimal intervention: seams, voice track, understated captions in the brand color (never over the face), closing title over live footage, master at 1080×1920 with platform loudness.

/anuncio-edita anuncios/criativos/oficina/   # N modules → master + SRT
# under the hood:
python3 ~/.claude/skills/anuncio-edita/scripts/captions.py --transcript edicao/transcript.json --out edicao/captions.json --mode pages
python3 ~/.claude/skills/anuncio-edita/scripts/master-audio.py --in peca.mp4 --out master.mp4 -I -14 -tp -1.0
8

Record and change a variable

Decision, cost, attempt, variable changed, result. Without that, you don't learn; you repeat. The fourth ad works better than the first because each asset left a record.

# one line per asset in
~/.claude/skills/auditor-video-ia/assets/registro-experimentos.csv
The skills

What each one knows

Everything in markdown, readable, inside each folder. The platform adapters are dated: when a number doesn't match what you see on screen, correct the adapter and continue.

🕵️ /espiona-ads

Browser extraction (Meta blocks curl), ranking by honest proxies (the Library doesn’t publish spend or CTR), processing with ffmpeg and Whisper, frame analysis with subagents, AI verdict with evidence, and the required section: what can be transplanted, what needs care, and what cannot.

🎬 /video-ia

Two-part interview, menu of ten with seven rules, catalog of 21 modes, cold open with a seven-question test, pacing and word budget for each track, four texture blocks, five identity paths, presenter profile, three identity references, what gets baked into the image, Agnes, Seedance 2.5, and Dreamina adapters.

🔍 /auditor-video-ia

Interface-based preflight, technical postflight (ffprobe, visual sampling, identity, hands, mouth, product, text, and continuity gates) and commercial postflight (watch on mute and on a phone), symptom → cause → fix table, hierarchy of five decisions, transparency and consent, mechanical prompt checker.

✂️ /anuncio-edita

Ingest and diagnosis, assembly with hard cuts and crossfades only on the ambient track, three voice-track cases, pill-shaped captions with subtle karaoke (via libass or PNG overlay), closing title, EBU R128 master, menu of optional interventions with editor’s criteria.

Video frame grid with one frame lit in amber
Illustration of the audit stage: one frame is kept; the rest is decided. Real demonstrations from the anchor project (menu of ten, dossier, clips, and master) go here as the course is produced.

An output dossier, always with four sections

# O estagiário invisível · 30 s · Agnes

## 1 · Imagens que você precisa criar antes de gerar
kf-01a / kf-01b: notebook alone in a dark office…
## 2 · Roteiro pra ler em voz alta
“I've been waiting four hours for you to decide.” (9 words)
## 3 · O que subir e em que ordem
1st @Image1 kf-01a · 2nd @Image2 kf-01b
## 4 · Prompts pra copiar e colar
[MOTION] the camera pushes in slowly while the screen fills…
Roadmap

From installed skills to a complete course

The course plan is in the repo (PLANO-CURSO.md): seven modules, one ad spanning all of them, INEMA v2 format.

Done
The 4 skills in Portuguese, with Agnes adapterComplete translation and adaptation, a prompt-checking script, portable assembly scripts, a download zip, tested installation.
Done
Course plan and documentationSeven modules with an objective, content, exercise, and deliverable; a complete README; this guide.
Next
Examples from the anchor projectBrand profile, menu of ten, dossier, three identity references, clips in Agnes (one good and one with an auditable failure), final master.
Next
The HTML course (INEMA v2 format)Seven short video lesson modules + exercises, published on the INEMA.CLUB portal.
Next
Queue and Agnes pipeline in the package itselfToday, keyframe video uses the videoanima pipeline; the goal is a custom script inside video-ia.