From sundial-org-awesome-openclaw-skills-4
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sundial-org-awesome-openclaw-skills-4:yt-api-cliThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage your YouTube account from the terminal. A complete CLI for the YouTube Data API v3.
Manage your YouTube account from the terminal. A complete CLI for the YouTube Data API v3.
# Using go install
go install github.com/nerveband/youtube-api-cli/cmd/yt-api@latest
# Or download from releases
curl -L -o yt-api https://github.com/nerveband/youtube-api-cli/releases/latest/download/yt-api-darwin-arm64
chmod +x yt-api
sudo mv yt-api /usr/local/bin/
mkdir -p ~/.yt-api
cat > ~/.yt-api/config.yaml << EOF
default_auth: oauth
default_output: json
oauth:
client_id: "YOUR_CLIENT_ID"
client_secret: "YOUR_CLIENT_SECRET"
EOF
yt-api auth login # Opens browser for Google login
yt-api auth status # Check auth state
# List your videos
yt-api list videos --mine
# List channel videos
yt-api list videos --channel-id UC_x5XG1OV2P6uZZ5FSM9Ttw
# List playlists
yt-api list playlists --mine
# List subscriptions
yt-api list subscriptions --mine
# Basic search
yt-api search --query "golang tutorial"
# With filters
yt-api search --query "music" --type video --duration medium --order viewCount
# Upload video
yt-api upload video ./video.mp4 \
--title "My Video" \
--description "Description here" \
--tags "tag1,tag2" \
--privacy public
# Upload thumbnail
yt-api upload thumbnail ./thumb.jpg --video-id VIDEO_ID
# Create playlist
yt-api insert playlist --title "My Playlist" --privacy private
# Add video to playlist
yt-api insert playlist-item --playlist-id PLxxx --video-id VIDxxx
# Get channel info
yt-api list channels --id UCxxx --part snippet,statistics
# Update channel description
yt-api update channel --id UCxxx --description "New description"
# JSON (default - LLM-friendly)
yt-api list videos --mine
# Table (human-readable)
yt-api list videos --mine -o table
# YAML
yt-api list videos --mine -o yaml
# CSV
yt-api list videos --mine -o csv > videos.csv
| Flag | Short | Description |
|---|---|---|
--output | -o | Output format: json (default), yaml, csv, table |
--quiet | -q | Suppress stderr messages |
--config | Path to config file | |
--auth-type | Auth method: oauth (default), service-account |
| Variable | Description |
|---|---|
YT_API_AUTH_TYPE | Auth method: oauth or service-account |
YT_API_OUTPUT | Default output format |
YT_API_CLIENT_ID | OAuth client ID |
YT_API_CLIENT_SECRET | OAuth client secret |
YT_API_CREDENTIALS | Path to service account JSON |
Best for interactive use and accessing your own YouTube account.
yt-api auth login # Opens browser
Best for server-side automation.
yt-api --auth-type service-account --credentials ./key.json list videos
yt-api info # Full system state
yt-api info --test-connectivity # Verify API access
yt-api info --test-permissions # Check credential capabilities
yt-api auth status # Authentication details
yt-api version # Version info
Exit codes:
0 - Success1 - General error2 - Authentication error3 - API error (quota, permissions)4 - Input error--quiet mode for parsing--dry-run validates without executing~/.yt-api/tokens.json (0600 permissions)npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4Search, read, update, and delete YouTube videos; manage playlists, comments, subscriptions, and channel metadata via the YouTube Data API v3.
Manages YouTube channels via CLI: upload videos, list/edit metadata, schedule/unschedule, set thumbnails, download private videos, fetch transcripts, generate AI chapters. Use for YouTube upload, scheduling, editing, downloading, transcribing.
Searches YouTube, reads your channel and uploaded videos (stats, comments), and uploads new videos via the YouTube Data API v3.