shipped@di-atomic/hook-generator · v1.2.1 · beta

52 sourced hooks. 7 with real numbers. 0 invented.

Ask any model for ten hooks and you get the statistical middle of every opener it has ever read. hook-generator installs instead — from 52 templates that each carry the URL they came from — then refuses to hand you the set until three 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.

A chalkboard split in two: INVENT, where a training-data cloud funnels into six identical grey rectangles, versus INSTALL, where a drawer of 52 sourced hooks feeds six different gold shapes
Built by Di-Atomic Marketing & compliance agency BPR / CLP claim-aware 7-language team Clients incl. ONYX Radiance, Pamit Group
52source-attributed hook templates
6angles generated on every run
3enforcement scripts gate every set
100/100marketplace security score
Installopvs-skills install @di-atomic/hook-generator

Then say: “write me 5 LinkedIn hooks for CFOs at mid-market SaaS”

Why it works when “write me some hooks” doesn’t

A model inventing from training data
> 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.

hook-generator installs, then gates
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

Three 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 52-item registry, and writes your topic into shapes that already ran on real posts. Every template carries the URL it came from.

🎯

Six angles, never one

Contrarian, number-led, admission, story, future-shock and identity — at least four distinct structures per set and no more than one question. You get a spread, not six versions of one idea.

🚫

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

Chalk grid of 52 squares with exactly 7 filled gold, bracketed 7 measured, and the remaining 45 as outlines bracketed 45 pattern-level
Only 7 of 52 carry a verifiable metric. The other 45 say pattern-level rather than carrying a number nobody measured.
Chalk diagram: six hook cards pass through three gates labelled LENGTH, SLOP plus COMPLIANCE and STRUCTURE, with a fail loop back to rewrite and a gold pass arrow out
Every set runs the same three gates. Fail one and it loops back to rewrite — there is no ship-anyway path.

A real run — including the one that failed

> 6 hooks for the launch of this very skill

  RUN 1
  verify-hook-quality ..... FAIL  2 hooks at 15w and 14w vs 12w ceiling
  lint-anti-patterns ...... PASS  0 banned
  grade-against-examples .. FAIL  3/4 structures, 2 UNCLASSIFIED

  → regenerate

  RUN 2
  verify-hook-quality ..... PASS  6/6 under 140c and 12w
  lint-anti-patterns ...... PASS  0 banned, 0 em-dashes
  grade-against-examples .. PASS  6 structures, 1 question, 0 unclassified

  Shipped: "I collected 52 hooks for my AI. Only 7 had a real number."

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

Chalk diagram: a gold hook-generator box inside a dashed boundary emits the opener, fanning out to post-writer, outbound-engine and section-designer, which reach a globe labelled publishes
It writes the opener and nothing else. The siblings finish the job and publish — this one produces text and stops.
It will not write your body copy, your full post or your email sequence. And it will not invent a language it has not validated: German, French, Spanish, Russian and Romanian templates are held until the native lead for each signs off, and Hebrew is out entirely. Ask for those today and it tells you so instead of guessing.
Why this exists

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-Atomic

Just want the skill? Install @di-atomic/hook-generator free.