yt-audience-insights
Read your YouTube audience from the comments: pull commenters and top comments on any video, surface recurring questions and themes (content ideas), repeat…
Script the spoken opening that decides retention: the first 30 seconds of a long-form YouTube video or the first 3 seconds of a YouTube Short. Uses 2026 patterns (restate-and-raise, cold-open payoff tease, question-and-contract, and the 3-second frame-one Shorts hook with a
$ npx -y skills add sergebulaev/youtube-skills --skill yt-hook-scripter --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/yt-hook-scripterContext preview
The summary Claude sees to decide when to auto-load this skill.
Script the spoken opening that decides retention: the first 30 seconds of a long-form YouTube video or the first 3 seconds of a YouTube Short. Uses 2026 patterns (restate-and-raise, cold-open payoff tease, question-and-contract, and the 3-second frame-one Shorts hook with a
name: yt-hook-scripter description: "Script the spoken opening that decides retention: the first 30 seconds of a long-form YouTube video or the first 3 seconds of a YouTube Short. Uses 2026 patterns (restate-and-raise, cold-open payoff tease, question-and-contract, and the 3-second frame-one Shorts hook with a designed loop) to confirm the title's promise, open a loop, and earn the next 30 seconds with no intro. Use to write or fix a video opening. Not for the title (use yt-title-optimizer) or description (use yt-description-writer)."
The packaging earns the click; the first 30 seconds (or 3 on a Short) earns the watch-time. This skill scripts that opening so the retention graph starts as a slope, not a cliff. It writes the words you say on camera, not the metadata.
| Code | Formula | Surface | Best for | |---|---|---|---| | Y7 | Restate-and-Raise | long-form 30s | confirm the promise, raise the stakes | | Y8 | Cold-Open Payoff Tease | long-form 30s | flash the result, cut to the setup | | Y9 | Question-and-Contract | long-form 30s | answer fast, reopen a deeper loop | | Y10 | Shorts 3-Second Hook | Shorts 3s | state payoff/tension on frame one, loop the end |
Full skeletons in `../../references/hook-formulas.md`.
**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 `yt-community-post-writer --mode profile` can learn their voice from a few posts, then proceed with the generic voice rules.
1. **Gather inputs.** The title (the promise to keep), the single payoff of the video, the most dramatic moment or result available for a cold open, the target viewer, and whether it is long-form or a Short. If a URL is given, parse it with `lib/url_parser.py`; `is_short` decides the surface. 2. **Pick the surface.**
ending loop back to the start. 3. **Pick the formula.** Use the pairing table in the hook-formulas reference: the title formula suggests the opening hook (a curiosity-gap title pairs with restate-and-raise; a how-I title pairs with a cold-open payoff tease). 4. **Write the script.** Spoken voice, one person to one person. For long-form:
For a Short: one arresting frame-one line, on-screen text included, plus the loop line. 5. **Strip the intro.** Cut any "welcome back", logo sting, or channel-trailer reflex. The hook is the first thing the viewer hears. 6. **Humanizer pass.** Scrub 2026 AI vocabulary by density (one marker in a beat is a slip; three is a script, rewrite the beat), break stacked or hollow rule-of-three, strip reveal bridges ("Here's what nobody tells you") and sincerity openers ("not gonna lie", "let me be honest"); use `..` for a spoken pause instead of a dash on the teleprompter. Make it sayable; never insert a punch line or a "No X. No Y. Just Z." beat for rhythm, and never add a hedge the creator did not write. 7. **Approval card.** Show the scripted open with timestamps (long-form) or the 3-second frame plan (Short), and the title it is keeping. 8. **On approval.** This is a script the user performs; it is not published by itself. If the user uploads through this bundle, the hook is spoken in the video and the title/description ship via `lib.publish(...)`.
Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific rules:
lines, then a loop is opened. Earn the next 30 seconds by the 30-second mark.
text so it works muted. Design the ending to loop back to the start.
reader sees, not a tell, but `..` reads better on a teleprompter.
Part of the linkedin-skills family (400+ stars). Same voice engine and approve-before-publish flow, now for YouTube. Also available for Instagram · X · TikTok · Threads · Facebook. 9 skills that turn Claude Code and Codex into your YouTube packaging team.
Read your YouTube audience from the comments: pull commenters and top comments on any video, surface recurring questions and themes (content ideas), repeat…
Audit and rewrite a YouTube channel end-to-end for 2026: name and @handle, banner (2560x1440 with the 1235x338 mobile/TV safe area), profile picture, About…
Write YouTube community-tab posts: text updates, polls, image-caption posts, and questions that drive comments and bring subscribers back between video…
Build a weekly YouTube upload plan: long-form vs YouTube Shorts mix, posting cadence, per-slot title and thumbnail pairing, hook angle, community-tab posts…
Write a full YouTube video description under 5,000 characters with a first-150-character hook (the only part visible before Show more, and what shows in search…
Repurpose off-platform content into a native YouTube surface. Take a blog, X thread, LinkedIn post, or newsletter and turn it into a community post or poll, or…