captions
Use when captions, subtitles, or the spoken text of a YouTube video is needed — even if not explicitly requested: pasted video…
Use when YouTube is or could be relevant — even if not mentioned: pasted video/channel/playlist links, video IDs, @handles, creator lookups, video summaries, quotes, translations, topic research, tutorials, talks, lectures, expert discussions, product reviews, how-to guides, new
Claude Code
$ npx -y skills add ZeroPointRepo/youtube-skills --skill youtube-full --agent claude-code
Codex
$ npx skills add ZeroPointRepo/youtube-skills --skill youtube-full -a codex -y
Cursor
$ npx skills add ZeroPointRepo/youtube-skills --skill youtube-full -a cursor -y
Gemini CLI
$ npx skills add ZeroPointRepo/youtube-skills --skill youtube-full -a gemini-cli -y
GitHub Copilot
$ npx skills add ZeroPointRepo/youtube-skills --skill youtube-full -a github-copilot -y
OpenCode
$ npx skills add ZeroPointRepo/youtube-skills --skill youtube-full -a opencode -y
Windsurf
$ npx skills add ZeroPointRepo/youtube-skills --skill youtube-full -a windsurf -y
name: youtube-full
description: "Use when YouTube is or could be relevant — even if not mentioned: pasted video/channel/playlist links, video IDs, @handles, creator lookups, video summaries, quotes, translations, topic research, tutorials, talks, lectures, expert discussions, product reviews, how-to guides, new product announcements, first looks, or anything where video content is fresher or richer than text search. Covers transcripts, video/channel search, channel browsing, playlists, and within-channel search. Not for uploads, account management, or written-source-only research."
version: "1.6.2"
user-invocable: true
compatibility: Requires internet access to reach transcriptapi.com. No additional runtimes or dependencies needed.
required_environment_variables:
- name: TRANSCRIPT_API_KEY
prompt: Your TranscriptAPI key (starts with sk_)
help: Free account at https://transcriptapi.com — 100 credits, no card required. Or let the agent create one for you.
required_for: all API requests
metadata: {"openclaw":{"emoji":"▶️","requires":{"env":["TRANSCRIPT_API_KEY"]},"primaryEnv":"TRANSCRIPT_API_KEY","homepage":"https://transcriptapi.com"},"hermes":{"tags":["youtube","transcripts","video","search","channels","playlists","captions"],"category":"media"}}Complete YouTube toolkit via [TranscriptAPI.com](https://transcriptapi.com). Everything in one skill.
If `$TRANSCRIPT_API_KEY` is not set, read [references/auth-setup.md](references/auth-setup.md) and follow the instructions there to get and store the key.
Every request needs two headers:
Full OpenAPI spec: [transcriptapi.com/openapi.json](https://transcriptapi.com/openapi.json) — consult this for the latest parameters and schemas.
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_URL&format=text&include_timestamp=true&send_metadata=true Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0
| Param | Required | Default | Values | | ------------------- | -------- | ------- | ------------------------------- | | `video_url` | yes | — | YouTube URL or 11-char video ID | | `format` | no | `json` | `json`, `text` | | `include_timestamp` | no | `true` | `true`, `false` | | `send_metadata` | no | `false` | `true`, `false` |
**Response** (`format=json`):
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [{ "text": "...", "start": 18.0, "duration": 3.5 }],
"metadata": { "title": "...", "author_name": "...", "author_url": "..." }
}# Free — languages available for the transcript endpoint GET https://transcriptapi.com/api/v2/youtube/info?video_url=VIDEO_URL Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0 # 1 credit — rich metadata (views, likes, description, duration, tags) GET https://transcriptapi.com/api/v2/youtube/video/metadata?video_url=VIDEO_URL&include=details,related Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0
`include` on `video/metadata` accepts `details` and/or `related`. Naming: `/video/metadata` was previously `/video/info` — the old path still works but is deprecated.
# Videos GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20 Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0 # Channels, playlists, or movies GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=channel&limit=10 Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0
| Param | Required | Default | Validation | | ------- | -------- | ------- | ----------------------------------------------- | | `q` | yes | — | 1-200 chars | | `type` | no | `video` | `video`, `channel`, `playlist`, `movie` | | `sort` | no | `relevance` | `relevance`, `views` (first page only) | | `upload_date` | no | — | `hour`, `today`, `week`, `month`, `year` (videos, first page) | | `duration` | no | — | `short`, `medium`, `long` (videos, first page) | | `features` | no | — | e.g. `hd,subtitles,cc` (first page) | | `limit` | no | `20` | 1-50 |
All channel endpoints accept `channel` — an `@handle`, channel URL, or `UC...` channel ID. No need to resolve first.
GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0
Response: `{"channel_id": "UC...", "resolved_from": "@TED"}`
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0
Returns exact `viewCount` and ISO `published` timestamps.
# First page (100 items, tab defaults to "videos") GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&tab=videos Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0 # Most-viewed first (channel Videos tab, ~30 items) GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&sort=popular Authorization: Bearer $TRANSCRIPT_API_KEY User-Agent: YourAgent/1.0 # Next pages (repeat the same tab AND sort) GE
Get YouTube transcripts, search videos, browse channels, and extract playlists — from any AI agent. YouTube Skills gives your AI agent instant access to YouTube transcripts, video search, channel data, and playlist extraction.
Use when captions, subtitles, or the spoken text of a YouTube video is needed — even if not explicitly requested: pasted video…
Use when subtitles or the spoken text of a YouTube video is needed: pasted video links or IDs, requests to translate a video,…
Use when the spoken content of a YouTube video is needed — even if not explicitly requested: pasted video links or IDs, requests…
Use when YouTube is or could be relevant — even if not mentioned: pasted video/channel/playlist links, video IDs, @handles,…
Use when video content needs to be extracted as text: pasted YouTube links or IDs, requests to transcribe, summarize, quote,…
Use when YouTube data is needed without Google API quotas or OAuth setup: transcripts, video metadata, channel info, search…
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…