youtube-full
ZeroPointRepo/youtube-skills · Agent Skill
為 AI 代理提供 YouTube:帶時間戳的影片逐字稿、搜尋、頻道與播放清單——貼上連結即可摘要、翻譯或引用影片。
前往安裝 ↓總覽
| 發布者 | |
|---|---|
| 儲存庫 | ZeroPointRepo/youtube-skills ↗ |
| 技能資料夾 | youtube-full |
| 星 | 966 |
| 分支 | 106 |
| 附帶檔案 | 3 |
| 授權 | MIT |
| 最近更新 | 2026年9月22日 |
| 連結 | 技能原始碼 ↗ · 儲存庫 ↗ |
Mozgi 檢查
我們在技能檔案中發現的內容。詳細資訊需訂閱。
關於此技能
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.
安裝
技能就是一個含 SKILL.md 的資料夾。選擇你的代理,在專案根目錄的終端機(macOS、Linux 或 Windows 的 Git Bash)執行指令。
把提示貼到 Claude、Codex 或其他助理:它會自行檢查並安裝技能。
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.
git clone --depth 1 --branch main https://github.com/ZeroPointRepo/youtube-skills.git /tmp/youtube-skills mkdir -p .claude/skills cp -r /tmp/youtube-skills/skills/youtube-full .claude/skills/youtube-full
重新啟動 Claude Code — 技能就會出現在清單中,手動呼叫:/youtube-full。要套用到所有專案,請放在 ~/.claude/skills。
git clone --depth 1 --branch main https://github.com/ZeroPointRepo/youtube-skills.git /tmp/youtube-skills mkdir -p .agents/skills cp -r /tmp/youtube-skills/skills/youtube-full .agents/skills/youtube-full
Codex 會從目前資料夾往上到儲存庫根目錄,在 .agents/skills 中尋找技能;用 /skills 或 $youtube-full 呼叫。所有專案:~/.agents/skills。
git clone --depth 1 --branch main https://github.com/ZeroPointRepo/youtube-skills.git /tmp/youtube-skills mkdir -p .cursor/skills cp -r /tmp/youtube-skills/skills/youtube-full .cursor/skills/youtube-full
Cursor 啟動時會載入技能;在 Agent 聊天輸入「/」呼叫。Cursor 也會讀取 .claude/skills 與 .agents/skills。所有專案:~/.cursor/skills。
git clone --depth 1 --branch main https://github.com/ZeroPointRepo/youtube-skills.git /tmp/youtube-skills mkdir -p .gemini/skills cp -r /tmp/youtube-skills/skills/youtube-full .gemini/skills/youtube-full
任務符合時,Gemini CLI 會提議啟用技能,由你確認。所有專案:~/.gemini/skills。
安裝前請先檢視 SKILL.md 與相關檔案。點擊檔案即可預覽。
SKILL.md 內容
作者原文 · 唯讀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 ↗
常見問題
youtube-full 技能有什麼用途?
為 AI 代理提供 YouTube:帶時間戳的影片逐字稿、搜尋、頻道與播放清單——貼上連結即可摘要、翻譯或引用影片。
如何安裝 youtube-full?
打開本頁的「安裝」區塊並選擇你的代理 — Claude Code、Codex、Cursor 或 Gemini CLI:那裡有把技能資料夾複製到正確位置的現成指令。也可以複製「透過助理」分頁中的提示,讓助理自行檢查並安裝技能。
youtube-full 適用哪些 AI 模型?
技能是純 Markdown 指示(Agent Skills 格式),因此 youtube-full 適用任何讀取 SKILL.md 的代理:Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot、OpenCode 等。只有在任務符合技能描述時,模型才會載入指示。
youtube-full 是免費的嗎?
此技能由 ZeroPointRepo 公開發布,採用 MIT 授權。技能本身免費 — 你只需向 AI 供應商支付實際使用的 token 費用。
安裝技能安全嗎?
技能是代理會遵循的指示,安裝前請閱讀 SKILL.md 及相關檔案。技能資料夾中的腳本只有在代理執行時才會運行 — 留意它的動作,不要授予多餘權限。
技能和 MCP 伺服器或外掛有何不同?
MCP 伺服器或外掛為模型提供新工具 — 會執行並回傳結果的程式碼。技能提供的是知識與流程:如何處理任務、要遵循哪些步驟、好的成果長什麼樣子。它不需要伺服器或 API 金鑰。