PTENES
MODULE 3.2

⚙️ Your Hook Machine

Turn the prompts into a reusable system: a skill that generates hooks, images, and a bank—and the cycle of publishing and measuring.

6
Topics
~30
Minutes
Advanced
Level
System
Type
1

From one-off prompt to system (your Hook Machine)

A standalone prompt solves one video. A skill (reusable system) handles the next 100: you provide the niche, and it returns hooks + layers + image prompts, always in the same format.

Nicheopening Generatehooks + layers ImagesVisual Hook Banktagged Publish+ measure

🆕 New here? What is a “skill”

In Claude Code (and similar tools), a skill is a folder with a SKILL.md file that describes WHEN to use it and WHAT to do. You invoke it with a command, and it runs the entire process—as if you had an on-call scriptwriter with their method built in.

🧠 What your Hook Machine delivers

null

  • •Receives: a niche/topic and the language.
  • •Generates: 20-33 hooks using the formula, grouped by pattern.
  • •Complete: all 3 layers of each hook.
  • •Produces: the image prompt for each Visual Hook.
  • •Filter: score with the rubric and cut the weak ones.
Standalone promptSkill / system
Solve 1 videoSolve the next 100
You paste everything back in every timeOne command triggers the method
Results vary each timeAlways use a consistent pattern
2

Anatomy of a SKILL.md

A skill is simple: a header that says WHEN to activate and a body that says HOW to act. Let’s look at the parts before you paste yours in.

name + description WHEN to activate (the triggers) body (instructions) WHAT to do (the method) you say "generate hooks for X" → the complete package, in your method

🧠 The parts of a SKILL.md

null

  • •name: the skill's short name (e.g., hook-machine).
  • •description: when to use it — the triggers ("create hooks," "generate viral hooks").
  • •Body (instructions): the step-by-step process the AI follows — role, formula, output format, rubric.

💡 Rule for a good description

A description is what makes a skill "light up" at the right time. List real triggers you would say: "generate hooks for…", "viral hooks about…", "Reels ideas about…".

Quick check (optional, doesn't block progress)

What makes a skill "light up" at just the right moment?

3

SKILL.md ready to paste

This is your Hook Machine. Create the folder hook-machine/ and inside it, the file SKILL.md with the content below. It works in Claude Code; the body also works as a "system prompt" in any chat.

🎯 Objective: Create a reusable skill that generates the complete hook package for any niche.
---
name: hook-machine
description: Use quando o usuário pedir para criar hooks/ganchos virais para vídeo curto (TikTok, Reels, Shorts) — "gera hooks de...", "ganchos virais sobre...", "ideias de abertura para Reels de...". Gera hooks na fórmula Context Lean → Scroll Stop → Contrarian Snapback, com as 3 camadas e prompt de imagem.
---

# Hook Machine

Você é roteirista de vídeo curto especialista em hooks virais.

## Quando o usuário der um NICHO/ASSUNTO e (opcional) idioma:

1. Gere 20 hooks (ou a quantidade pedida) na fórmula:
   - Context Lean: começa no pico, zero contexto inútil.
   - Scroll Stop: a cena/afirmação que trava o dedo nos 3s.
   - Contrarian Snapback: contraria uma crença comum do nicho.
2. Distribua entre os 5 padrões: medo, contrarian, número, prova pessoal, curiosidade.
3. Para cada hook entregue as 3 CAMADAS:
   - Frase falada (máx 12 palavras)
   - Visual Hook (cena concreta, legível no mudo)
   - Text Hook (2-3 palavras)
4. Pontue cada hook com a rubrica (0/1): específico, lacuna, contrarian, visual, curto. Mostre só os com nota >= 4.
5. Para os aprovados, gere o PROMPT DE IMAGEM (inglês, cinematográfico, terminando em "no text, no watermark").

## Regras
- Específico vence genérico (números, valores, prazos).
- PROIBIDO clichê, abertura genérica, promessa vaga.
- Saída final em tabela: # | Frase falada | Visual Hook | Text Hook | Padrão | Nota | Prompt de imagem.

## Idioma
Responda no idioma pedido (default: português do Brasil).
✅ How to check: In Claude Code: save it as hook-machine/SKILL.md and ask "generate hooks for ". In another chat: paste the body as the first message and send the niche. You should get the table with ratings and an image prompt.
4

Batch pipeline: from niche to finished package

With the skill in place, you can run it in batches—multiple niches, multiple hooks, images included. Here's the reproducible step-by-step.

🧠 The pipeline, step by step

null

  • •1. Generate: run the Hook Machine for your niche → table of approved hooks.
  • •2. Images: take the "image prompt" column and generate each one in flux/Midjourney.
  • •3. Assemble: combine the spoken line + visual + text + image into a card (like the ones in Track 2).
  • •4. Schedule: distribute the hooks across videos throughout the week.
🎯 Objective: Generate all the images in a batch from a prompt spreadsheet (Node + local server).
// salve como gen.js — lê prompts.json [{n, prompt}] e salva PNGs
const http=require('http'),fs=require('fs');
const items=JSON.parse(fs.readFileSync('prompts.json','utf8'));
(async()=>{ for(const it of items){
  const payload=JSON.stringify({model:'flux2-klein',prompt:it.prompt,width:1024,height:576,steps:4,guidance_scale:1.0,seed:it.n});
  const png=await new Promise((ok,no)=>{const r=http.request({host:'localhost',port:8000,path:'/generate',method:'POST',headers:{'Content-Type':'application/json','Content-Length':Buffer.byteLength(payload)}},res=>{let b='';res.on('data',c=>b+=c);res.on('end',()=>ok(Buffer.from(JSON.parse(b).image,'base64')))});r.on('error',no);r.write(payload);r.end();});
  fs.writeFileSync('hook-'+it.n+'.png',png); console.log('ok',it.n);
}})();
✅ How to check: Have inemaimg running on localhost:8000. Run "node gen.js": it should create hook-1.png, hook-2.png… Count the files == number of prompts.
▸ Going deeper: this course was made this way

The 165 images in Track 2 came from a script almost identical to this one: it read a JSON file with the 165 Visual Hooks, generated each PNG with inemaimg (flux2-klein, 4 steps), and compressed them to WebP (~23 KB each). The same pipeline generates your package.

5

Hook bank: reuse, tag, version

A good hook isn't disposable. Save the approved ones in a database — a spreadsheet or JSON — so you can reuse them, remix them, and see what keeps succeeding.

🧠 Minimum database structure

null

  • •id, niche, pattern — to filter later.
  • •3 layers — line, visual, text.
  • •status — idea / recorded / published.
  • •performance — views/retention after publishing.
🎯 Objective: Standardize an entry in your hook bank (reusable JSON).
{
  "id": "fin-001",
  "nicho": "financas",
  "padrao": "numero",
  "frase_falada": "Transformei US$500 em US$15.000 sem tocar na bolsa.",
  "visual_hook": "nota de 500 se multiplicando em maços de dinheiro",
  "text_hook": "No Stocks",
  "status": "ideia",
  "views": null
}
✅ How to check: Create banco.json as a list of these objects. To reuse: filter by "padrao" or "nicho" and adapt. When you publish, fill in "views" and see which pattern works best for you.

💡 Version with Git

Store banco.json in a repository (you’ll learn how in INEMA’s “From Zero to Deploy” course). Every published video becomes a commit — a history of what worked.

6

Publish and measure: the cycle that helps you improve

The hook only proves its value in the field. Close the loop: test, measure, double down on what works. That’s how you go from “copying hooks” to “having a method.”

🧠 The improvement cycle

null

  • •Test: record 2-3 versions of the same content with different hooks.
  • •Measure: check retention at 3s and the % who made it past 50% — not just views.
  • •Learn: which PATTERN held attention the longest? (fear? a number?)
  • •Double: repeat the winning pattern in your niche.
Metric many people look atMetric that matters for the hook
Total viewsRetention in the first 3 seconds
Likes% who watched more than 50% of the video
FollowersScroll-stop rate (who stopped scrolling)

⚠️ Don’t trust 1 video

One hook may go viral by luck while another dies because of timing. Look at the average across 5-10 videos to spot a pattern before deciding what works for you.

💡 You finished the course 🎉

You have: the theory (Trilha 1), the 165 hooks with images (Trilha 2), and the system to generate your own (Trilha 3). Now it’s time to publish, measure, and iterate. Mark the modules as read and track your journey in the course dashboard.

🎓 Module summary

✓
Skill = system — one command generates hooks + layers + image prompts.
✓
SKILL.md ready — copy, save, and invoke your Hook Machine.
✓
Batch pipeline — generate, images, assemble, schedule; versioned hook library.
✓
Publish and measure — test 3 hooks, measure retention, and double down on the winning pattern.