From aviz85-claude-skills-library
Uploads videos to YouTube via ts-node CLI with title, description, tags, privacy, thumbnails, categories, playlists, and Shorts support. Useful for scripting video publishes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aviz85-claude-skills-library:youtube-uploaderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **First time?** If `setup_complete: false` above, run `./SETUP.md` first, then set `setup_complete: true`.
First time? If
setup_complete: falseabove, run./SETUP.mdfirst, then setsetup_complete: true.
Upload videos to YouTube with full metadata control.
cd ~/.claude/skills/youtube-uploader/scripts
# First time: authenticate
npx ts-node youtube-upload.ts --auth
# Upload video
npx ts-node youtube-upload.ts \
--video /path/to/video.mp4 \
--title "My Awesome Video" \
--description "Check out this amazing content!" \
--tags "tech,ai,tutorial" \
--privacy unlisted
# Upload as YouTube Short (vertical video)
npx ts-node youtube-upload.ts \
--video /path/to/short.mp4 \
--title "Quick Tip #Shorts" \
--description "A quick tip for you!" \
--privacy public \
--short
| Option | Short | Description |
|---|---|---|
--video | -v | Video file path (required) |
--title | -t | Video title (required) |
--description | -d | Video description |
--tags | Comma-separated tags | |
--privacy | -p | Privacy: public, unlisted, private (default: unlisted) |
--category | -c | Category ID (default: 22 = People & Blogs) |
--thumbnail | Custom thumbnail image path | |
--playlist | Add to playlist ID | |
--short | Mark as YouTube Short | |
--auth | Run OAuth2 authentication flow | |
--dry-run | Preview without uploading |
| ID | Category |
|---|---|
| 1 | Film & Animation |
| 2 | Autos & Vehicles |
| 10 | Music |
| 15 | Pets & Animals |
| 17 | Sports |
| 19 | Travel & Events |
| 20 | Gaming |
| 22 | People & Blogs |
| 23 | Comedy |
| 24 | Entertainment |
| 25 | News & Politics |
| 26 | Howto & Style |
| 27 | Education |
| 28 | Science & Technology |
First-time setup requires OAuth2 authentication:
npx ts-node youtube-upload.ts --auth.youtube-token.jsonToken refreshes automatically. Re-run --auth if expired.
Create scripts/.env:
YOUTUBE_CLIENT_ID=your_client_id
YOUTUBE_CLIENT_SECRET=your_client_secret
Get credentials from Google Cloud Console:
npx ts-node youtube-upload.ts \
-v tutorial.mp4 \
-t "How to Use Claude Code - Complete Guide" \
-d "Learn everything about Claude Code in this comprehensive tutorial.
Timestamps:
00:00 Introduction
02:30 Getting Started
05:00 Advanced Features
#ClaudeCode #AI #Tutorial" \
--tags "claude code,ai,tutorial,anthropic,coding" \
--category 28 \
--privacy public
npx ts-node youtube-upload.ts \
-v short_video.mp4 \
-t "Mind-blowing AI trick! #Shorts" \
-d "This will change how you work! #AI #Tech" \
--privacy public \
--short
npx ts-node youtube-upload.ts \
-v episode5.mp4 \
-t "Podcast Episode 5" \
--playlist PLxxxxxxxxxxxxxx \
--privacy unlisted
On success, returns:
npx claudepluginhub aviz85/claude-skills-library --plugin ten-by-tenUploads videos to YouTube via ts-node CLI with title, description, tags, privacy, thumbnails, categories, playlists, and Shorts support. Useful for scripting video publishes.
Uploads videos to YouTube as single videos or numbered series, sets titles/descriptions/custom thumbnails, builds and orders playlists via the YouTube Data API v3 with resumable uploads, OAuth token caching, and idempotent state.
Manage your YouTube account from the command line using the YouTube Data API v3. List/search videos, upload content, manage playlists, subscriptions, and channel settings with multiple output formats.