Script the first 1-3 second TikTok hook: the spoken line, the on-screen text, and the opening visual firing at once so the viewer cannot swipe. Picks a 2026 hook formula (cold-open result, pattern interrupt, number reveal, open-loop question, relatable call-out, story) by goal of completion, saves, comments, or shares. The single biggest retention lever on TikTok. Use to script a hook from a video idea. Not for the caption (use tt-caption-writer) or scrubbing a script (use tt-humanizer).
npx skills add https://github.com/sergebulaev/tiktok-skills --skill tt-hook-scripter
Write the first 1 to 3 seconds of a TikTok video: the spoken line, the on-screen
text, and the opening visual, all firing at once. This is the single biggest
lever on the whole platform. TikTok's ranker runs on completion rate, and a
viewer decides to stay or swipe before second three. If the hook does not win,
nothing downstream gets watched.
For one video idea, a ready-to-film hook block:
It does not write the caption (hand to tt-caption-writer) or the full body
script beat-by-beat unless asked; it locks the open, which is where retention is
won or lost.
| Code | Formula | Primary goal | Best for |
|---|---|---|---|
| T1 | Cold-Open Result | completion | show the finished outcome first, promise the how |
| T2 | Pattern Interrupt | completion | break the expected frame so the thumb stops |
| T3 | Specific-Number Reveal | saves | one odd, concrete number that reframes the topic |
| T4 | Open Loop Question | comments | ask the exact question the video answers |
| T5 | Relatable Call-Out | shares | a hyper-specific shared moment worth sending |
| T6 | Bold Claim, No Hedge | comments | a flat contrarian claim the comments will argue |
| T7 | Listicle Promise | saves | a numbered payoff with on-screen counters |
| T8 | Story In Medias Res | completion | drop into the peak of a real story |
| T9 | Tutorial Cold Start | saves | start step one with the result previewed |
| T10 | Trend-Ride With A Twist | shares | a trending sound bent to your niche |
Full skeletons (three layers each) in ../../references/hook-formulas.md.
| Goal | Reach for |
|---|---|
| Completion | T1, T2, T8 |
| Saves | T3, T7, T9 |
| Comments | T4, T6 |
| Shares | T5, T10 |
Voice profile first (all drafts). If ../../references/voice-profile.md has filled: yes, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that tt-humanizer --mode profile can learn their voice from a few posts, then proceed with the generic voice rules.
Never invent the specifics. The rules below ask for a concrete number, a date and a named entity, because that is what separates a real post from a generated one. Take them from what the user actually said in this conversation. Do not invent a figure, a date, a client name or a result, and do not soften a vague claim into a plausible-looking number. If the user has nothing concrete for a beat, ask them once, and if they still have nothing, drop the claim rather than decorate it. A published invented number is a retraction; a missing one is only a weaker post.
video delivers, and the goal (completion / saves / comments / shares).
also fit the idea and let the user choose. For a trend ride (T10), hand the
sound-fit question to tt-trend-mapper first.
spoken line and the on-screen text MUST differ (muted-first viewing). Respect
the 2026 rules:
script). Em dashes: .. for a breath in the spoken line, at most one on
the on-screen card.
nobody tells you" reveal bridge; say the thing.
feels natural (a rewatch is almost a second view).
tt-humanizer V3rules to strip script tells before it ever reaches camera: AI vocab by
density, stacked triads, reveal bridges, sincerity openers, written-not-
spoken phrasing. Make it sayable; never insert a punch line for rhythm.
loop-close note, and an estimated hook duration.
tt-caption-writer for the caption and settings, andtt-content-planner if they are batching multiple hooks.
Global voice rules: see root SKILL.md Voice rules. Additional skill-specific
rules:
the caption do the hook's job.
same words in both.
../../references/hook-formulas.md - all 10 TikTok hook formulas (three layers each)../../references/algorithm-heuristics.md - why completion and the first second rule everythingreferences/hook-anatomy.md - the three-layer hook teardown and timing budgettt-caption-writer - the caption, TikTok settings, and hashtagstt-trend-mapper - check sound fit before a trend-ride hook (T10)tt-humanizer - scrub the spoken script so it sounds human on cameratt-content-planner - batch multiple hooks for the weekTake sergebulaev/tt-hook-scripter from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.