Browse YouTube playlists and fetch video transcripts. Use when the user shares a playlist link, asks "what's in this playlist", "list playlist videos", "browse playlist content", or wants to work with playlist videos and get their transcripts.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install youtube-playlist或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install youtube-playlist⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/youtube-playlist/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: youtube-playlist description: Browse YouTube playlists and fetch video transcripts. Use when the user shares a playlist link, asks "what's in this playlist", "list playlist videos", "browse playlist content", or wants to work with playlist videos and get their transcripts. homepage: https://transcriptapi.com user-invocable: true metadata: {"openclaw":{"emoji":"📋","requires":{"env":["TRANSCRIPT_API_KEY"],"bins":["node"],"config":["~/.openclaw/openclaw.json"]},"primaryEnv":"TRANSCRIPT_API_KEY"}} ---
Browse playlists and fetch transcripts via TranscriptAPI.com.
If $TRANSCRIPT_API_KEY is not set, help the user create an account (100 free credits, no card):
Step 1 — Register: Ask user for their email.
node ./scripts/tapi-auth.js register --email USER_EMAIL
→ OTP sent to email. Ask user: _"Check your email for a 6-digit verification code."_
Step 2 — Verify: Once user provides the OTP:
node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODE
> API key saved to ~/.openclaw/openclaw.json. See File Writes below for details. Existing file is backed up before modification.
Manual option: transcriptapi.com/signup → Dashboard → API Keys.
The verify and save-key commands save the API key to ~/.openclaw/openclaw.json (sets skills.entries.transcriptapi.apiKey and enabled: true). Existing file is backed up to ~/.openclaw/openclaw.json.bak before modification.
To use the API key in terminal/CLI outside the agent, add to your shell profile manually: export TRANSCRIPT_API_KEY=
Full OpenAPI spec: transcriptapi.com/openapi.json — consult this for the latest parameters and schemas.
Paginated playlist video listing (100 per page). Accepts playlist — a YouTube playlist URL or playlist ID.
# First page
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
| Param | Required | Validation | | -------------- | ----------- | ---------------------------------------------------- | | playlist | conditional | Playlist URL or ID (PL/UU/LL/FL/OL prefix) | | continuation | conditional | non-empty string |
Provide exactly one of playlist or continuation, not both.
Accepted playlist ID prefixes:
PL — user-created playlistsUU — channel uploads playlistLL — liked videosFL — favoritesOL — other system playlistsResponse:
{
"results": [
{
"videoId": "abc123xyz00",
"title": "Playlist Video Title",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"channelTitle": "Channel Name",
"channelHandle": "@handle",
"lengthText": "10:05",
"viewCountText": "1.5M views",
"thumbnails": [{ "url": "...", "width": 120, "height": 90 }],
"index": "0"
}
],
"playlist_info": {
"title": "Best Science Talks",
"numVideos": "47",
"description": "Top science presentations",
"ownerName": "TED",
"viewCount": "5000000"
},
"continuation_token": "4qmFsgKlARIYVVV1...",
"has_more": true
}
Pagination flow:
?playlist=PLxxx — returns first 100 videos + continuation_token?continuation=TOKEN — returns next 100 + new tokenhas_more: false or continuation_token: null# 1. List playlist videos
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 2. Get transcript from a video in the playlist
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
From https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf, the playlist ID is PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf. You can also pass the full URL directly to the playlist parameter.
| Code | Meaning | Action | | ---- | -------------------------- | ------------------------------------------------ | | 400 | Both or neither params | Provide exactly one of playlist or continuation | | 402 | No credits | transcriptapi.com/billing | | 404 | Playlist not found | Check if playlist is public | | 408 | Timeout | Retry once | | 422 | Invalid playlist format | Must be a valid playlist URL or ID |
1 credit per page. Free tier: 100 credits, 300 req/min.
安装 Youtube Playlist 后,可以对 AI 说这些话来触发它
Help me get started with Youtube Playlist
Explains what Youtube Playlist does, walks through the setup, and runs a quick demo based on your current project
Use Youtube Playlist to browse YouTube playlists and fetch video transcripts
Invokes Youtube Playlist with the right parameters and returns the result directly in the conversation
What can I do with Youtube Playlist in my design & creative workflow?
Lists the top use cases for Youtube Playlist, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/youtube-playlist/ 目录(个人级,所有项目可用),或 .claude/skills/youtube-playlist/(项目级)。重启 AI 客户端后,用 /youtube-playlist 主动调用,或让 AI 根据上下文自动发现并使用。
Youtube Playlist 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Youtube Playlist 可免费安装使用。请查阅仓库了解许可证信息。
Browse YouTube playlists and fetch video transcripts. Use when the user shares a playlist link, asks "what's in this playlist", "list playlist videos", "browse playlist content", or wants to work with playlist videos and get their transcripts.
Youtube Playlist 属于「Design & Creative」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my design & creative tasks using Youtube Playlist
Identifies repetitive steps in your workflow and sets up Youtube Playlist to handle them automatically