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.

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.
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.
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.
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.
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.
| Where it comes from | Who decides | What it leaves for the next one |
|---|---|---|
| An account that already runs ads | /espiona-ads | The playbook: exact hooks, measured pacing, and the structure that holds up |
| One of your ideas, or this playbook | /video-ia | Ten 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-ia | One decision: keep, edit, extend, save for assembly, or regenerate |
| The approved modules | /anuncio-edita | The 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.

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.
Where the skills run. Any installation with a user skills folder.
# check the skills folder ls ~/.claude/skills/
For ad research (cuts, frames) and assembly (seams, captions, master).
ffmpeg -version ffmpeg -filters | grep -E 'subtitles|ass' # libass?
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"
The commands below are the ones the skills actually use. What changes is your brand and your idea.
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
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
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
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)
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
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: …
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
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
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.
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.
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.
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.
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.

# 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…
The course plan is in the repo (PLANO-CURSO.md): seven modules, one ad spanning all of them, INEMA v2 format.