youtube-agent-skill: a Claude workflow for YouTube production
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.
At a glance
- What is it?
- youtube-agent-skill packages eleven Claude commands and six Python tools for scripting, editing, packaging, retention analysis, Shorts extraction, SEO, and channel review. It writes production material for a human to publish, with no YouTube credentials or publishing automation.
- Who is it for?
- Solo creators who already use Claude and want a repeatable production workflow should evaluate this repository, especially if they will prepare voice.md and review generated materials before uploading. Publishers seeking unattended YouTube integration should reject it because it has no publishing mechanism.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 37 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
youtube-agent-skill's place in a YouTube production workflow
youtube-agent-skill targets creators who plan, write, edit, package, and review YouTube videos but do not want the project to control their YouTube account. Its eleven Claude skills cover a full editorial cycle: script development, title and thumbnail review, transcript editing, comment triage, weekly planning, niche research, retention analysis, Shorts extraction, search metadata, chapters, and channel auditing.
The repository is most useful when a creator has source material and wants Claude to produce a draft or structured decision list. It is not a YouTube API client and does not publish videos. The README states, "Nothing gets published until you do it." Each workflow therefore ends with material for the creator to inspect, copy, and upload.
The intended users are Claude users and Claude Code users. A creator can install all eleven skills as local folders, install the package as a plugin, or paste an individual SKILL.md into a chat. The last option is convenient but loses the six Python tools. That distinction matters because the README calls those tools the main reason the repository is "not just prompts."
Claude skills and dependency-free Python tools
The repository is organized around skill folders under skills/, plus templates/, .claude-plugin/, and the root LICENSE file. The Claude skills provide workflows and questions, while six Python programs perform bounded analysis tasks. The README says every tool runs on clean Python 3 without dependencies.
The available tools are divided by production stage. hookscore.py evaluates a proposed one-line hook. title.py checks a title and thumbnail together. deadair.py converts an SRT transcript into edit decisions. chapters.py derives chapters from an SRT transcript and validates them against YouTube's rules. retention.py analyzes a retention CSV. swipe.py ranks collected channel data by each video's multiple of its channel median.
This architecture keeps some operations reproducible without requiring access to a creator's YouTube account. However, the README does not establish that the tools are a complete application with persistent state, a database, or scheduled jobs. The six scripts appear to be local analyzers called through Claude workflows. The exact input schema for collected.json is not documented in the README, which limits independent assessment of swipe.py from that file alone.
Installing youtube-agent-skill in Claude Code
For Claude Code, the README offers a direct Git installation. Clone the repository and copy every yt-* skill folder into the user's global Claude skills directory. This installs all eleven skills rather than a single workflow.
git clone https://github.com/Jakeschincariol/youtube-agent-skill.git
cp -r youtube-agent-skill/skills/yt-* ~/.claude/skills/The first command downloads the repository. The second places its skill folders in ~/.claude/skills/. The README does not document a post-copy verification command beyond asking Claude to confirm that /yt-script works.
A plugin installation is available through Claude's plugin commands:
/plugin marketplace add Jakeschincariol/youtube-agent-skill
/plugin install youtube-agentThe repository also supports project-local installation by copying the same skill folders into .claude/skills/. This is useful when a team wants the YouTube workflows scoped to one repository rather than every Claude conversation. The README does not give a separate command for that project-local copy.
Configuring voice.md and running the first script
Installation is not the only setup step. The README asks users to spend time on templates/voice.md and copy it to ~/.claude/youtube/voice.md. Every skill reads that file, which is intended to capture how a creator actually speaks. Users may instead ask Claude to produce voice.md from three of their own videos.
The documented Claude installation request can be pasted into Claude before using the plugin or copied skills:
https://github.com/Jakeschincariol/youtube-agent-skill
Install this skill, then confirm /yt-script works.After setup, the first substantive command is /yt-script. The README says it takes one video idea, generates five hooks using 21 formulas, scores those hooks, and then writes the spoken script with retention beats marked. Hook generation and scoring are accessible separately through hookscore.py:
python3 skills/yt-script/hookscore.py --hook "one line"The output is described as a five-property hook panel. The score is not a prediction of views. A low score is presented as a reason to revise, while a high score does not guarantee audience response.
Retention and edit analysis from exported files
The clearest data-processing workflows are /yt-retention and /yt-edit. /yt-retention reads a YouTube audience-retention export and is described as locating hook leaks, retention cliffs, a slide, and content that should change. The underlying command accepts retention.csv:
python3 skills/yt-retention/retention.py retention.csvThe README does not show the expected CSV columns, so a creator must inspect their own export before relying on the command. It also does not claim that retention analysis establishes why viewers left. It reports where the exported curve changes and what the transcript was saying at that time, leaving the interpretation to the creator.
The editing workflow uses an SRT transcript and produces timecoded decisions for dead air, filler cues, and retakes:
python3 skills/yt-edit/deadair.py transcript.srtThis output is an edit decision list, not an edited video. The README does not document automated export, rendering, or reconnection to YouTube. It is a prepared list for an editor or creator using the workflow.
Package, Shorts, chapters, and channel-review boundaries
The packaging workflow treats a title and thumbnail as one communication surface. /yt-package checks the pairing for truncation, duplication, and vagueness rather than accepting the two assets independently. Its direct command is:
python3 skills/yt-package/title.py --title "..." --thumb "..."The ellipses here are placeholders from the README, not example titles to publish unchanged. /yt-shorts searches a long video's transcript for material suitable as Shorts and writes a new opening line for each candidate. /yt-chapters creates chapters and checks whether they meet YouTube's rendering rules:
python3 skills/yt-chapters/chapters.py transcript.srtAt channel level, /yt-audit produces one recommended fix rather than a long generic checklist. /yt-plan limits a week to available production time and proposes one anchor video, one inexpensive video, and three Shorts. These commands encode workflow choices, so users who reject that editorial mix will need to modify the skills. They are templates for decisions, not neutral analysis engines.
What /yt-viral measures and what it cannot establish
/yt-viral is intended to identify videos that outperform their own channels rather than simply favoring creators with large audiences. The README says results are ranked by a video's multiple over its channel median. Its tool interface is:
python3 skills/yt-viral/swipe.py collected.json --min 2.0The `--min 2.0` argument sets the displayed outlier threshold shown in the documentation. The collected data must already exist in JSON. The skill reads public listings and does not log in or use credentials. It does not scrape YouTube itself.
Its formula classifier describes words in visible titles. A classification such as The Statistic is a statement about the title, not evidence that the formula caused a video to gain views. This is a useful distinction for research: the workflow can surface candidates that beat their channel baseline, but it cannot isolate causal factors from its documented inputs. Unlike a channel analytics platform connected directly to YouTube, it also does not claim to fetch private performance data.
Maintenance, upgrades, and MIT licensing
The repository is not archived, and its last push was on 2026-09-16. It has no GitHub releases, so there is no documented release cadence or upgrade channel beyond using repository history or reinstalling the skills. The README does not document compatibility ranges for Python 3 or Claude, nor does it promise migration support for changed YouTube exports. Those are concrete upgrade checks for an adopter.
The project uses the MIT License. The repository's own summary permits use, modification, and redistribution under that license. This is a practical licensing note rather than legal advice. Organizations should inspect the root LICENSE file themselves when modifying or redistributing the skills.
The strongest documented limitation is the boundary between assistance and operation. The repository writes scripts, metadata, edit lists, replies, chapters, and analysis. It does not publish, authenticate, or upload. The hook scorer also has a narrow calibration set: 74 short-form hooks drawn from the first 15 seconds of auto-captions across five channels. Its separation of deliberately weak hooks from stronger ones is documented, but its ability to distinguish one creator's hits from that creator's misses is limited.
Claude skills versus direct YouTube API automation
A direct YouTube Data API integration is the main alternative when automation is the deciding requirement. Such an integration can be built around a creator's OAuth credentials and can address publishing operations rather than merely preparing text. The README explicitly notes that YouTube's Data API permits publishing with the user's OAuth, while this repository does not implement it.
Claude skills are a different approach. They preserve a conversational editorial process, ask for missing figures, and produce copyable blocks for review. A creator can revise an idea through dialogue, combine human judgment with script-based checks, and retain control over account access. The cost is manual completion of publishing and some workflows that depend on exported files.
For teams seeking scheduled uploads, API error handling, authenticated analytics, or channel mutations, this repository misses the central requirement. For individual creators who want drafting and analysis without exposing credentials, that boundary is a feature rather than a defect.
Editorial conclusion
Solo creators who already use Claude and want a repeatable production workflow should evaluate this repository, especially if they will prepare voice.md and review generated materials before uploading. Publishers seeking unattended YouTube integration should reject it because it has no publishing mechanism. Agencies requiring verified analytics ingestion should verify their export format first, since retention.py documents CSV input while /yt-viral depends on a collected.json structure whose schema is not shown in the README.
Frequently asked questions
Does youtube-agent-skill publish videos to YouTube?
No. Every skill produces material for review, and the creator performs the upload. The repository does not use YouTube credentials or implement YouTube publishing.
What happens if I paste a youtube-agent-skill into Claude without Claude Code?
An individual SKILL.md can run as a mode in a normal chat. This route loses the six Python tools, including important support for /yt-script, /yt-retention, and /yt-edit.
Can youtube-agent-skill predict whether a hook will go viral?
No. hookscore.py is documented as a heuristic calibrated against 74 short-form hooks. A high score is not a promise, and the tool separates clearly weak hooks better than a creator's hits from that creator's misses.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/jakeschincariol-youtube-agent-skill)Was this useful?