by artemchuikin
Drop-in Agent Skills that teach AI agents to read YouTube: transcripts, search, channels, playlists and bulk exports. 12 skills for Claude Code, Cursor, Codex, OpenClaw and Hermes.
# Add to your Claude Code skills
git clone https://github.com/artemchuikin/youtube-skillsGuides for using ai agents skills like youtube-skills.
See how youtube-skills compares with popular alternatives.
youtube-skills is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by artemchuikin. Drop-in Agent Skills that teach AI agents to read YouTube: transcripts, search, channels, playlists and bulk exports. 12 skills for Claude Code, Cursor, Codex, OpenClaw and Hermes. It has 124 GitHub stars.
youtube-skills's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/artemchuikin/youtube-skills" and add it to your Claude Code skills directory (see the Installation section above).
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh youtube-skills against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
See comparison
Drop-in skills that let a coding or chat agent pull YouTube transcripts, run searches, walk channels and export whole playlists.
An Agent Skill is a folder of instructions an agent loads when the task matches. The 12 skills in this repo cover YouTube end to end. Each one names its endpoint, shows the exact request, lists every parameter with defaults and limits, and maps every error code to a recovery, so the agent makes the right call on the first try instead of guessing. No yt-dlp, no headless browser, no Google Cloud project. One HTTPS request per answer.
Works with Claude Code, Cursor, Antigravity, Cline, Codex, OpenClaw, Hermes Agent, and anything else that reads the Agent Skills format.
Made by TranscriptOut · API docs · MCP server
npx skills add artemchuikin/youtube-skills --skill youtube-full
Then ask the agent something it previously had to refuse.
What does this talk actually claim? https://www.youtube.com/watch?v=dQw4w9WgXcQ
The first run also takes care of the API key, without leaving the chat. The agent asks for your
email, a 6-digit code arrives in your inbox, you read it back, and a fresh sk_ key lands in your
shell or agent config. The account behind it is free, starts with 100 credits and never asks for a
card.
Hermes Agent
hermes skills install skills-sh/artemchuikin/youtube-skills/skills/youtube-full
All 12 skills at once
npx skills add artemchuikin/youtube-skills
Manual (git clone)
git clone https://github.com/artemchuikin/youtube-skills.git
cp -r youtube-skills/skills/youtube-full ~/.claude/skills/
OpenClaw (ClawdBot/Moltbot). Copy a folder from clawhub/ into your skills directory. The
clawhub/ tree carries the same 12 skills with bash-style examples.
No terminal at all. Paste this into the agent and let it do the work.
Install the youtube skills from this GitHub repo: https://github.com/artemchuikin/youtube-skills
I want to get YouTube transcripts, search YouTube, and browse channel videos from my agent.
Set everything up for me.
Installing skills and creating the API key are both things these skills teach the agent to do.
Every row is something you can say to the agent word for word. The skill turns it into the right API call.
| Ask for | For example |
|---|---|
| A transcript | "What does this video actually say? [URL]" |
| A summary or quote | "Pull the three strongest quotes from this talk" |
| Subtitles as files | "Export this video's subtitles as SRT" |
| A YouTube search | "Find recent talks about Rust async and pick the best three" |
| A channel's news | "Anything new on @kurzgesagt this week?" |
| A channel's catalogue | "List everything @3blue1brown has ever uploaded" |
| Search inside a channel | "Find every Fireship video that mentions Postgres" |
| A whole playlist | "Turn this lecture course into study notes" |
| A bulk export | "Queue transcripts for all 800 videos on this channel" |
| RAG-ready chunks | "Fetch this playlist's transcripts in ~1000-character segments for my index" |
youtube-full is the right answer for most people. One skill, the whole surface. The narrower
ones exist because a skill is context the agent has to carry, and a workflow that only ever needs
transcripts should not pay for playlist documentation.
| Skill | What it does | Install |
|---|---|---|
| youtube-full | Everything. Transcripts, search, channels, playlists, bulk jobs | --skill youtube-full |
| transcript | Video transcripts with timestamps | --skill transcript |
| youtube-search | Search YouTube for videos and channels | --skill youtube-search |
| youtube-channels | Uploads, latest videos, search within a channel | --skill youtube-channels |
| youtube-playlist | Every video of a playlist | --skill youtube-playlist |
# one skill
npx skills add artemchuikin/youtube-skills --skill transcript
# several at once
npx skills add artemchuikin/youtube-skills --skill transcript --skill youtube-search
Beyond the core five, the rest are vocabulary variants of the same capabilities. People say "captions", "subtitles", "video to text" or "youtube api" for overlapping things, and an agent picks a skill by matching your words against skill descriptions, so each phrasing has a skill that answers to it.
| Skill | Description |
|---|---|
| youtube-full | Complete toolkit. Transcripts + search + channels + playlists + bulk jobs |
| transcript | Extract the transcript of any YouTube video, with timestamps |
| captions | Closed captions / CC, including SRT and VTT files |
| subtitles | Subtitles from YouTube videos, including SRT and VTT files |
| youtube-search | Search YouTube for videos and channels |
| youtube-channels | Channel uploads, latest videos, in-channel search |
| youtube-playlist | All videos of a YouTube playlist |
| youtube-data | Video and channel data without Google's API quotas |
| youtube-api | YouTube API access for agents, no Google Cloud project |
| transcriptout | The full API surface in one skill |
| video-transcript | Convert YouTube videos to text |
| yt | Quick lookups. Transcript, search, channel latest |
The unit is a credit, and one credit is one answered request.
| Request | Cost |
|---|---|
| transcript of one video (any of 5 formats) | 1 |
| video metadata + available caption languages | 1 |
| YouTube search | 1 per page |
| channel latest (~15 newest videos) | 1 |
| channel videos | 1 per page (100 videos, or 500 IDs) |
| search within a channel | 1 per page |
| playlist videos | 1 per page (100 videos, or 500 IDs) |
| search within a playlist | 1 |
| bulk job submit | 1 per video |
| bulk job progress, results, cancel | free |
A call that dies before reaching YouTube (bad parameter, rate limit, service busy) refunds itself automatically. A confirmed "this video has no captions" costs the credit, because the lookup really happened. The rate limit is 200 requests per minute per key on every plan.
| Plan | Price | Credits |
|---|---|---|
| Free | $0 | 100 on signup, one-time |
| Starter | $4.49/month | 1,000/month |
| Starter Annual | $45.29/year (~$3.77/mo) | 1,000/month |
| Scale | slider up to $198.99/mo | up to 100,000/month |
Subscription volume is a slider from 1,000 to 100,000 credits per month in steps of 1,000, and the per-1,000 rate falls as the volume grows. Full pricing →
Bulk export is one job, not a loop. The agent collects video IDs cheaply (ids_only=true returns
up to 500 per page), submits them all in a single POST /v1/transcripts (up to 4,000 videos), and
reads results page by page while the job is still running. Duplicates are dropped before billing,
an Idempotency-Key makes retries free, the job paces itself inside the rate limit instead of
tripping 429s, and any video the service fails to deliver is refunded on its own. A full channel
archive that used to be an evening of scripting is three prompts.
Transcripts arrive pre-chunked if you ask. The segment parameter (20 to 5,000 characters)
controls how the text is cut, and 500 to 1,500 gives retrieval-sized pieces with real context. Cut
points come from per-word timestamps in YouTube's raw srv3 data, so each chunk's start is the
moment the words are actually spoken rather than an interpolation. segment=1000&format=json goes
straight into an embedding pipeline with no re-chunking step.
The in-chat flow above is optional. The manual way takes two minutes.
sk_
and is shown once.export TRANSCRIPTOUT_API_KEY="sk_your_key_here"
Or hand it to the agent and let it persist the value.
"My TranscriptOut key is
sk_..., store it so it persists across sessions."
The storage location depends on which runtime the agent lives in.
| Location | File |
|---|---|
| OpenClaw/Moltbot | ~/.openclaw/openclaw.json or ~/.clawdbot/moltbot.json |
| Hermes Agent | Hermes secret store (TRANSCRIPTOUT_API_KEY declared via required_environment_variables in skill frontmatter) |
| macOS shell | ~/.zshenv, ~/.zprofile |
| Linux shell | ~/.profile, ~/.bashrc, ~/.zshenv |
| Fish shell | ~/.config/fish/config.fish |
| Fallback | ~/.transcriptout (mode 600) |
The agent picks it up automatically after saving.
Yes, and there is a purpose-built endpoint for it. Install youtube-full and ask for transcripts
of a playlist or channel. The agent gathers the IDs and submits one batch job for up to 4,000
videos, then reads results as they land. Same price per video as single calls.
No. These skills replace the Data API for transcripts, search, and channel and playlist listings, without a Google Cloud project, quota units or OAuth screens. Google's API also does not return t