viral-hooks
Skill91 starsChanged 5 months agoMITView on GitHub
Use when writing or auditing the opening lines of any content — reel hooks, carousel slide 1, video intros, newsletter subject lines, tweet openers — or when a draft's opener feels flat, vague, or skippable.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- fliqrlabs/instagram-creator-skillstheir own version, first seen Nov 1, 2026
- claudiocebpaz/blotato-opencodetheir own version, first seen Oct 13, 2026
- buildwithreef/claude-skillstheir own version, first seen Jul 2, 2026
- vyralcontent/content-skillstheir own version, first seen Jun 22, 2026
- rediumvex/viral-hooks-skilltheir own version, first seen May 5, 2026
- prospapledge88/claude-skillstheir own version, first seen Apr 14, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- vyralcontent/content-skills★ 115same name
- rediumvex/viral-hooks-skill★ 93same name
- fliqrlabs/instagram-creator-skills★ 5same name
- claudiocebpaz/blotato-opencode★ 2same name
- buildwithreef/claude-skills★ 0same name
- prospapledge88/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- anti-ai-writingSkill
- dumbifySkill
- storytellingSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 8 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Every weak hook fails in one of exactly four ways.
- Distinctive: line 30
Fix: Delete everything before the topic.
- Distinctive: line 74
When a killer's fix references "the first 2 seconds," translate it to the active platform's deadline.
- Distinctive: line 83
Don't sacrifice clarity to force a one-liner.
- Distinctive: line 100
Read your own top hooks for that platform — absorb cadence, energy, vocabulary.
- Distinctive: line 102
Write each hook through the four-killer checklist below, translating DELAY to the platform's deadline.
- Distinctive: line 119
Never flag without quoting the words that triggered it.
- Distinctive: line 129
All five pass → the hook is working.
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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:
- Topic clarity — within 1-2 seconds, the viewer knows exactly what this is about.
- 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.
| Platform | The hook IS… | DELAY deadline | Medium notes |
| Reel / TikTok | First 1-2 seconds, spoken + visual | ~2-second scroll cliff | Lead with the striking visual — eyes beat ears. Spoken cadence, contractions. |
| YouTube | Two hooks: title + thumbnail earn the click; first 15-30s confirms it | The click, then the first 30s | Title = curiosity gap + clarity. First 30s restates the promise and raises stakes — tease the payoff, don't deliver it yet. |
| First 1-2 lines before the "…see more" fold | The 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 / Twitter | First tweet (thread) or first line | The text scroll-stop | Bold claim or numbered promise. Lower context — say the payoff plainly. |
| Newsletter | Subject line earns the open; first line earns the read | The subject line | Subject = curiosity or benefit, not spammy. Never waste line one on "Hey friends." |
| Carousel | Slide 1 text, ≤9 words | The thumb-stop on slide 1 | Must 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
- 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).
- 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.)
- 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.
- Write each hook through the four-killer checklist below, translating DELAY to the platform's deadline.
- 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
| Mistake | Why it fails |
| Three variants that are one idea reworded | You get no real choice — vary the PATTERN, not the synonyms |
| Hook promises what the script doesn't deliver | Viewers punish bait; retention dies at the reveal |
| Maximizing shock over believability | Contrast only works inside the viewer's belief range — "this one trick doctors hate" is dead on arrival |
| Polishing grammar into stiffness | Spoken hooks need spoken rhythm; read it aloud, keep the contractions |
| Hook for everyone | A hook for everyone stops no one — name the person ("if you've restarted five times this year") |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

