Extract subtitles/transcripts from YouTube videos. Triggers: "youtube transcript", "extract subtitles", "video captions", "视频字幕", "字幕提取", "YouTube转文字", "提取字幕".
View on GitHubfeiskyer/claude-code-settings
claude-code-settings
January 23, 2026
Select agents to install to:
npx add-skill https://github.com/feiskyer/claude-code-settings/blob/main/skills/youtube-transcribe-skill/SKILL.md -a claude-code --skill youtube-transcribe-skillInstallation paths:
.claude/skills/youtube-transcribe-skill/# YouTube Transcript Extraction
Extract subtitles/transcripts from a YouTube video URL and save them as a local file.
Input YouTube URL: $ARGUMENTS
## Step 1: Verify URL and Get Video Information
1. **Verify URL Format**: Confirm the input is a valid YouTube URL (supports `youtube.com/watch?v=` or `youtu.be/` formats).
2. **Get Video Information**: Use WebFetch or firecrawl to fetch the page and extract the video title for subsequent file naming.
## Step 2: CLI Quick Extraction (Priority Attempt)
Use command-line tools to quickly extract subtitles.
1. **Check Tool Availability**:
Execute `which yt-dlp`.
- If `yt-dlp` is **found**, proceed to subtitle download.
- If `yt-dlp` is **NOT found**, skip immediately to **Step 3**.
2. **Execute Subtitle Download** (Only if `yt-dlp` is found):
- **Tip**: Always add `--cookies-from-browser` to avoid sign-in restrictions. Default to `chrome`.
- **Retry Logic**: If `yt-dlp` fails with a browser error (e.g., "Could not open Chrome"), ask the user to specify their available browser (e.g., `firefox`, `safari`, `edge`) and retry.
```bash
# Get the title first (try chrome first)
yt-dlp --cookies-from-browser=chrome --get-title "[VIDEO_URL]"
# Download subtitles
yt-dlp --cookies-from-browser=chrome --write-auto-sub --write-sub --sub-lang zh-Hans,zh-Hant,en --skip-download --output "<Video Title>.%(ext)s" "[VIDEO_URL]"
```
3. **Verify Results**:
- Check the command exit code.
- **Exit code 0 (Success)**: Subtitles have been saved locally, task complete.
- **Exit code non-0 (Failure)**:
- If error is related to browser/cookies, ask user for correct browser and retry Step 2.
- If other errors (e.g., video unavailable), proceed to **Step 3**.
## Step 3: Browser Automation (Fallback)
When the CLI method fails or `yt-dlp` is missing, use browser UI automation to extract subtitles.
1. **Check Tool Availability**:
- Check if `chrome-devtools-mcp` tools (specifically `mcp