From all-skills
Automates YouTube tasks: upload videos, manage playlists, search content, retrieve analytics, handle comments via Composio toolkit and Rube MCP. Requires active connection.
npx claudepluginhub davepoon/buildwithclaude --plugin all-skillsThis skill uses the workspace's default tool permissions.
Automate YouTube operations through Composio's YouTube toolkit via Rube MCP.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
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