# add-video > Download a YouTube video transcript and fully process it into the knowledge base - Author: Ryan Kwong - Repository: rhkwong/high-powered-engineer - Version: 20260122172418 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/rhkwong/high-powered-engineer - Web: https://mule.run/skillshub/@@rhkwong/high-powered-engineer~add-video:20260122172418 --- --- name: add-video description: Download a YouTube video transcript and fully process it into the knowledge base argument-hint: [output-name] allowed-tools: Read, Write, Edit, Glob, Grep, Bash, TodoWrite --- # Add Video Skill Download a YouTube video transcript and process it through the full content pipeline. ## Usage ``` /add-video [output-name] ``` **Examples:** ``` /add-video https://www.youtube.com/watch?v=abc123 /add-video https://youtu.be/xyz789 meta-staff-engineer-interview ``` ## Pipeline Overview This skill orchestrates five steps: | Step | Skill | What it does | |------|-------|--------------| | 1 | `/yt-script-downloader` | Downloads transcript from YouTube | | 2 | `/generate-summary` | Creates detailed summary | | 3 | `/update-theme-index` | Adds video to theme index | | 4 | `/update-people-index` | Adds guest to people index | | 5 | `/reindex` | Updates vector search index | ## Instructions ### Step 1: Download Transcript Execute the `/yt-script-downloader` skill workflow: 1. **Validate URL**: Ensure it's a valid YouTube URL (youtube.com or youtu.be) 2. **Get video title** for default filename: ```bash yt-dlp --get-title "URL" ``` 3. **Download transcript**: ```bash yt-dlp --write-auto-sub --write-sub --sub-lang en --skip-download --sub-format vtt -o "/tmp/yt-transcript" "URL" ``` 4. **Convert VTT to clean text**: ```bash sed -e '/^WEBVTT/d' -e '/^Kind:/d' -e '/^Language:/d' -e '/^$/d' -e '/^[0-9][0-9]:[0-9][0-9]/d' -e 's/<[^>]*>//g' /tmp/yt-transcript.en.vtt | awk '!seen[$0]++' > /tmp/yt-transcript.txt ``` 5. **Generate filename**: - If output-name provided, use it - Otherwise, convert video title to kebab-case 6. **Save raw transcript** to `video-transcripts/raw-transcripts/.md`: ```markdown # [Video Title] **Source:** [YouTube URL] **Downloaded:** [Today's Date] --- [Transcript content] ``` 7. **Clean up**: ```bash rm -f /tmp/yt-transcript.en.vtt /tmp/yt-transcript.txt ``` ### Step 2: Generate Summary Execute the `/generate-summary` skill workflow: 1. Read the raw transcript just created 2. Create summary at `video-transcripts/summaries/.md` 3. Follow full template: - Quick reference (TL;DR, level focus, companies, themes) - Guest background & career timeline - Detailed insights (5-15 topics) - Stories & anecdotes table - Quotable moments - Contrarian claims - Connections (themes and people to update) ### Step 3: Update Theme Index Execute the `/update-theme-index` skill workflow: 1. Read the summary 2. Read `video-transcripts/content-index/_theme-index.md` 3. For each theme tag in summary: - Add video to Videos list - Update consensus/conflicting views - Add best stories - Refine synthesized takeaways ### Step 4: Update People Index Execute the `/update-people-index` skill workflow: 1. Read the summary 2. Read `video-transcripts/content-index/_people-index.md` 3. Create/update guest entry: - Profile, career path, insights, stories, quote 4. Add notable mentions 5. Update company and level indexes ### Step 5: Update Vector Search Index Execute the `/reindex` skill workflow to add the new content to semantic search: ```bash cd /Users/ryankwong/high-powered-engineer && python3 vector-search/indexer.py ``` This incrementally adds the new summary's topic chunks to the vector index so they appear in `/search` results. ## Error Handling | Error | Action | |-------|--------| | yt-dlp not installed | Tell user: `brew install yt-dlp` | | No subtitles available | Ask if user wants to provide manual transcript | | Invalid URL | Ask for valid YouTube URL | | Video already exists | Ask to overwrite or use different name | ## Quality Checklist Before completing, verify: - [ ] Raw transcript saved with metadata - [ ] Summary captures all major topics - [ ] Guest background complete - [ ] At least 3 stories extracted - [ ] Theme index updated for all relevant themes - [ ] People index has complete guest entry ## Output Report completion: ``` ✓ Downloaded: video-transcripts/raw-transcripts/.md ✓ Summary: video-transcripts/summaries/.md ✓ Themes updated: #tag1, #tag2, #tag3 ✓ People updated: [Guest Name] ✓ Search index updated: N new chunks indexed ```