# πŸŽ₯ youtube-summarizer > Extract transcripts from YouTube videos and generate comprehensive, detailed summaries **Version:** 1.2.0 **Status:** ✨ Zero-Config | 🌍 Universal **Platforms:** GitHub Copilot CLI, Claude Code --- ## Overview The **youtube-summarizer** skill automates the extraction of YouTube video transcripts and generates verbose, structured summaries using the STAR + R-I-S-E framework. Perfect for documenting educational content, lectures, tutorials, or any informational videos without rewatching them. --- ## Features - 🎯 **Automatic transcript extraction** using `youtube-transcript-api` - βœ… **Video validation** - Checks if video is accessible and has transcripts - 🌍 **Multi-language support** - Prefers Portuguese, falls back to English - πŸ“Š **Comprehensive summaries** - Prioritizes detail and completeness - πŸ“ **Structured output** - Markdown with headers, sections, insights - πŸ” **Metadata included** - Video title, channel, duration, URL - ⚑ **Error handling** - Clear messages for all failure scenarios - πŸ› οΈ **Dependency management** - Offers to install requirements automatically - πŸ“Š **Progress gauge** - Visual processing tracker across all steps - πŸ’Ύ **Flexible save options** - Summary-only, summary+transcript, or transcript-only (NEW v1.2.0) --- ## Quick Start ### Triggers Activate this skill with any of these phrases: ```bash # English copilot> summarize this video: https://www.youtube.com/watch?v=VIDEO_ID copilot> summarize youtube video https://youtu.be/VIDEO_ID copilot> extract youtube transcript https://youtube.com/watch?v=VIDEO_ID # Portuguese (also supported) copilot> resume este video: https://www.youtube.com/watch?v=VIDEO_ID ``` ### First-Time Setup The skill will automatically check for dependencies and offer to install them: ```bash ⚠️ youtube-transcript-api not installed Would you like me to install it now? - [x] Yes - Install with pip - [ ] No - I'll install manually ``` Select "Yes" and the skill handles installation automatically. --- ## Use Cases ### 1. **Educational Video Documentation** ```bash copilot> summarize this video: https://www.youtube.com/watch?v=abc123 ``` **Output:** - Comprehensive summary of lecture content - Key concepts and terminology - Examples and practical applications - Resources mentioned in the video ### 2. **Technical Tutorial Analysis** ```bash copilot> summarize youtube video https://youtu.be/xyz789 ``` **Output:** - Step-by-step breakdown of tutorial - Code snippets and commands mentioned - Best practices highlighted - Troubleshooting tips documented ### 3. **Conference Talk Reference** ```bash copilot> extract youtube transcript https://youtube.com/watch?v=def456 ``` **Output:** - Speaker insights and arguments - Statistics and data points - Case studies and examples - Q&A session summary ### 4. **Language Learning Content** ```bash copilot> summarize youtube video https://youtu.be/ghi789 ``` **Output:** - Vocabulary and expressions used - Grammar points explained - Cultural references - Practice exercises mentioned ### 5. **Research and Investigation** ```bash copilot> summarize youtube video https://www.youtube.com/watch?v=jkl012 ``` **Output:** - Research findings presented - Methodology explained - Results and conclusions - Future work suggestions --- ## Output Structure Every summary follows this comprehensive structure: ```markdown # [Video Title] **Canal:** [Channel Name] **DuraΓ§Γ£o:** [Duration] **URL:** [Video URL] **Data de PublicaΓ§Γ£o:** [Date] --- ## πŸ“Š SΓ­ntese Executiva [High-level overview, 2-3 paragraphs] --- ## πŸ“ Resumo Detalhado ### [Topic 1] [Detailed analysis with examples, data, quotes] ### [Topic 2] [Continued breakdown...] --- ## πŸ’‘ Principais Insights - **Insight 1:** [Explanation] - **Insight 2:** [Explanation] --- ## πŸ“š Conceitos e Terminologia - **Term 1:** [Definition] - **Term 2:** [Definition] --- ## πŸ”— Recursos Mencionados - [Resource 1] - [Resource 2] --- ## πŸ“Œ ConclusΓ£o [Final synthesis and key takeaways] ``` --- ## Requirements - **Python 3.x** (usually pre-installed on macOS/Linux) - **pip** (Python package manager) - **[youtube-transcript-api](https://github.com/jdepoix/youtube-transcript-api)** by [Julien Depoix](https://github.com/jdepoix) (installed automatically by the skill) ### Manual Installation (Optional) If you prefer to install dependencies manually: ```bash pip install youtube-transcript-api ``` --- ## Supported URL Formats The skill recognizes these YouTube URL formats: - `https://www.youtube.com/watch?v=VIDEO_ID` - `https://youtube.com/watch?v=VIDEO_ID` - `https://youtu.be/VIDEO_ID` - `https://m.youtube.com/watch?v=VIDEO_ID` --- ## Limitations ### Videos That Work βœ… Public videos with auto-generated captions βœ… Videos with manual subtitles/captions βœ… Videos with transcripts in any supported language ### Videos That Don't Work ❌ Private or unlisted videos ❌ Videos with transcripts disabled ❌ Age-restricted videos (may require authentication) ❌ Videos without any captions/subtitles --- ## Error Messages ### No Transcript Available ``` ❌ No transcript available for this video This skill requires videos with auto-generated captions or manual subtitles. Unfortunately, transcripts are not enabled for this video. ``` **Solution:** Try a different video that has captions enabled. ### Invalid URL ``` ❌ Invalid YouTube URL format Expected format examples: - https://www.youtube.com/watch?v=VIDEO_ID - https://youtu.be/VIDEO_ID ``` **Solution:** Ensure you're providing a complete, valid YouTube URL. ### Video Not Accessible ``` ❌ Unable to access video Possible reasons: 1. Video is private or unlisted 2. Video has been removed 3. Invalid video ID ``` **Solution:** Verify the URL and ensure the video is public. --- ## FAQ ### Q: How long does it take to generate a summary? **A:** Depends on video length: - Short videos (5-10 min): 30-60 seconds - Medium videos (20-40 min): 1-2 minutes - Long videos (60+ min): 2-5 minutes ### Q: Can I summarize videos in languages other than English/Portuguese? **A:** Yes! The skill attempts to extract transcripts in the video's original language. If unavailable, it falls back to English. ### Q: Will this work with YouTube Music videos? **A:** Only if the music video has captions/transcripts enabled. Most music videos don't have transcripts. ### Q: Can I customize the summary length? **A:** The skill prioritizes completeness by design (verbose summaries). If you need shorter summaries, you can ask the AI to condense the output afterward. ### Q: Does this download the video? **A:** No. Only the text transcript is extracted via YouTube's API. No video files are downloaded. ### Q: Can I save the summary to a file? **A:** Yes! After the summary is generated, the skill offers flexible save options: - **Summary only** - Markdown file with structured summary - **Summary + transcript** - Markdown file with summary and raw transcript appended - **Transcript only** - Plain text file with raw transcript (NEW in v1.2.0) - **Display only** - No files saved, summary shown in terminal Files are saved as `resumo-{VIDEO_ID}-{YYYY-MM-DD}.md` (summary) or `transcript-{VIDEO_ID}-{YYYY-MM-DD}.txt` (transcript-only). ### Q: When should I save just the transcript? **A:** Use the transcript-only option when you: - Need raw content for further analysis - Want to process the text with other tools - Prefer to create your own summary later - Need the transcript for documentation or archival purposes --- ## Installation ### Global Installation (Recommended) Install the skill globally to use it across all projects: ```bash # Clone the repository git clone https://github.com/ericgandrade/cli-ai-skills.git cd cli-ai-skills # Run the install script ./scripts/install-skills.sh $(pwd) ``` This creates symlinks in: - `~/.copilot/skills/youtube-summarizer/` (GitHub Copilot CLI) - `~/.claude/skills/youtube-summarizer/` (Claude Code) ### Repository Installation Add to a specific project: ```bash # Copy skill to your project cp -r cli-ai-skills/.github/skills/youtube-summarizer .github/skills/ ``` --- ## Contributing Found a bug or have a feature request? Contributions welcome! 1. Fork the repository 2. Create a feature branch: `git checkout -b feature/youtube-enhancement` 3. Commit changes: `git commit -m "feat(youtube-summarizer): add feature X"` 4. Push and create a Pull Request --- ## License MIT License - see LICENSE for details. --- ## Acknowledgments - **[youtube-transcript-api](https://github.com/jdepoix/youtube-transcript-api)** by [Julien Depoix](https://github.com/jdepoix) - Python library for extracting YouTube video transcripts - **Anthropic STAR/R-I-S-E frameworks** - For structured summarization --- **Built with ❀️ by Eric Andrade** *Version 1.1.0 | Last updated: February 2026*