64 sourced hooks. 18 with real numbers. Your agent invents none of them.
Ask any model for ten hooks and you get the statistical middle of every opener it has ever read. hook-generator installs instead — from 64 templates that each carry the URL they came from — then refuses to hand you the set until the scripts agree it passed. New in v1.5.0: it writes the first 3 seconds of a Reel, TikTok or Short too. What is said, what is on screen, and what the first frame shows.
For founders and marketers whose AI writes the first line — and quietly hands them the same opener it just handed everyone else.

opvs-skills install @di-atomic/hook-generatorThen say: “write me 5 LinkedIn hooks for CFOs at mid-market SaaS”
Why it works when “write me some hooks” doesn’t
> write me 10 hooks "Unpopular opinion: ..." "Here’s the thing nobody tells you about ..." (no source, no length gate, no structure check)
They scan fine. They are also the average of every opener the model has read, which is why your feed is full of them.
install registry/ ✓ 3 templates + URLs generate ✓ 6 across 6 angles verify-hook-quality ✓ 6/6 under ceiling lint-anti-patterns ✓ 0 banned grade-against-examples ✓ 6 structures lint-build-diary ✓ 6/6 level 3
Five scripts gate the set with PASS/FAIL numbers the agent can’t fudge.
A hook that sounds good is not proof. The exit code is.
What you actually get
It installs, it doesn’t invent
Matches on platform and angle, pulls templates out of a 64-item registry, and writes your topic into shapes that already ran on real posts. Every template carries the URL it came from.
It knows the surface and the moment
Six angles — contrarian, number-led, admission, story, future-shock, identity — tuned to where each platform truncates. Announcing a launch loads a separate recipe that names what the buyer gets instead of how you built it. A short video gets its own recipe for the first 3 seconds.
It hard-blocks regulated claims
Sell a biocide and “non-toxic” is a BPR problem, not a style choice. That lint is a hard gate and cannot be overridden, in any of the seven languages we work in.
The two rules that keep it honest


A real run — including the one that failed
> 6 blog-title hooks for the launch of this very skill
RUN 1
lint-build-diary ........ FAIL 1 hook read as level 2, a symptom not a launch
lint-anti-patterns ...... PASS 0 banned
grade-against-examples .. FAIL 1/4 structures, 2 UNCLASSIFIED
→ regenerate
RUN 2
lint-build-diary ........ PASS 6/6 level 3 launch
lint-anti-patterns ...... PASS 0 banned, 0 em-dashes
grade-against-examples .. PASS 6 structures, 0 questions, 0 unclassified
Shipped: "Everyone’s launch post sounds like a build log.
Your agent writes the other kind."
That is the actual gate output from writing this page’s launch post. Deterministic scripts — not an LLM grading its own copy.
The first 3 seconds of a Reel, TikTok or Short new in v1.5.0
Ask for the hook of a short video and you get three channels written together: what is said, what is written on screen, and what the first frame shows. It is modelled on 24 real shorts, 12 creators’ best against their own worst. A first line about the creator opened 8 of the 12 worst and 1 of the 12 best.


> 3 hooks for a Reel: “why cold emails get no replies”
#1 number-led · face_talking ....... PASS
say “There are only three reasons a cold email gets ignored.”
write “3 reasons your cold email gets ignored” (held 3.0 s)
show tight close-up, talking to camera from frame 0
#2 contrarian · face_talking ....... WARN 11 spoken words > 10
#3 future-shock · screen_action ...... PASS
set 3 variants · 3 angles · 1 question · 2 frame-0 subjects .. PASS
> the opener most people film
say “Hi, I’m Martin, and today I want to talk about cold email.”
show the company logo animating in on black
V1 FAIL no text on screen
V4 FAIL opens on a greeting
V5 FAIL frame 0 is a logo: 0 of 24 corpus videos opened on one
Real output of verify-video-hook, not an illustration. It grades the words and the plan. video-director times the real audio, and video-analyst reads the rendered opening back.
Where it stops

I built this by dogfooding the same stack I run for clients.
hook-generator is one skill in the system behind Di-Atomic — the marketing & compliance agency that runs cognitoAI, SpiderIQ and OPVS. If you want openers that are grounded in evidence rather than guessed at, gated before they ship, and compliant in regulated categories — in any of our seven languages — that’s the day job. Let’s talk.
Book a 30-min call with Di-AtomicJust want the skill? Install @di-atomic/hook-generator free.