youtube-uploader — Claude Code skill: what it does and setup
Uploads videos to YouTube with titles, descriptions, tags, and publishing settings. It also handles Shorts and playlist placement.
npx skills add aviz85/claude-skills-library --skill youtube-uploader -a claude-codeWhat youtube-uploader does
This skill runs a TypeScript uploader for YouTube. It accepts a video path and lets the agent set the title, description, tags, category, privacy mode, thumbnail, playlist, or Shorts flag. A dry run can preview the operation before the file is sent. Successful uploads return the video ID, URL, and status.
Initial use requires OAuth2 authentication with npx ts-node youtube-upload.ts --auth; the token is stored in .youtube-token.json. Add YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRET to scripts/.env, then enable YouTube Data API v3 in Google Cloud Console. Without those credentials, the upload cannot complete. The script supports MP4, MOV, AVI, WMV, FLV, 3GP, and MPEG files, subject to YouTube limits for file size, title, description, tags, and daily quota.
What it helps with
- upload a video with custom metadata
- publish a vertical clip as a YouTube Short
- place an upload into a playlist
- preview an upload before sending it
- set public, unlisted, or private visibility
Example prompts for the agent
- Use the
youtube-uploaderskill to uploadtutorial.mp4with a title, description, tags, and category28. - Upload
short_video.mp4as a YouTube Short withpublicvisibility. - Run a dry preview for
episode5.mp4without uploading the file to YouTube.
How to install youtube-uploader
1Skills CLI (Vercel)
npx skills add aviz85/claude-skills-library --skill youtube-uploader -a claude-code2Manually: put the files in place
~/.claude/skills/youtube-uploader/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/youtube-uploader/
1Skills CLI (Vercel)
npx skills add aviz85/claude-skills-library --skill youtube-uploader -a codex2Manually: put the files in place
.agents/skills/youtube-uploader/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add aviz85/claude-skills-library --skill youtube-uploader -a cursor2Manually: put the files in place
.cursor/skills/youtube-uploader/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install aviz85/claude-skills-library youtube-uploader2Manually: put the files in place
.github/skills/youtube-uploader/SKILL.md1Skills CLI (Vercel)
npx skills add aviz85/claude-skills-library --skill youtube-uploader -a gemini-cli2Platform CLI
gemini skills install https://github.com/aviz85/claude-skills-library --path skills/youtube-uploaderManually: put the files in place
.devin/skills/youtube-uploader/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add aviz85/claude-skills-library --skill youtube-uploader -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about youtube-uploader
How do I install youtube-uploader in Claude Code?
Run npx skills add aviz85/claude-skills-library --skill youtube-uploader -a claude-code, then use ~/.claude/skills/youtube-uploader/SKILL.md.
What does youtube-uploader do?
It uploads a video to YouTube while setting its metadata and publication options. The skill also supports Shorts, playlists, thumbnails, and dry-run previews.
What is required before the first upload?
Set YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRET in scripts/.env, enable YouTube Data API v3, and complete OAuth2 with npx ts-node youtube-upload.ts --auth.