youtube-script-writer
- Repo stars 834
- Author repo boop-agent
YouTube Script Writer
Turn a topic, outline, or research dump into a YouTube script that holds attention from second 0 through the CTA.
When to use
- "Write a YouTube script about X"
- "Turn this research into a video"
- "Draft an intro / hook for a video on Y"
- "Plan out a 5-minute video about Z"
When NOT to use
- Long-form blog posts or articles (different pacing rules — don't force them into this template)
- Podcast outlines (conversational, not scripted)
- Shorts under 60s (different structure — lead with the payoff, no setup)
Inputs to gather first
Before writing, confirm (ask if missing):
- Topic / angle — what is the one idea the viewer walks away with?
- Target length — under 3 min, 3–8 min, or 10+ min? Pacing changes.
- Audience — beginners, experts, or mixed? Sets vocabulary floor.
- Research or source material — any facts, stats, quotes, URLs to include?
- Tone — casual/educational, docu-style, chaotic/entertainment?
If the user didn't supply research and the topic needs facts, use WebSearch / WebFetch BEFORE writing. Never invent stats or quotes.
Script structure (standard 5–8 min video)
Write the script in these labeled sections. Don't skip any.
1. Hook — first 5 seconds
- One sentence that promises a payoff or opens a loop.
- No "hey guys welcome back." No throat-clearing.
- Patterns that work:
- Curiosity gap — "Everyone gets X wrong. Here's what actually works."
- Bold claim — "You can do X in 10 minutes. I'll prove it."
- Pattern interrupt — visual or verbal surprise.
- End with an implicit "keep watching to find out."
2. Setup — seconds 5–20
- Context: why does this matter NOW, for THIS viewer?
- Credibility beat (one sentence max): who you are / why listen.
- Restate the promise in sharper form. No long preamble.
3. Body — main content
- Break into 2–4 clearly-labeled sections/chapters.
- Retention rule: every 30–45 seconds, re-hook. Tease what's coming ("but here's the twist…"), change visual pattern, or drop a memorable line.
- One idea per section. Don't stack.
- Concrete > abstract. Examples, numbers, screenshots, demos.
- If you have research: cite specifically (brand, study, date). No vague "studies show."
4. Payoff — deliver on the hook
- Close the loop opened in the hook.
- Summarize the one takeaway in one sentence. Viewer should be able to repeat it.
5. CTA — final 15 seconds
- ONE ask. Not three. Pick: subscribe, comment prompt, link in description, or watch-next video.
- Make it natural, tied to the content. "If this saved you X, subscribe" beats "smash that like button."
- End on a strong visual beat, not a fade.
Format the output
Deliver the script as:
TITLE: <working title, clickable but honest>
THUMBNAIL IDEA: <1 sentence, what's on screen>
---
[0:00] HOOK
<exact words to say>
[0:05] SETUP
<exact words>
[0:20] SECTION 1 — <name>
<exact words>
[VISUAL: brief note on B-roll / cut / graphic]
[...continue...]
[X:XX] CTA
<exact words>
Rules for the script body:
- Write the spoken words, not stage directions, as the main text.
- Put visual/cut notes in
[VISUAL: …]tags inline, indented under the spoken line they belong to. - Use short sentences. Read it aloud in your head — if a sentence is hard to say, rewrite it.
- Contractions always (don't → that's how people talk).
- No jargon without a one-line definition.
After the script
Close with:
- Estimated runtime — rough estimate based on ~150 wpm spoken pace.
- Open questions — anything you had to guess at (e.g. target audience assumed to be X; pick a different tone if wrong).
- Variants to consider — one alt hook and one alt CTA, one line each. Gives the user pivot options.
Retention checklist (self-review before delivering)
- Hook is under 10 seconds and makes a clear promise
- Setup ends in under 30 seconds total
- A re-hook or pattern break every 30–45 seconds of body
- Every claim has a source or is clearly framed as opinion
- Exactly one CTA
- Body reads aloud cleanly — no tongue-twisters, no buried verbs
- Sources section follows (if WebSearch/WebFetch was used)
- Fluxly category
- Productivity
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @raroque · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Unspecified
- Detected file/system behavior
-
- Read-only
- Write / modify
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
# Format the output
TITLE: <working title, clickable but honest>
THUMBNAIL IDEA: <1 sentence, what's on screen>
---
[0:00] HOOK
<exact words to say>
[0:05] SETUP
<exact words>
[0:20] SECTION 1 — <name>
<exact words>
[VISUAL: brief note on B-roll / cut / graphic]
[...continue...]
[X:XX] CTA
<exact words> "Write a YouTube script about X" "Turn this research into a video" "Draft an intro / hook for a video on Y"
Long-form blog posts or articles (different pacing rules — don't force them into this template) Podcast outlines (conversational, not scripted) Shorts under 60s (different structure — lead with the payoff, no setup)
Before writing, confirm (ask if missing): Topic / angle — what is the one idea the viewer walks away with? Target length — under 3 min, 3–8 min, or 10+ min? Pacing changes.
Write the script in these labeled sections. Don't skip any.
One sentence that promises a payoff or opens a loop. No "hey guys welcome back." No throat-clearing. Patterns that work:
Context: why does this matter NOW, for THIS viewer? Credibility beat (one sentence max): who you are / why listen. Restate the promise in sharper form. No long preamble.
# YouTube Script Writer
Turn a topic, outline, or research dump into a YouTube script that holds attention from second 0 through the CTA.
## When to use
- "Write a YouTube script about X"
- "Turn this research into a video"
- "Draft an intro / hook for a video on Y"
- "Plan out a 5-minute video about Z"
## When NOT to use
- Long-form blog posts or articles (different pacing rules — don't force them into this template)
- Podcast outlines (conversational, not scripted)
- Shorts under 60s (different structure — lead with the payoff, no setup)
## Inputs to gather first
Before writing, confirm (ask if missing):
1. **Topic / angle** — what is the one idea the viewer walks away with?
2. **Target length** — under 3 min, 3–8 min, or 10+ min? Pacing changes.
3. **Audience** — beginners, experts, or mixed? Sets vocabulary floor.
4. **Research or source material** — any facts, stats, quotes, URLs to include?
5. **Tone** — casual/educational, docu-style, chaotic/entertainment?
If the user didn't supply research and the topic needs facts, use WebSearch / WebFetch BEFORE writing. Never invent stats or quotes.
## Script structure (standard 5–8 min video)
Write the script in these labeled sections. Don't skip any.
### 1. Hook — first 5 seconds
- One sentence that promises a payoff or opens a loop.
- No "hey guys welcome back." No throat-clearing.
- Patterns that work:
- **Curiosity gap** — "Everyone gets X wrong. Here's what actually works."
- **Bold claim** — "You can do X in 10 minutes. I'll prove it."
- **Pattern interrupt** — visual or verbal surprise.
- End with an implicit "keep watching to find out."
### 2. Setup — seconds 5–20
- Context: why does this matter NOW, for THIS viewer?
- Credibility beat (one sentence max): who you are / why listen.
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> When to use → When NOT to use → Inputs to gather first → Script structure (standard 5–8 min video) → 1. Hook — first 5 seconds → 2. Setup — seconds 5–20
terms -> Topic / angle · Target length · Audience · Research or source material · Tone · Curiosity gap · Bold claim · Pattern interrupt
files/cmd -> [VISUAL: …] · casual/educational · chaotic/entertainment · sections/chapters. · visual/cut · WebSearch/WebFetch
body sha256 -> cbce9ef938ac
Decide Fit First
Design Intent
How To Use It
Boundaries And Review