{"skill":{"slug":"extract-youtube-transcript","displayName":"Extract Youtube Transcript","summary":"Extract plain-text transcripts from YouTube videos using a local Python script. Use when the user wants to fetch, extract, or get a transcript from a YouTube...","description":"---\nname: extract-youtube-transcript\nversion: 2.1.0\ndescription: Extract plain-text transcripts from YouTube videos using a local Python script. Use when the user wants to fetch, extract, or get a transcript from a YouTube video URL, analyze YouTube video content as text, or needs subtitles/captions from a video.\n---\n\n# Extract YouTube Transcript\n\nFetches plain-text transcripts from YouTube videos using `extract_youtube_transcript.py` in this skill folder.\n\n## Dependency\n\n```bash\npip show youtube-transcript-api &>/dev/null || pip install youtube-transcript-api\n```\n\n## Quick Start\n\n```bash\npython extract_youtube_transcript.py \"https://www.youtube.com/watch?v=VIDEO_ID\"\n```\n\nSupported URL formats: `youtube.com/watch?v=`, `youtu.be/`, `/embed/`, `/live/`, `/shorts/`, or a raw 11-char video ID.\n\n## Common Patterns\n\n### Fetch with preferred language(s)\n\n```bash\npython extract_youtube_transcript.py \"URL\" --lang zh-Hant en\n```\n\nPass languages in priority order. Falls back to any available transcript if none match.\n\n### Save transcript to file\n\n```bash\npython extract_youtube_transcript.py \"URL\" --output transcript.txt\n```\n\nText is printed to stdout and also written to the file.\n\n### List available languages first\n\n```bash\npython extract_youtube_transcript.py \"URL\" --list-langs\n```\n\nUse this to discover what language codes are available before fetching.\n\n## Language Codes\n\n| Code | Language |\n|------|----------|\n| `en` | English |\n| `zh-Hant` | Traditional Chinese |\n| `zh-Hans` | Simplified Chinese |\n| `ja` | Japanese |\n| `ko` | Korean |\n| `es` | Spanish |\n\n## Error Handling\n\n| Error | Cause | Recovery |\n|-------|-------|----------|\n| `TranscriptsDisabled` | Owner disabled captions | No transcript available |\n| `NoTranscriptFound` | Requested lang not found | Run `--list-langs`, pick an available code |\n| `VideoUnavailable` | Video is private/deleted | Verify the URL |\n| `AgeRestricted` | Age-gated video | Auth not supported; no workaround |\n| `InvalidVideoId` | Malformed URL or ID | Check the URL format |\n\n## Workflow\n\n1. Try a direct fetch first\n2. If `NoTranscriptFound`, run `--list-langs` to see available codes, then re-fetch with `--lang <code>`\n3. Save long transcripts to a file with `--output` for easier downstream processing\n","tags":{"latest":"2.1.0"},"stats":{"comments":0,"downloads":1887,"installsAllTime":72,"installsCurrent":1,"stars":0,"versions":3},"createdAt":1772807899807,"updatedAt":1779077705701},"latestVersion":{"version":"2.1.0","createdAt":1772891198472,"changelog":"- Bumped version to 2.1.0 in SKILL.md.\n- No other changes made to documentation or functionality.","license":null},"metadata":null,"owner":{"handle":"hushenglang","userId":"s17e7f2t8g780yd4mmt4939h3d83jzak","displayName":"Joe Hu","image":"https://avatars.githubusercontent.com/u/6365707?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089793728}}