Extract 8 Hook Patterns from 100 Viral Posts in Your Niche (NotebookLM)
Contents
Most "20 hook patterns" lists online are dead on arrival — compiled by writers who never read 100 posts in a row, applied a frequency threshold, and watched what actually repeats. The patterns are usually generic ("ask a question," "use a number," "tell a story") and fit every niche equally, which means they fit no niche at all. B2B SaaS, beauty, fintech — different species. A list that flattens them is useless.
Here's the better move. Take 100 posts that already went viral in your niche, hand them to NotebookLM, and ask it to find the patterns that actually repeat. NotebookLM's source-grounded mode means it can't invent a structure that isn't in the corpus — every pattern it returns will be backed by a real post in your 100-document library. You get a niche-specific taxonomy, not a generic listicle.
Step 1 — Scrape 100 viral posts from your niche
The fastest path is Apify. Run an actor like scraper-engine/linkedin-profile-post-scraper (~$1 per 1,000 posts) against the top 10 creators in your niche. Filter to posts with > 1,000 reactions and > 50 comments in the last 90 days. Download the result, then convert to .md (Markdown, 一种轻量标记语言) — one file per post, with engagement / author / date as frontmatter and the post body as content. NotebookLM indexes .md cleanly and preserves the structure.
If you don't have Apify access, copy-paste works for 30–50 posts. The shortcut: open the post, select all, paste into a plain text file, save as 001-author-date.md. Tedious but honest.
Step 2 — The NotebookLM grounding prompt
Create a notebook, upload all 100 .md files, then paste this single prompt into chat:
You are a content analyst. I have uploaded 100 viral LinkedIn posts from the B2B AI tooling niche. Read all of them, then identify the 8 hook structures (the first 1–3 sentences of the post) that appear most frequently. For each pattern: (a) name it, (b) give the structural template with placeholders, (c) cite the post IDs of 1–2 real examples from the corpus, (d) report how many of the 100 posts use it. A pattern must appear in at least 10 of the 100 posts to be included — below that, it's noise. Return the answer as a markdown table.
The 10% floor is the part that matters. Without it, you'll get 25 patterns, half of them one-off quirks. With it, you get the structural truth of your niche.
Step 3 — The 8 patterns I extracted (B2B AI tooling, 100 LinkedIn posts)
Running the prompt on my 100-post corpus returned this:
| # | Pattern | Template | Count |
|---|---|---|---|
| 1 | Relatable Enemy → Hero → Teaser | "The {old way} is dying. The {new way} is winning. And I {praise it}. Why?" | 27 |
| 2 | "I {verb} for {N} {units}. Here's the {framework}." | "I sent 1,000 cold emails. Here's the 4-line template." | 22 |
| 3 | "Stop doing {X}. Do {Y} instead." | "Stop using CRMs. Use a spreadsheet." | 17 |
| 4 | Numbered list with negative qualifier | "{N} {things} to {outcome} (that don't {common assumption})" | 15 |
| 5 | "Nobody talks about this" | "Nobody talks about {hidden lever} in {niche}." | 14 |
| 6 | Contrarian call-out | "{Common belief} is a lie. Here's what actually works." | 13 |
| 7 | Stat-shaped curiosity gap | "{X}% of {audience} {fail action}. Here's the {Y}%." | 12 |
| 8 | "I wish I knew this before I {did Y}" | "5 things I wish I knew before I {milestone}." | 10 |
Eight patterns. Every one passes the 10% floor. The most common (Pattern 1) appeared in 27% of the 100 posts. The least common (Pattern 8) hit the floor exactly at 10%.
Step 4 — Use the taxonomy
You now have a hook-pattern menu calibrated to your niche, not a generic copywriting book. The next 20 posts you write should consciously rotate through these 8 structures — tag each with the pattern number. After 3 months you'll see which patterns your specific audience rewards; the niche menu and your audience's preferences will start to diverge, and that's where your real edge lives.
The 80 generic "hook formula" articles can stay where they are. This is the version that actually fits.