video-script
Skill5 starsChanged 44 days agoMITView on GitHub
Write, check and improve a YouTube script for the Firecrawl channel using what the channel's own retention and performance data says works. Drafts client-videos/firecrawl/<slug>/script.md in the user's voice and structure, checks the opener, length and middle against the retention rules, scores title options, offers a fact-check, and after publishing links the video to its script so its retention feeds back into the rules. Use when the user asks to write, draft, rework, check or review a video script, fix an intro, or asks "is this script good".
23 other projects use a version of this.
Adopted by
Most recently taken up by
- vargHQ/skillstheir own version, first seen Nov 8, 2026
- dotslashsimran/simcrafttheir own version, first seen Nov 8, 2026
- smiling66652/workbuddy-skill-toolkitstheir own version, first seen Nov 1, 2026
- zenstory-ai/video-recap-skillstheir own version, first seen Oct 30, 2026
- allenmagic8888/video-frame-extractor-claudetheir own version, first seen Oct 25, 2026
- aaronjmars/miroshark-aeontheir own version, first seen Oct 21, 2026
Other versions23 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 23
- itwanger/toBeBetterJavaer★ 18ksame name
- ZJU-REAL/Easel★ 4.5ksame name
- indranilbanerjee/digital-marketing-pro★ 934same name
- aaronjmars/aeon★ 789same name
- aeonfun/aeon★ 789same name
- zenstory-ai/video-recap-skills★ 613same name
- goodnight000/cstack★ 161same name
- bozhouDev/video-skills-toolkit★ 147same name
- dotslashsimran/simcraft★ 69same name
- AlemTuzlak/skills★ 45same name
13 more not listed
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 repository21 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- delegateSkill
- finish-featureSkill
- new-projectSkill
- prune-context-fileSkill
- questionsSkill
- reddit-firecrawl-supportSkill
- reference-led-websitesSkill
- say-as-meSkill
- short-edit-beaconSkill
- short-editSkill
- shortSkill
- shorts-writerSkill
- site-designSkill
- sync-docsSkill
- title-researchSkill
- title-scoreSkill
- tweetSkill
- verifySkill
- wdytSkill
- website-reference-curatorSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Read these first, every time:
- Very specific: line 32
Create $VIDEOS_DIR/<short-slug>/script.md, or edit the existing one, in this shape:
- Distinctive: line 37
If the user wants a particular first line (for example "this is X"), keep it and put the hard number in the very next line.
- Distinctive: line 38
Never open by recapping news ("X was just released", "topping the benchmarks", "people are sharing demos", "the official X is now …
- Distinctive: line 43
Run each demo once, or read its code, so the steps, button names and example inputs in the script match what's on screen.
- Distinctive: line 50
every source URL, Hacker News threads and X posts.
- Distinctive: line 56
Run all of these and report the results plainly:
- Very specific: line 73
If a lesson contradicts a rule in this SKILL.md, fix the rule here as well.
- Very specific: line 78
Add "<slug>": "<video_id>" to data/script-map.json (video IDs from scripts/channel_videos.py).
- Distinctive: line 79
After about two weeks, pull its retention and rerun the comparison:
- Very specific: line 86
If it breaks a rule's pattern (a recap opener that held, or a hook that didn't), update data/script-retention.md and the rules in …
“Common” is measured: kept by at least 6 in 10 of the 16 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
video-script
The channel's data and scripts live in the firecrawl-data repo; this skill's own files sit next to this SKILL.md:
REPO=~/fc/firecrawl-data/youtube
SKILL=<absolute path of the directory containing this SKILL.md>
VIDEOS_DIR=~/client-videos/firecrawlBare paths below (data/..., references/what-performs.md, scripts/...) are relative to $REPO. $SKILL/references/lessons.md is this skill's own file.
Before writing
Read these first, every time:
$SKILL/references/lessons.md: what the user has corrected and approved in past scripts (how to propose edits, hooks, structure of build videos, voice, Notes). These override the general guidance below where they conflict.references/what-performs.md: the pitch signals and the script rules (hook in lines 1 and 2, no recap opener, worked demos or a live build in the middle, 4 to 6 minutes).data/script-retention.md: which real openings held viewers and which lost them, with the numbers.- The three most recent
script.mdfiles in$VIDEOS_DIR(ls -t), for the user's structure and voice.
If the topic hasn't been researched yet, gather primary sources first: the repo, docs or announcement, pricing pages for any money claim, and the numbers you plan to say on camera. Never put a number in a script that you haven't read in a source.
Writing
Create $VIDEOS_DIR/<short-slug>/script.md, or edit the existing one, in this shape:
- Several
#title options at the top. Pitch through a hook (money, free, a pain, a surprising number), never "Feature X explained". ## Intro:- The first two spoken lines carry the hook: the viewer's problem, or a specific surprising fact with a real number.
- If the user wants a particular first line (for example "this is X"), keep it and put the hard number in the very next line.
- Never open by recapping news ("X was just released", "topping the benchmarks", "people are sharing demos", "the official X is now available").
## Exp: the explanation, kept short. Its first line names the product.## Build your own(build videos only): one numbered step per tutorial branch, written from the real code.## Demo: worked demos as numbered### 1.,### 2.subsections, or one live build. Leave results as placeholders like[results]; never invent them.- Every demo must be something the user can run: a live site, a repo or branch, or an exact prompt in a named tool. Before writing one, find it (
$VIDEOS_DIR/<slug>/demo, a tutorial repo, a deployed URL) or ask the user what they'll show. If it doesn't exist yet, say so and offer to build it rather than scripting around it. - Run each demo once, or read its code, so the steps, button names and example inputs in the script match what's on screen.
- Every demo must be something the user can run: a live site, a repo or branch, or an exact prompt in a named tool. Before writing one, find it (
## Outro: includes the 500 extra credits line.## Notes:- for anything demoed or built on camera, "Recording the build" and "Recording the demo" blocks: how to run it, which examples are cached, per-demo gotchas and what to re-check on the day;
- caveats to say on camera;
- claims to avoid;
- key numbers with sources;
- every source URL, Hacker News threads and X posts.
Voice: short spoken lines, mostly lowercase, one idea per line, [url] and [show ...] cues for what's on screen. Match the recent scripts, not a polished blog tone.
Checking
Run all of these and report the results plainly:
python3 "$REPO/scripts/script_check.py" "$VIDEOS_DIR/<slug>/script.md"script_check.py is a heuristic fitted to 18 past videos. It is right about most openers but has missed two (Fable 5.1 and the Developer Index), so treat a PASS or WARN on the opener as a prompt to reread the opener against data/script-retention.md, not as a verdict. Fix FAILs before recording unless the user decides otherwise.
- Score the title options with the
title-scoreskill if it's installed. - Offer a fact-check with the
delegateskill: an independent model reads the script against the primary sources and lists anything wrong, misleading or unverifiable. Apply the fixes and add a line to Notes saying what was checked.
Updating this skill
At the end of every script session, before saying you're done:
- List what the user changed, rejected or praised in the script (rewritten lines, cut sections, "much better", "doesn't make sense").
- Turn each into a one-line lesson with its reason, and add it to the right section of
$SKILL/references/lessons.md, tagged with the video slug. Merge it into an existing lesson if it repeats one; don't add duplicates. - If a lesson contradicts a rule in this SKILL.md, fix the rule here as well.
- Show the user the lessons you added in one short list, then commit in
~/skills(stage onlyvideo-script/).
After the video is published
- Add
"<slug>": "<video_id>"todata/script-map.json(video IDs fromscripts/channel_videos.py). After about two weeks, pull its retention and rerun the comparison:
python3 "$REPO/scripts/studio_retention.py" <video_id> python3 "$REPO/scripts/retention_vs_scripts.py"- If it breaks a rule's pattern (a recap opener that held, or a hook that didn't), update
data/script-retention.mdand the rules inreferences/what-performs.md. - Back up
$REPOthe usual way (it isn't a git repo), and commit any skill changes in~/skills.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

