Pack · #31 trending skills repo · ↗ +1.0k stars this week
Youtube Agent Skill
Jakeschincariol/youtube-agent-skill
Eleven Claude skills that run a YouTube channel: scripts off 21 hook formulas with a scored hook, title and thumbnail linted as one pairing, an edit decision list from your transcript, a retention reader that finds where viewers actually leave, a Shorts cutter, and a virality engine. Free, MIT.
- Stars
- 5.0k
- This week
- +1.0k
- Forks
- 1.5k
- Open issues
- 85
- Skills inside
- 11
Get started
Install the skills
npx skills add Jakeschincariol/youtube-agent-skillInstalls into Claude Code, Codex, Cursor, OpenCode and the other agents it finds on your machine.
/plugin marketplace add Jakeschincariol/youtube-agent-skill
/plugin install youtube-agentRun inside Claude Code, then pick what to install from /plugin.
git clone --depth 1 https://github.com/Jakeschincariol/youtube-agent-skill.git /tmp/youtube-agent-skill
cp -r /tmp/youtube-agent-skill ~/.claude/skills/youtube-agent-skillClaude Code reads ~/.claude/skills/ (or .claude/skills/ in a project). Other agents read the same SKILL.md format from their own skills folder.
Inside this repo
11 skills
skills/yt-audityt-chapters- Write YouTube chapters from a transcript, validated against YouTube's own rules so they actually render. Use for "add chapters", "timestamps", "break this video into sections".skills/yt-chaptersyt-comment- Draft replies to YouTube comments in the creator's voice, triaged by which ones are worth answering. Use for "reply to my comments", "handle the comment section", "someone asked X", or a pasted comment thread.skills/yt-commentyt-edit- Turn a raw recording's transcript into an edit decision list - dead air, filler cues and retakes, with timecodes. Use for "edit this", "cut the dead space", "tighten this video", "I rambled", or any request to shorten footage from a transcript.skills/yt-edityt-package- Write and lint the title and thumbnail for a YouTube video as one pairing, checking truncation, duplication and vagueness before publish. Use for "title ideas", "what should I call this", "thumbnail text", "my CTR is bad", packaging, or any request to rename or repackage an existing video.skills/yt-packageyt-plan- Plan a week or a month of YouTube uploads - what to post, when, and in what order, sized to the creator's actual capacity. Use for "plan my week", "content calendar", "what should I post", "I have no idea what to make next".skills/yt-planyt-retention- Read a YouTube Studio audience-retention export and find where viewers actually leave, then say what to change. Use for "why do people stop watching", "my retention is bad", a pasted retention chart or CSV, or "fix my pacing".skills/yt-retentionyt-script- Write a YouTube video script from a raw idea - hook options off 21 formulas, scored, then the full spoken script with the retention beats marked. Use whenever the user wants a video script, a hook, an opening line, "what should I say", "write my next video", or is about to record and does not haveskills/yt-scriptyt-seo- Write the description, tags and search-facing text for a YouTube video, aimed at the query a real person types. Use for "write my description", "tags", "SEO", "help this video get found", "nobody is finding this".skills/yt-seoyt-shorts- Find the Shorts hiding inside a long video and write them, using the transcript to pick self-contained moments. Use for "cut this into shorts", "clip this", "repurpose this video", "what should I clip".skills/yt-shortsyt-viral- Find what is actually working in the user's niche on YouTube and rank it by how far each video beat its own channel, then name the formula. Use for "what's working right now", "find viral videos in my niche", "why did this blow up", competitor research, or a swipe file.skills/yt-viralDocumentation
README
The YouTube agent skill
Eleven Claude skills that run a YouTube channel. Free, MIT, no signup, no API key, nothing to connect.
One of them writes your script off 21 hook formulas and scores the hook before you waste a take on it. One lints the title and the thumbnail as a single pairing, because writing them separately is why half of your click surface says the same thing twice. One reads your audience-retention export and tells you the exact second people left and what you were saying when they did. One turns a transcript into an edit decision list. One finds the Shorts already hiding inside a long video. One goes and finds what is working in your niche and ranks it by how far each video beat its own channel, not by how big the channel is.
Nothing gets published until you do it. These skills write. You upload.
Install
Paste this into Claude:
https://github.com/Jakeschincariol/youtube-agent-skill
Install this skill, then confirm /yt-script works.
Or do it yourself, in Claude Code:
git clone https://github.com/Jakeschincariol/youtube-agent-skill.git
cp -r youtube-agent-skill/skills/yt-* ~/.claude/skills/
Or as a plugin:
/plugin marketplace add Jakeschincariol/youtube-agent-skill
/plugin install youtube-agent
Project-local instead of global: copy the same folders into your repo's .claude/skills/. No Claude
Code at all? Paste any single SKILL.md at the top of a chat and it runs as a mode. You lose the six
Python tools, which is most of the point of /yt-script, /yt-retention and /yt-edit, but the
rest works.
Then spend ten minutes on templates/voice.md. Copy it to
~/.claude/youtube/voice.md and fill it in, or send Claude three of your own videos and say "write
my voice.md from these". Every skill reads that file. It matters more here than anywhere else,
because you have to say the words out loud.
The eleven
| command | what it does |
|---|---|
/yt-script |
One idea into a script. Five hooks off 21 formulas, scored, then the spoken script with the retention beats marked. |
/yt-package |
Title and thumbnail as one pairing, linted for truncation, duplication and vagueness. |
/yt-edit |
A transcript into an edit decision list: dead air, filler cues, retakes, with timecodes. |
/yt-comment |
The comment section triaged into four piles, then replies in your voice. Says which one to pin. |
/yt-plan |
A week that fits the hours you actually have. One anchor, one cheap one, three Shorts. |
/yt-viral |
What is working in your niche, ranked by multiple over each channel's own median. |
/yt-retention |
Your retention export read properly: hook leak, the cliffs, the slide, and what to change. |
/yt-shorts |
The Shorts already inside a long video, with a new first line written for each. |
/yt-seo |
The description, the tags that are worth having, and the three queries this should win. |
/yt-chapters |
Chapters from a transcript, validated against YouTube's own rules so they render. |
/yt-audit |
The whole channel, ending in ONE fix rather than twenty. |
The six tools
Every one of these runs on a clean Python 3 with no dependencies. They are the reason the skills are not just prompts.
python3 skills/yt-script/hookscore.py --hook "one line" # 5-property hook panel
python3 skills/yt-package/title.py --title "..." --thumb "..." # title + thumbnail linter
python3 skills/yt-edit/deadair.py transcript.srt # edit decision list
python3 skills/yt-chapters/chapters.py transcript.srt # validated chapters
python3 skills/yt-retention/retention.py retention.csv # where they left, and why
python3 skills/yt-viral/swipe.py collected.json --min 2.0 # outliers by own-channel multiple
The fine print
The part most packs leave out.
It does not publish. YouTube's Data API would allow it with your own OAuth, which makes this pack different from the LinkedIn and Instagram ones, where posting is not available at all. It is still not built here: every skill ends in a block you copy and a question — ship it, or change it? Anything that claims to run your channel unattended should be read with that distinction in mind.
hookscore.py is a heuristic, not a predictor. The panel was built and calibrated against 74
real short-form hooks (the first 15 seconds of auto-captions, top-8 and bottom-8 by views across
five channels). It separates deliberately bad hooks from real ones well. It separates a given
creator's hits from their own misses barely at all. A low score is a reason to look again; a high
score is not a promise.
The formula classifier is about the words, not the result. When /yt-viral says a title used
The Statistic, that is a judgement about the title you can see, not a claim about why the video got
its views.
/yt-viral reads, it does not scrape. Public listings only. It never logs in as you and never
touches your credentials.
Tags barely matter and this pack says so instead of selling you a tag generator.
Nothing invents a number. If a skill wants a figure it does not have, it asks you for it or writes the line without it.
Licence
MIT. Use it, change it, ship it.