YouTube skills: twelve names, five skills, and a key written into your shell profile
YouTube Transcript API skills for AI agents. Get transcripts, search videos, browse channels. Works with OpenClaw, Hermes Agent, and other agent runtimes.
At a glance
- What is it?
- Agent skills that give an AI agent YouTube transcripts, search, channel browsing and playlist extraction by calling a hosted API instead of downloading video. No yt-dlp, no browser, no binaries, and a hundred free credits to start. The interesting design decisions are in the alias list and in where the agent puts your key.
- Who is it for?
- The skills are a thin, well-organised client over someone else's API, and that is both the strength and the limit: there is no local fallback if the service is unreachable, and the cost model is credits rather than a flat fee. Read the pricing table before committing, because the section documenting it is the one that goes past the end of the file.
- 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 4 days ago.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on October 3, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Installing a skill means running somebody else's npm package
There are four documented install routes, and three of them execute a remote package at install time.
OpenClaw uses npx clawhub@latest install youtube-full. Hermes Agent uses hermes skills install skills-sh/ZeroPointRepo/youtube-skills/skills/youtube-full. Claude Code, Cursor, Antigravity, Cline and Codex use npx skills add ZeroPointRepo/youtube-skills --skill youtube-full, and dropping the flag installs all twelve skills. The fourth route is the only one that does not hand execution to a package:
git clone https://github.com/ZeroPointRepo/youtube-skills.git
cp -r youtube-skills/skills/youtube-full ~/.claude/skills/There is also a paste-this-prompt block for people who do not want to run commands at all, aimed at OpenClaw, Hermes, Claude and ChatGPT, which asks an agent to install the skills from the repository and set everything up.
The selection flags are worth noticing: a single skill uses --skill once, and several use the flag repeatedly, as in --skill transcript --skill youtube-search.
Signup happens in the conversation, and the key lands in a dotfile
The first-run flow is described as automatic. The agent asks for your email address and registers you with TranscriptAPI, an OTP code arrives by email and the agent asks you to enter it, and once verified the agent saves the API key to your shell and agent config.
The table of destinations has six entries. OpenClaw and Moltbot use ~/.openclaw/openclaw.json or ~/.clawdbot/moltbot.json. Hermes uses its secret store, with the variable declared through required_environment_variables in the skill frontmatter. macOS shells use ~/.zshenv or ~/.zprofile, Linux shells use ~/.profile, ~/.bashrc or ~/.zshenv, fish uses ~/.config/fish/config.fish, and there is a fallback file at ~/.transcriptapi.
Only the fallback carries a stated permission, mode 600. The shell dotfiles do not, and they are files that other tools read.
The manual alternative asks for the same result in a different way: paste the key into the agent with the instruction to store it so it persists across sessions, or set it yourself.
export TRANSCRIPT_API_KEY="sk_your_key_here"Twelve skills, five of which do the work
The recommended skill is youtube-full, covering transcripts, search, channels and playlists. Four narrower ones sit beside it: transcript for transcripts with timestamps, youtube-search, youtube-channels for uploads and @handles, and youtube-playlist.
Then the count goes to twelve, and the README explains why in one sentence: many are narrower variants or aliases of the core five, so an agent can find the right skill regardless of how the request is phrased.
That design is visible in the names. captions and subtitles both extract timed text, video-transcript does it a third time, and transcript does it a fourth. youtube-data is described as a lightweight alternative to Google's API and youtube-api as YouTube API access without the Google quota hassle, which is the same capability under two more names. transcriptapi exposes the whole backend, and yt is a quick-lookup shorthand.
So the selection surface is twelve entry points over roughly five behaviours, and the redundancy is a matching strategy rather than an accident.
The reason this exists is that YouTube blocks cloud IPs
The pitch explains its own architecture in a single sentence: no yt-dlp, because YouTube blocks all major cloud IPs, no headless browsers, and no binaries, just a fast API call that works everywhere.
That is the whole product decision. A local downloader works from a home connection and fails from a datacentre, so the alternative is to ask a hosted service that already holds the access, and bill for it in credits.
The backend is TranscriptAPI, and the README notes it is the same service behind YouTubeToTranscript.com, so the consumer site and the agent skills share one implementation. A separate MCP server for the same backend lives in a sibling repository, youtube-mcp, and is linked next to the documentation link.
Two of the twelve skills exist to smooth over that dependency. youtube-data is billed as a lightweight alternative to Google's API, and youtube-api as access without the Google quota hassle, which is the pitch aimed at anyone who would otherwise build against the official YouTube Data API and inherit its quotas.
The pricing table is the last thing in the file
The document ends at the head of a pricing table. The column headers are Plan, Price, Credits and Rate Limit, and no row follows them.
What is known before that point: there is a free tier with no credit card and 100 credits on signup, and the skill you are likely to install makes metered calls every time an agent asks for a transcript or a search.
That combination is the commercial fact worth sitting with. Bulk tasks are the obvious case, since the documented examples include getting transcripts for every video in a channel, which multiplies credits by channel size without any indication of what a credit costs or how long it lasts.
The repository has no GitHub releases, so there is no tagged version to correlate with a pricing change either. Anyone budgeting a recurring agent workload is working from a vendor dashboard rather than from a versioned table.
Four agent ecosystems, four different places to keep a credential
The key-routing table is really a compatibility chart for four agent runtimes, and each one is handled differently.
Hermes gets the cleanest treatment, since the variable is declared through required_environment_variables in the skill frontmatter, meaning the runtime knows the key is required before it runs anything. OpenClaw and Moltbot get a JSON config file, and the documentation lists two filenames because the project was renamed at some point.
The shell entries are the ones to think about, because writing a key into ~/.zshenv or ~/.profile makes it available to every process the user starts, not just this agent. That is the conventional way to store an API key on a workstation, and it is also why those files are often world-readable on a shared machine.
The fallback at ~/.transcriptapi with mode 600 is the only destination with an explicit permission, which suggests the author thought about it in one place and not the others.
Your agent picks the key up automatically after saving it, so no runtime has to be told where to look.
A repository with no code and four distribution surfaces
The top level is .codex-plugin/, .codexignore, .github/, .gitignore, CONTRIBUTING.md, LICENSE, README.md, SECURITY.md, assets/, clawhub/ and skills/.
There is no source file in that list, which is why the repository's declared primary language is empty. The product is a set of skill directories containing instructions, plus manifests that let different runtimes find them: a Codex plugin manifest in one corner, a clawhub directory for the OpenClaw registry, and a skills/ tree that the npx tools read.
The .codexignore file is the one entry with no explanation anywhere, and it exists because a Codex plugin packages a directory rather than a repository, so some files have to be excluded from the bundle.
SECURITY.md and CONTRIBUTING.md sit alongside the licences and manifests, and the repository declares no release tags at all. The last commit to the default branch was on 2026-09-29.
Everything a user installs is instructions that call a hosted service, which is worth holding in mind when weighing how much of the agent's capability survives if that service is unreachable.
Editorial conclusion
The skills are a thin, well-organised client over someone else's API, and that is both the strength and the limit: there is no local fallback if the service is unreachable, and the cost model is credits rather than a flat fee. Read the pricing table before committing, because the section documenting it is the one that goes past the end of the file. And if you install it, check what your agent wrote into your shell profile during signup, since that write happens by default.
Frequently asked questions
What does the youtube-skills repository give an AI agent?
YouTube transcripts, video search, channel browsing and playlist extraction, with no yt-dlp, no headless browser and no binaries. The work is done by a hosted TranscriptAPI service and metered in credits, with 100 free credits on signup and no credit card required.
How do I install the YouTube transcript skills?
Most users install youtube-full. OpenClaw uses npx clawhub@latest install youtube-full, Hermes uses hermes skills install skills-sh/ZeroPointRepo/youtube-skills/skills/youtube-full, and Claude Code, Cursor, Antigravity, Cline and Codex use npx skills add ZeroPointRepo/youtube-skills --skill youtube-full. A manual clone into ~/.claude/skills is also given.
How is the TranscriptAPI key obtained and stored?
On first use the agent asks for your email address, you receive a one-time code, and the agent then saves the key into your shell and agent config. The listed destinations include the OpenClaw config file, the Hermes secret store via required_environment_variables, shell dotfiles for macOS, Linux and fish, and a ~/.transcriptapi fallback at mode 600. Manual setup uses the TRANSCRIPT_API_KEY environment variable.
Why are there twelve skills in the youtube-skills repository?
Five cover the work: youtube-full, transcript, youtube-search, youtube-channels and youtube-playlist. The rest are narrower variants or aliases, including captions, subtitles, youtube-data, youtube-api, transcriptapi, video-transcript and yt, so an agent can match the right skill however a request is phrased.
Does youtube-skills need a YouTube data API key?
No. The README states that yt-dlp is not used because YouTube blocks all major cloud IPs, and the work goes through the hosted TranscriptAPI backend instead. One of the optional skills, youtube-api, is described as YouTube API access for agents without the Google quota hassle.
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/zeropointrepo-youtube-skills)