Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
YouTube Data API v3 analytics toolkit. Analyze YouTube channels, videos, and search results. Use when the user asks to: check YouTube channel stats, analyze video performance, compare channels, search for videos, get subscriber counts, view engagement metrics, find trending videos, get channel uploads, or analyze YouTube competition. Requires a YouTube Data API v3 key from Google Cloud Console.
YouTube Data API v3 analytics toolkit. Analyze YouTube channels, videos, and search results. Use when the user asks to: check YouTube channel stats, analyze video performance, compare channels, search for videos, get subscriber counts, view engagement metrics, find trending videos, get channel uploads, or analyze YouTube competition. Requires a YouTube Data API v3 key from Google Cloud Console.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Install dependencies: cd scripts && npm install Configure credentials by creating a .env file in the project root: YOUTUBE_API_KEY=AIzaSy...your-api-key YOUTUBE_DEFAULT_MAX_RESULTS=50 Prerequisites: A Google Cloud project with the YouTube Data API v3 enabled. Get your API key from the Google Cloud Console.
User saysFunction to call"Analyze this YouTube channel"analyzeChannel(channelId)"Compare these two channels"compareChannels([id1, id2])"How is this video performing?"analyzeVideo(videoId)"Search YouTube for [topic]"searchAndAnalyze(query)"Get stats for this channel"getChannelStats(channelId)"Get this video's view count"getVideoStats(videoId)"Find channels about [topic]"searchChannels(query)"Show recent uploads from this channel"getChannelVideos(channelId) Execute functions by importing from scripts/src/index.ts: import { analyzeChannel, searchAndAnalyze } from './scripts/src/index.js'; const analysis = await analyzeChannel('UCxxxxxxxx'); Or run directly with tsx: npx tsx scripts/src/index.ts
Every analysis follows three phases:
Run API functions. Each call hits the YouTube Data API and returns structured data.
All results automatically save as JSON files to results/{category}/. File naming patterns: Named results: {sanitized_name}.json Auto-generated: YYYYMMDD_HHMMSS__{operation}.json
After analysis, read the saved JSON files and create a markdown summary in results/summaries/ with data tables, comparisons, and insights.
FunctionPurposeWhat it gathersanalyzeChannel(channelId)Full channel analysisChannel info, recent videos, avg views per videocompareChannels(channelIds)Compare multiple channelsSide-by-side subscribers, views, video countsanalyzeVideo(videoId)Video performance analysisViews, likes, comments, like rate, comment ratesearchAndAnalyze(query, maxResults?)Search + statsSearch results with full video statistics
For granular control, import specific functions from the API modules. See references/api-reference.md for the complete list of 13 API functions with parameters, types, and examples.
FunctionPurposegetChannel(channelId)Get full channel detailsgetChannelStats(channelId)Get simplified stats (subscribers, views, videoCount)getMultipleChannels(channelIds)Batch fetch multiple channels
FunctionPurposegetVideo(videoId)Get full video detailsgetVideoStats(videoId)Get simplified stats (views, likes, comments)getMultipleVideos(videoIds)Batch fetch multiple videosgetChannelVideos(channelId)Get recent uploads from a channel
FunctionPurposesearchVideos(query, options?)Search for videossearchChannels(query, options?)Search for channels
Results auto-save to results/ with this structure: results/ โโโ channels/ # Channel data and comparisons โโโ videos/ # Video data and analyses โโโ search/ # Search results โโโ summaries/ # Human-readable markdown summaries
import { listResults, loadResult, getLatestResult } from './scripts/src/index.js'; // List recent results const files = listResults('channels', 10); // Load a specific result const data = loadResult(files[0]); // Get most recent result for an operation const latest = getLatestResult('channels', 'channel_analysis');
Use channel IDs โ Channel IDs start with UC (e.g., UCxxxxxxxx). You can find them in the channel URL or page source. Request summaries โ After pulling data, ask for a markdown summary with tables and insights. Compare channels โ Use compareChannels() to benchmark competitors side by side. Batch requests โ Use getMultipleChannels() or getMultipleVideos() for efficient batch lookups. Search + analyze โ searchAndAnalyze() combines search with full video stats in one call.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.