mcpField
V
viral-hooks

viral-hooks

github.com/artemnovitckiiMarketing & growth11996 installsUpdated 19w ago
Repository

About viral-hooks

viral-hooks is a content-writing skill for creators who need to write or audit hooks across social and publishing platforms. It diagnoses four common hook failures and adapts guidance to each platform’s attention format.

Key features

  1. 01Diagnose four hook failure types
  2. 02Adapt hooks to six platform formats
  3. 03Generate three distinct hook variants
  4. 04Audit and rewrite existing hooks
  5. 05Check voice against creator samples

Use cases

  1. 01Draft hooks for Reels, TikTok, or YouTube
  2. 02Write openings for LinkedIn posts and newsletters
  3. 03Review a hook for clarity and relevance

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/artemnovitckii/content-skills --skill viral-hooks

After installing, type/viral-hooksin Claude Code to confirm it loaded.

Details

From the project README

Viral Hooks

A hook has exactly ONE job: help the right viewer decide to keep watching. To do that job it must deliver two things, and only two things:

  1. Topic clarity — within 1-2 seconds, the viewer knows exactly what this is about.
  2. On-target curiosity — the viewer believes this is for THEM, and an open question pulls them forward.

Everything in this skill exists to make a hook hit both. A hook that's clever but unclear fails. A hook that's clear but flat fails. Both, or it's not done.

Always pair with your voice: before writing hooks, read the hooks from your own top-performing posts. Match their cadence and energy — the patterns below are mechanics, your real posts are the sound. If you have a voice file (see the voice-dna skill in this pack), use it.

If you have no sample of your voice (auditing an outsider's script, a brand-new account, fewer than ~10 posts): proceed on the mechanics alone and say so in the output ("voice unverified — no sample to check against"). Never block, never silently pretend the voice check happened.

The Four Hook Killers

Every weak hook fails in one of exactly four ways. Diagnose which one, apply the fix.

1. DELAY — topic arrives too late

Every word spent before the topic lands costs you readers. What "too late" means depends on the platform (see the platform table below): a reel has a ~2-second cliff, a LinkedIn post has the "…see more" fold, a newsletter has the subject line. Same killer, different deadline.

  • ❌ "Okay so this is honestly one of the craziest things I've ever seen, and when I show you, you're not going to believe it."
  • ✅ "Your meal prep is why you're ordering takeout by Thursday."

Fix: Delete everything before the topic. No greeting, no throat-clearing, no "let me explain." The first noun phrase should carry the subject — and it must land before that platform's deadline.

2. CONFUSION — the viewer has to re-read

Nested clauses, abstract words, passive voice. If a line takes two passes to parse, the viewer is already gone.

  • ❌ "The reason consistency with your nutrition tends to break down is that the systems you build on weekends don't account for weekday decision fatigue."
  • ✅ "You prep every Sunday. By Wednesday it falls apart. The reason isn't discipline."

Fix: Fewer words. Simpler words (6th-grade level). Active voice. One idea per sentence.

3. IRRELEVANCE — clear, but not for ME

The viewer understands the topic but can't see themselves in it. The #1 cause: creator-POV framing.

  • ❌ "I've struggled with consistency my whole life." (Viewer: do I share this problem? Maybe not. Out.)
  • ✅ "If you've restarted the same routine five times this year, this is the reason." (Viewer can't opt out — it's aimed at them.)

Fix: Two moves. Swap me/my → you/your. Frame around a pain the viewer already feels — agitate the problem before offering the solve. Solving MY problem is a need; hearing YOUR story is a nice-to-have.

I-framed pattern exception: some sanctioned patterns are legitimately I-framed — story patterns (confession, in-medias-res, expensive lesson) and contrarian-arc patterns ("I stopped X...", "I'll never X again"). For these, the relevance test becomes: is the pain or payoff in the I-statement unmistakably the VIEWER'S too, and does a you-pivot land within the hook's 2-3 lines (or the very first beat after)? An I-framed hook with no you-pivot in sight is still an IRRELEVANCE flag.

4. DISINTEREST — clear, relevant, still skippable

Topic clarity and relevance are there, but no question is left open. The cure is contrast: the gap between what the viewer believes (A) and what you're claiming (B) IS the curiosity. No gap, no pull.

  • Stated contrast (blunt, impossible to miss): "Most people fix this with more discipline. I fix it by deleting the plan entirely."
  • Implied contrast (savvier — only B stated, A implied): "The most consistent clients I've ever had don't use a meal plan at all."

Fix: Name the A (common belief, common method, the viewer's current behavior) and put your B against it. The bigger the believable distance, the stronger the hook.

What "the hook" is on each platform

The four killers are universal. What changes per platform is the unit of attention you're earning and the medium you earn it in. Before writing, know which one you're working in.

PlatformThe hook IS…DELAY deadlineMedium notes
Reel / TikTokFirst 1-2 seconds, spoken + visual~2-second scroll cliffLead with the striking visual — eyes beat ears. Spoken cadence, contractions.
YouTubeTwo hooks: title + thumbnail earn the click; first 15-30s confirms itThe click, then the first 30sTitle = curiosity gap + clarity. First 30s restates the promise and raises stakes — tease the payoff, don't deliver it yet.
LinkedInFirst 1-2 lines before the "…see more" foldThe fold (~2 lines visible in-feed)That's all the feed shows. Earn the expand. Line breaks and white space help. Pattern-interrupt, not corporate.
X / TwitterFirst tweet (thread) or first lineThe text scroll-stopBold claim or numbered promise. Lower context — say the payoff plainly.
NewsletterSubject line earns the open; first line earns the readThe subject lineSubject = curiosity or benefit, not spammy. Never waste line one on "Hey friends."
CarouselSlide 1 text, ≤9 wordsThe thumb-stop on slide 1Must promise a reason to swipe.

When a killer's fix references "the first 2 seconds," translate it to the active platform's deadline. Everything else — clarity, relevance, contrast — applies unchanged.

Hook shape: 2-3 lines, not always one zinger

The best hooks do clarity + contrast in one line — keep those. But a complete hook is allowed to be 2-3 spoken lines:

  • Line 1: topic clarity
  • Lines 2-3: the contrast / curiosity setup

Don't sacrifice clarity to force a one-liner.

Banned openers

These always get flagged — the wrapper words never survive a rewrite. The only judgment call is the blast radius, and the qualifier decides it: if real substance follows the wrapper ("Story time:" followed by an actual stated stake), only the wrapper dies — delete it, it's pure DELAY cost. If the substance is missing, the whole hook dies:

  • "Let me explain" / "let's talk about" / "let's explore" — throat-clearing (DELAY)
  • "Story time:" / "POV:" without content in the same breath — empty wrapper (DELAY)
  • "Nobody talks about this" / "what no one tells you" without naming the thing — vague (CONFUSION + cliché)
  • "[Company] just launched [thing]" — news report, no angle, no stakes for the viewer (IRRELEVANCE)
  • "The shift happening in [industry]..." — philosophical fog (all four killers at once)
  • A CTA as the opener ("Comment X for...") — CTAs close, never open
  • "Wait till you see this" / "you won't believe" — zero topic clarity (DELAY)

Writing mode

  1. Know the platform — pull its row from the platform table; that sets the unit of attention and the medium (spoken reel vs first-line-before-fold vs title+thumbnail).
  2. Read your own top hooks for that platform — absorb cadence, energy, vocabulary. (If you keep a swipe file of hooks that worked, pull from it.)
  3. Build each variant by stacking 2-3 levers (not picking one template) — a pattern, an angle, and a multiplier. Levers and angles are platform-agnostic; express each stack in the active platform's form. Add the Specificity multiplier by default — concrete/odd numbers, named concepts.
  4. Write each hook through the four-killer checklist below, translating DELAY to the platform's deadline.
  5. Deliver 3 variants by default — an explicit request for a different count overrides this. Whatever the count, every variant uses a DIFFERENT lever stack; label each with the levers it stacks (so you learn the why, not just the what).

Audit mode

First identify the platform (the caller says, or infer from the content — a subject line vs a spoken open vs a first-tweet). Apply the four killers against that platform's deadline. Score each killer — pass or flag with the exact offending words quoted. Then rewrite. Output format:

HOOK AUDIT: "your meal prep is failing you — let me explain why that is"
  Delay:       FLAG — "let me explain why that is" postpones the payoff
  Confusion:   pass
  Irrelevance: pass — "your" framing ✓
  Disinterest: FLAG — no contrast; what's the A vs B?
  Voice:       pass — cadence matches your posts  (or: "unverified — no sample available")
  Rewrite: "Your Sunday meal prep is why you quit by Thursday. The fix isn't more discipline — it's prepping less."

Never flag without quoting the words that triggered it. Never rewrite without preserving your voice (check a sample if unsure).

The checklist (every hook, before it ships)

  • Topic clear in the first 1-2 seconds? (no DELAY)
  • Impossible to misunderstand on one pass? (no CONFUSION)
  • "You/your" framing around a felt pain — or, for I-framed patterns, a you-pivot within the hook? (no IRRELEVANCE — see the I-framed pattern exception)
  • A-vs-B contrast that opens a real question? (no DISINTEREST)
  • Sounds like you, not like a template? (voice check)

All five pass → the hook is working.

Common mistakes

MistakeWhy it fails
Three variants that are one idea rewordedYou get no real choice — vary the PATTERN, not the synonyms
Hook promises what the script doesn't deliverViewers punish bait; retention dies at the reveal
Maximizing shock over believabilityContrast only works inside the viewer's belief range — "this one trick doctors hate" is dead on arrival
Polishing grammar into stiffnessSpoken hooks need spoken rhythm; read it aloud, keep the contractions
Hook for everyoneA hook for everyone stops no one — name the person ("if you've restarted five times this year")

Comments

Markdown supported