From antigravity-awesome-skills
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 claudepluginhub absjaded/antigravity-awesome-skillsThis skill uses the workspace's default tool permissions.
Automate YouTube operations through Composio's YouTube toolkit via Rube MCP.
Verifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
Automate YouTube operations through Composio's YouTube toolkit via Rube MCP.
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) |
This skill is applicable to execute the workflow or actions described in the overview.