53 sourced hooks. 7 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 53 templates that each carry the URL they came from — then refuses to hand you the set until five scripts agree it passed.
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 53-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.
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.
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.