youtube-full

ZeroPointRepo/youtube-skills · Agent Skill

YouTube for your AI agent: video transcripts with timestamps, search, channels and playlists — summarize, translate or quote any video by link.

Jump to install ↓

Overview

PublisherZeroPointRepoOrganization
RepositoryZeroPointRepo/youtube-skills ↗
Skill folderyoutube-full
Stars966
Forks106
Bundled files3
LicenseMIT
Last updatedSeptember 22, 2026
LinksSkill source ↗ · Repository ↗

Mozgi check

What we found in the skill files. Details come with a subscription.

Security
medium risk · 2 points need attention
Compatibility
instructions only — works with most agents
Similar skills
133 similar skills found
Also with subscription

About this skill

YouTube Full gives an AI agent (Claude Code, Cursor, Codex, OpenClaw, Hermes and others) access to YouTube: transcripts, search, channels and playlists. Paste a video link — the agent fetches the text and summarizes, translates or quotes it.

What it does

  • Transcripts with timestamps, by URL or video ID, in multiple languages.
  • YouTube search — videos, channels, playlists, up to 50 results.
  • Channels — latest uploads, all videos, in-channel search, @handle lookup.
  • Playlists — full video list.
  • Video data — views, likes, description, duration, tags.

How it works

No downloads or headless browsers — it calls TranscriptAPI, so it works where YouTube blocks servers and yt-dlp. Requires a TranscriptAPI key: the agent helps you create one on first run. 100 free credits, then paid plans from $5/month.

The full set of 12 skills

Narrower skills are also available (transcript, youtube-search, youtube-channels, youtube-playlist and more); youtube-full includes them all. Install everything: npx skills add ZeroPointRepo/youtube-skills

By ZeroPointRepo, MIT license. Not for uploads or account management.

Installation

A skill is a folder with a SKILL.md file. Pick your agent and run the commands in a terminal (macOS, Linux or Git Bash on Windows) from your project root.

Copy the prompt into Claude, Codex or another assistant: it will review the skill and install it for you.

Install the “youtube-full” skill from mozgi.io (https://mozgi.io/skills/youtube-full/) for me.

1. Download the archive: https://mozgi.io/skills/youtube-full/download
   If it fails, take the skill folder from the source: https://github.com/ZeroPointRepo/youtube-skills/tree/main/skills/youtube-full
2. Read SKILL.md and the other files. Check the skill is safe: no hidden commands, no sending data elsewhere, no scripts doing something other than described. If anything looks suspicious, stop and tell me.
3. Put the “youtube-full” folder into your agent's skills folder: .claude/skills/ for Claude Code, .agents/skills/ for Codex, .cursor/skills/ for Cursor, .gemini/skills/ for Gemini CLI. Inside the project if we are in one, otherwise in the home folder (~/.claude/skills/ etc.).
4. Make sure <skills folder>/youtube-full/SKILL.md exists.
5. Briefly tell me what this skill does and offer to try it on my task.

If you cannot do a step yourself, tell me what to click or type.

Review the source files

3 files Download Zip

Read SKILL.md and any companion files before deciding whether to install. Click a file to preview it.

SKILL.md contents

Original author text · read-only

YouTube Full

Complete YouTube toolkit via TranscriptAPI.com ↗. Everything in one skill.

Setup

If $TRANSCRIPT_API_KEY is not set, read references/auth-setup.md ↗ and follow the instructions there to get and store the key.

Required Headers

Every request needs two headers:

  • Authorization: Bearer $TRANSCRIPT_API_KEY
  • User-Agent: your agent's name and version if known (e.g. HermesAgent/0.11.0, ClaudeCode/1.0). Version is optional — agent name alone is fine. Do not omit this header or send a bare default — Cloudflare will return a 403 (error code 1010) and block the request.

API Reference

Full OpenAPI spec: transcriptapi.com/openapi.json ↗ — consult this for the latest parameters and schemas.

Transcript — 1 credit

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": "..." }
}

Video Info & Metadata

# 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.

Search — 1 credit/page

# 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 |

Channels

All channel endpoints accept channel — an @handle, channel URL, or UC... channel ID. No need to resolve first.

Resolve handle — FREE

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"}

Latest 15 videos — FREE

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.

Channel feed (videos/shorts/streams) — 1 credit/page

# 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)
GET https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN&sort=popular
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Provide exactly one of channel or continuation. tab is videos (default), shorts, or streams. Response includes continuation_token and has_more.

Sorting. Add sort=latest, popular, or oldest to channel/videos to get a channel's videos in the order you want, for example its most-popular uploads first. A sorted page returns about 30 videos (an unsorted page returns about 100), and every page costs the same 1 credit.

When paging, send the same sort on each request.

Item fields. Every item carries members_only, true only when YouTube badges it "Members only", and those items have no viewCountText. tab=streams items carry lengthText and publishedTimeText (for example Streamed 2 years ago); tab=shorts returns null for both, because YouTube's Shorts grid publishes neither. On the channel-tab feeds (tab=videos with sort, tab=shorts, tab=streams) channelId, channelTitle, channelHandle and index are null.

Search within channel — 1 credit

GET https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=QUERY&limit=30
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Channel profile — 1 credit

GET https://transcriptapi.com/api/v2/youtube/channel/info?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Returns title, handle, verified flag, subscriber/video counts, description, tags, thumbnails, banners, and availableTabs.

Channel playlists — 1 credit/page

GET https://transcriptapi.com/api/v2/youtube/channel/playlists?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Returns each playlist's playlistId, title, url, videoCountText — feed a playlistId into the Playlists endpoint below.

Channel community posts — 1 credit/page

GET https://transcriptapi.com/api/v2/youtube/channel/posts?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Channel curated sections — 1 credit

GET https://transcriptapi.com/api/v2/youtube/channel/sections?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

tab is featured (default, Home page), podcasts, or releases.

Playlists — 1 credit/page

Accepts playlist — a YouTube playlist URL or playlist ID.

# First page
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# Next pages
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Valid ID prefixes: PL, UU, LL, FL, OL. Response includes playlist_info, results, continuation_token, has_more.

Credit Costs

| Endpoint | Cost |

| ----------------- | -------- |

| transcript | 1 |

| info | free |

| video/metadata | 1 |

| search | 1/page |

| channel/resolve | free |

| channel/info | 1 |

| channel/latest | free |

| channel/videos | 1/page |

| channel/search | 1 |

| channel/playlists | 1/page |

| channel/posts | 1/page |

| channel/sections | 1 |

| playlist/videos | 1/page |

Validation Rules

| Field | Rule |

| ---------- | ------------------------------------------------------- |

| channel | @handle, channel URL, or UC... ID |

| playlist | Playlist URL or ID (PL/UU/LL/FL/OL prefix) |

| q | 1-200 chars |

| type (search) | video (default), channel, playlist, movie |

| tab (channel/videos) | videos (default), shorts, streams |

| sort (channel/videos) | latest, popular, oldest (omit for the uploads feed) |

| tab (channel/sections) | featured (default), podcasts, releases |

| include (video/metadata) | details, related (comma-separated) |

| limit | 1-50 |

Errors

| Code | Meaning | Action |

| -------- | ---------------- | ---------------------------------------------- |

| 401 | Bad API key | Check key |

| 402 | No credits | transcriptapi.com/billing |

| 403/1010 | Cloudflare block | Add or fix User-Agent header |

| 404 | Not found | Resource doesn't exist or no captions |

| 408 | Timeout | Retry once after 2s |

| 422 | Validation error | Check param format |

| 429 | Rate limited | Wait, respect Retry-After |

Typical Workflows

Research workflow: search → pick videos → fetch transcripts

# 1. Search
GET https://transcriptapi.com/api/v2/youtube/search?q=machine+learning+explained&limit=5
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 2. Transcript
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Channel monitoring: latest (free) → transcript

# 1. Latest uploads (free — pass @handle directly)
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 2. Transcript of latest
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits.

Copy-paste examples

Every request in this file as a ready-to-run one-liner: references/curl-examples.md ↗

Frequently asked questions

What does the youtube-full skill do?

YouTube for your AI agent: video transcripts with timestamps, search, channels and playlists — summarize, translate or quote any video by link.

How do I install youtube-full?

Open the “Installation” block on this page and pick your agent — Claude Code, Codex, Cursor or Gemini CLI — for ready-made commands that copy the skill folder to the right place. Or copy the prompt from the “Via assistant” tab and let the assistant review and install the skill.

Which AI models work with youtube-full?

Skills are plain Markdown instructions (the Agent Skills format), so youtube-full works with any agent that reads SKILL.md: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and more. The model loads the instructions only when a task matches the skill's description.

Is youtube-full free?

The skill is published openly by ZeroPointRepo under the MIT license. The skill itself costs nothing — you only pay your AI provider for the tokens you use.

Is it safe to install skills?

A skill is a set of instructions your agent will follow, so read SKILL.md and its companion files before installing. Scripts in the skill folder only run if your agent runs them — keep an eye on what it does and do not grant unnecessary permissions.

How is a skill different from an MCP server or a plugin?

An MCP server or plugin gives the model new tools — code that runs and returns a result. A skill gives it knowledge and process: how to approach a task, which steps to follow and what good output looks like. It needs no server or API key.

Related skills

All skills →