Automate YouTube tasks via Rube MCP (Composio): upload videos, manage playlists, search content, get analytics, and handle comments. Always search tools first for current schemas.
npx skills add https://github.com/davepoon/buildwithclaude --skill youtube-automation
Not in the registry: rube
The skill names a server we cannot find in the official MCP registry. It may be private, renamed, or never published — either way, the skill will not work until you have it.
Automate YouTube operations through Composio's YouTube toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/youtube
RUBE_MANAGE_CONNECTIONS with toolkit youtubeRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit youtubeWhen to use: User wants to upload a video or update video metadata
Tool sequence:
YOUTUBE_UPLOAD_VIDEO - Upload a new video [Required]YOUTUBE_UPDATE_VIDEO - Update title, description, tags, privacy [Optional]YOUTUBE_UPDATE_THUMBNAIL - Set a custom thumbnail [Optional]Key parameters:
title: Video title (max 100 characters)description: Video description (max 5000 bytes)tags: Array of keyword tagscategoryId: YouTube category ID (e.g., '22' for People & Blogs)privacyStatus: 'public', 'private', or 'unlisted'videoFilePath: Object with {name, mimetype, s3key} for the video filePitfalls:
< > in tags are automatically strippedWhen to use: User wants to find videos, channels, or playlists
Tool sequence:
YOUTUBE_SEARCH_YOU_TUBE - Search for content [Required]YOUTUBE_VIDEO_DETAILS - Get full details for a specific video [Optional]YOUTUBE_GET_VIDEO_DETAILS_BATCH - Get details for multiple videos [Optional]Key parameters:
q: Search query (supports exact phrases, exclusions, channel handles)type: 'video', 'channel', or 'playlist'maxResults: Results per page (1-50)pageToken: For paginationPitfalls:
When to use: User wants to create playlists or manage playlist contents
Tool sequence:
YOUTUBE_LIST_USER_PLAYLISTS - List user's existing playlists [Optional]YOUTUBE_CREATE_PLAYLIST - Create a new playlist [Optional]YOUTUBE_ADD_VIDEO_TO_PLAYLIST - Add a video to a playlist [Optional]YOUTUBE_LIST_PLAYLIST_ITEMS - List videos in a playlist [Optional]Key parameters:
playlistId: Playlist ID ('PL...' for user-created, 'UU...' for uploads)part: Resource parts to include (e.g., 'snippet,contentDetails')maxResults: Items per page (1-50)pageToken: Pagination token from previous responsePitfalls:
When to use: User wants to analyze channel performance or video metrics
Tool sequence:
YOUTUBE_GET_CHANNEL_ID_BY_HANDLE - Resolve a handle to channel ID [Prerequisite]YOUTUBE_GET_CHANNEL_STATISTICS - Get channel subscriber/view/video counts [Required]YOUTUBE_LIST_CHANNEL_VIDEOS - List all videos from a channel [Optional]YOUTUBE_GET_VIDEO_DETAILS_BATCH - Get per-video statistics [Optional]YOUTUBE_GET_CHANNEL_ACTIVITIES - Get recent channel activities [Optional]Key parameters:
channelId: Channel ID ('UC...'), handle ('@handle'), or 'me'forHandle: Channel handle (e.g., '@Google')id: Comma-separated video IDs for batch detailsparts: Resource parts to include (e.g., 'snippet,statistics')Pitfalls:
data or data_preview; parse defensivelyWhen to use: User wants to subscribe to channels or view video comments
Tool sequence:
YOUTUBE_SUBSCRIBE_CHANNEL - Subscribe to a channel [Optional]YOUTUBE_UNSUBSCRIBE_CHANNEL - Unsubscribe from a channel [Optional]YOUTUBE_LIST_USER_SUBSCRIPTIONS - List subscriptions [Optional]YOUTUBE_LIST_COMMENT_THREADS - List comments on a video [Optional]Key parameters:
channelId: Channel to subscribe/unsubscribevideoId: Video ID for comment threadsmaxResults: Results per pagepageToken: Pagination tokenPitfalls:
Handle to Channel ID:
1. Call YOUTUBE_GET_CHANNEL_ID_BY_HANDLE with '@handle'
2. Extract channelId from response
3. Use in subsequent channel operations
Uploads Playlist:
1. Get channel ID (starts with 'UC')
2. Replace 'UC' prefix with 'UU' to get uploads playlist ID
3. Use with LIST_PLAYLIST_ITEMS to enumerate all videos
maxResults (max 50 per page)nextPageTokenpageToken in next requestnextPageToken is absentQuota Management:
ID Formats:
Thumbnails:
Response Parsing:
| Task | Tool Slug | Key Params |
|------|-----------|------------|
| Upload video | YOUTUBE_UPLOAD_VIDEO | title, description, tags, categoryId, privacyStatus, videoFilePath |
| Update video | YOUTUBE_UPDATE_VIDEO | video_id, title, description, tags |
| Set thumbnail | YOUTUBE_UPDATE_THUMBNAIL | videoId, thumbnailUrl |
| Search YouTube | YOUTUBE_SEARCH_YOU_TUBE | q, type, maxResults |
| Video details | YOUTUBE_VIDEO_DETAILS | id, part |
| Batch video details | YOUTUBE_GET_VIDEO_DETAILS_BATCH | id, parts |
| List playlists | YOUTUBE_LIST_USER_PLAYLISTS | maxResults, pageToken |
| Create playlist | YOUTUBE_CREATE_PLAYLIST | (check schema) |
| Add to playlist | YOUTUBE_ADD_VIDEO_TO_PLAYLIST | (check schema) |
| List playlist items | YOUTUBE_LIST_PLAYLIST_ITEMS | playlistId, maxResults |
| Channel statistics | YOUTUBE_GET_CHANNEL_STATISTICS | id/forHandle/mine |
| List channel videos | YOUTUBE_LIST_CHANNEL_VIDEOS | channelId, maxResults |
| Channel ID by handle | YOUTUBE_GET_CHANNEL_ID_BY_HANDLE | channel_handle |
| Subscribe | YOUTUBE_SUBSCRIBE_CHANNEL | channelId |
| List subscriptions | YOUTUBE_LIST_USER_SUBSCRIPTIONS | (check schema) |
| List comments | YOUTUBE_LIST_COMMENT_THREADS | videoId |
| Channel activities | YOUTUBE_GET_CHANNEL_ACTIVITIES | (check schema) |
*Powered by Composio*
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.
Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.
This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.
Take davepoon/youtube-automation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.