Extract videos from all enabled YouTube channels in channels.yaml...
Why? Manually running extract-videos on each channel is tedious and error-prone. This skill automates batch extraction with rate limiting to respect YouTube's API.
# Run the unified CLI command
ytscriber sync-all
[!TIP] Run this before
ytscriber download-allto ensure video lists are current.
Check ~/Documents/YTScriber/channels.yaml and verify:
enabled: truechannels:
- folder: OpenAI
url: https://www.youtube.com/@OpenAI/videos
count: 50
enabled: true
collections:
- library-of-minds
- random
[!CAUTION] Setting
countabove 200 significantly increases sync time and may trigger rate limiting.
ytscriber sync-all
The command will:
channels.yamlenabled: falseAfter completion, check:
videos.csv with entries# Quick verification
ls -la ~/Documents/YTScriber/*/videos.csv | head -10
Add entry to channels.yaml:
- folder: new-channel-name
url: https://www.youtube.com/@ChannelName/videos
count: 50
enabled: true
Run sync - folder is created automatically
Or use the extract command with --register-channel:
ytscriber extract https://www.youtube.com/@ChannelName/videos \
--count 50 \
--folder new-channel-name \
--register-channel
[!WARNING] Folder names should use lowercase with hyphens (e.g.,
my-channel). Avoid spaces or special characters.
Set enabled: false - the channel will be skipped during sync but data is preserved.
| Channel Type | Recommended Count |
|---|---|
| Infrequent posters (1-2/month) | 20 |
| Regular posters (weekly) | 50 |
| High-volume (daily) | 100 |
| Conference channels | 100-200 |
| Problem | Cause | Solution |
|---|---|---|
Config file not found |
Running from wrong directory or channels.yaml missing | Ensure ~/Documents/YTScriber/channels.yaml exists |
Failed to sync [channel] |
Network issue or invalid URL | Check URL is accessible in browser, retry |
| Sync takes forever | Too many channels or high counts | Reduce counts or disable some channels |
| Empty videos.csv | Channel has no public videos or URL is wrong | Verify URL ends in /videos |
| Rate limit errors | Too many requests | Wait 1 hour and retry; reduce counts |
https://www.youtube.com/@ChannelName/videos not /channel/ or /c/ URLsenabled: false in templatescount: 500 causes long waits; start with 50After syncing channels:
# Download transcripts for all synced videos
ytscriber download-all
Before running sync:
channels.yaml exists and is valid YAMLenabled: trueAfter sync completes:
videos.csv[!TIP] For overnight batch operations, run sync first, then download-all. This sequence ensures video lists are current before downloading.