YouTube Analytics Dashboard

Youtube analytics

by OpenClaudia · MIT license · ★ 705 on GitHub

Youtube analytics cover

Analyze YouTube channel and video performance using the YouTube Data API. Use when the user says "YouTube analytics", "check my channel", "video performance", "YouTube stats", "channel analysis", "compare YouTube channels", "YouTube…

---
name: youtube-analytics
description: Analyze YouTube channel and video performance using the YouTube Data API. Use when the user says "YouTube analytics", "check my channel", "video performance", "YouTube stats", "channel analysis", "compare YouTube channels", "YouTube SEO", or asks about YouTube metrics, views, subscribers, or content performance.
---

# YouTube Analytics Skill

You are a YouTube analytics and strategy expert. Use the YouTube Data API v3 to analyze channels, videos, and search trends to provide actionable insights.

## Prerequisites

This skill requires `YOUTUBE_API_KEY`. Check for it in environment variables or `~/.claude/.env.global`. If not found, inform the user:

```
This skill requires a YouTube Data API v3 key. Set it via:
  export YOUTUBE_API_KEY=your_key_here
Or add it to ~/.claude/.env.global

Overview

You are a YouTube analytics and strategy expert. Use the YouTube Data API v3 to analyze channels, videos, and search trends to provide actionable insights.

Manual install (npx, ZIP)
Claude Codenpx skills add OpenClaudia/openclaudia-skills --skill youtube-analytics -g -a claude-code
Claude Code (degit)npx degit OpenClaudia/openclaudia-skills/skills/youtube-analytics#main ~/.claude/skills/youtube-analytics
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md6.5 KB
Read SKILL.md here
OpenClaudia/main1 file shown
SKILL.md
Show the full text199 lines

YouTube Analytics Skill

You are a YouTube analytics and strategy expert. Use the YouTube Data API v3 to analyze channels, videos, and search trends to provide actionable insights.

Prerequisites

This skill requires YOUTUBE_API_KEY. Check for it in environment variables or ~/.claude/.env.global. If not found, inform the user:

This skill requires a YouTube Data API v3 key. Set it via:
  export YOUTUBE_API_KEY=your_key_here
Or add it to ~/.claude/.env.global

Get your API key at: https://console.cloud.google.com/apis/credentials
Enable "YouTube Data API v3" in your Google Cloud project.

API Reference

Base URL: https://www.googleapis.com/youtube/v3

Channel Analysis

Get channel by username or handle:

curl -s "https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics,contentDetails,brandingSettings&forHandle=@{handle}&key=${YOUTUBE_API_KEY}"

Get channel by ID:

curl -s "https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics,contentDetails&id={channelId}&key=${YOUTUBE_API_KEY}"

Key metrics returned:

  • statistics.viewCount — Total channel views
  • statistics.subscriberCount — Subscriber count
  • statistics.videoCount — Total videos published
  • contentDetails.relatedPlaylists.uploads — Upload playlist ID (use to list all videos)
List Channel Videos

Get uploads playlist:

curl -s "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet,contentDetails&playlistId={uploadsPlaylistId}&maxResults=50&key=${YOUTUBE_API_KEY}"
Video Performance

Get video statistics:

curl -s "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics,contentDetails&id={videoId1},{videoId2}&key=${YOUTUBE_API_KEY}"

Key metrics:

  • statistics.viewCount — Views
  • statistics.likeCount — Likes
  • statistics.commentCount — Comments
  • contentDetails.duration — Video length (ISO 8601 format)
  • snippet.publishedAt — Publish date
  • snippet.tags — Video tags

Search videos by keyword:

curl -s "https://www.googleapis.com/youtube/v3/search?part=snippet&q={keyword}&type=video&maxResults=10&order=relevance&key=${YOUTUBE_API_KEY}"

Search with filters:

  • order=viewCount — Most viewed
  • order=date — Most recent
  • order=rating — Highest rated
  • publishedAfter=2026-01-01T00:00:00Z — Filter by date
  • videoDuration=short|medium|long — Filter by length
  • regionCode=US — Filter by region

Analysis Process

Step 1: Channel Overview

Pull channel data and compute:

Metric Calculation
Avg views per video Total views / video count
Upload frequency Videos per week/month (from recent 50 uploads)
Subscriber-to-view ratio Avg views / subscriber count
Engagement rate (Likes + Comments) / Views × 100
Step 2: Top Performing Content

List the last 50 videos and sort by:

  1. View count (absolute performance)
  2. Views per day since publish (velocity)
  3. Engagement rate (likes + comments / views)
  4. Like-to-view ratio

Identify patterns in top performers:

  • Common topics or keywords
  • Video length sweet spot
  • Thumbnail style (from title patterns)
  • Posting day and time
Step 3: Content Gaps

Search for the channel's core keywords and compare:

  • What top-ranking videos cover vs. what this channel has
  • Competitor channels ranking for the same keywords
  • Trending topics the channel hasn't addressed
Step 4: YouTube SEO Analysis

For each video analyzed, check:

Element Best Practice Score
Title Keyword in first 60 chars, compelling, <70 chars ✓/✗
Description 200+ words, keyword in first 2 lines, links, timestamps ✓/✗
Tags 5-15 relevant tags, mix of broad and specific ✓/✗
Thumbnail (Cannot check via API — note this) N/A
End screens (Cannot check via API — note this) N/A

Output Format

# YouTube Channel Analysis: {Channel Name}
**Date:** {date}
**Subscribers:** {count}
**Total Views:** {count}
**Videos:** {count}
**Channel Age:** {years/months}

## Performance Overview

| Metric | Value | Benchmark |
|--------|-------|-----------|
| Avg views/video | {count} | {niche avg if known} |
| Upload frequency | {X}/week | 1-3/week recommended |
| Engagement rate | {X}% | 3-7% is good |
| Sub-to-view ratio | {X}% | >10% is healthy |

## Top 10 Videos by Views

| # | Title | Views | Likes | Comments | Published | Engagement |
|---|-------|-------|-------|----------|-----------|------------|
| 1 | {title} | {views} | {likes} | {comments} | {date} | {rate}% |

## Content Patterns

### What Works
- {Pattern 1: topic/format that consistently performs}
- {Pattern 2}

### Underperforming
- {Pattern that gets below-average views}

## SEO Opportunities

| Keyword | Search Volume | Competition | Channel Coverage |
|---------|--------------|-------------|-----------------|
| {keyword} | {if available} | {high/med/low} | {has video / missing} |

## Recommendations

1. **{Recommendation}** — {Why and expected impact}
2. **{Recommendation}** — {Why and expected impact}
3. **{Recommendation}** — {Why and expected impact}

Channel Comparison

When comparing channels, present:

## Channel Comparison

| Metric | {Channel A} | {Channel B} | {Channel C} |
|--------|-------------|-------------|-------------|
| Subscribers | {count} | {count} | {count} |
| Total views | {count} | {count} | {count} |
| Videos | {count} | {count} | {count} |
| Avg views/video | {count} | {count} | {count} |
| Upload frequency | {X}/week | {X}/week | {X}/week |
| Top video views | {count} | {count} | {count} |

Important Notes

  • The YouTube Data API has a daily quota of 10,000 units. Each search costs 100 units. Each video/channel lookup costs 1-3 units. Be efficient with API calls.
  • Batch video IDs in single requests (up to 50 per call) to conserve quota.
  • Subscriber counts below 1,000 are hidden by YouTube. The API returns 0 in these cases.
  • likeCount may not be available if the creator has hidden likes.
  • API results are public data only. For private analytics (watch time, CTR, audience retention), the channel owner needs YouTube Studio or YouTube Analytics API with OAuth.
1---
2name: youtube-analytics
3description: Analyze YouTube channel and video performance using the YouTube Data API. Use when the user says "YouTube analytics", "check my channel", "video performance", "YouTube stats", "channel analysis", "compare YouTube channels", "YouTube SEO", or asks about YouTube metrics, views, subscribers, or content performance.
4---
5 
6# YouTube Analytics Skill
7 
8You are a YouTube analytics and strategy expert. Use the YouTube Data API v3 to analyze channels, videos, and search trends to provide actionable insights.
9 
10## Prerequisites
11 
12This skill requires `YOUTUBE_API_KEY`. Check for it in environment variables or `~/.claude/.env.global`. If not found, inform the user:
13 
14```
15This skill requires a YouTube Data API v3 key. Set it via:
16 export YOUTUBE_API_KEY=your_key_here
17Or add it to ~/.claude/.env.global
18 
19Get your API key at: https://console.cloud.google.com/apis/credentials
20Enable "YouTube Data API v3" in your Google Cloud project.
21```
22 
23## API Reference
24 
25Base URL: `https://www.googleapis.com/youtube/v3`
26 
27### Channel Analysis
28 
29**Get channel by username or handle:**
30```bash
31curl -s "https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics,contentDetails,brandingSettings&forHandle=@{handle}&key=${YOUTUBE_API_KEY}"
32```
33 
34**Get channel by ID:**
35```bash
36curl -s "https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics,contentDetails&id={channelId}&key=${YOUTUBE_API_KEY}"
37```
38 
39Key metrics returned:
40- `statistics.viewCount` — Total channel views
41- `statistics.subscriberCount` — Subscriber count
42- `statistics.videoCount` — Total videos published
43- `contentDetails.relatedPlaylists.uploads` — Upload playlist ID (use to list all videos)
44 
45### List Channel Videos
46 
47**Get uploads playlist:**
48```bash
49curl -s "https://www.googleapis.com/youtube/v3/playlistItems?part=snippet,contentDetails&playlistId={uploadsPlaylistId}&maxResults=50&key=${YOUTUBE_API_KEY}"
50```
51 
52### Video Performance
53 
54**Get video statistics:**
55```bash
56curl -s "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics,contentDetails&id={videoId1},{videoId2}&key=${YOUTUBE_API_KEY}"
57```
58 
59Key metrics:
60- `statistics.viewCount` — Views
61- `statistics.likeCount` — Likes
62- `statistics.commentCount` — Comments
63- `contentDetails.duration` — Video length (ISO 8601 format)
64- `snippet.publishedAt` — Publish date
65- `snippet.tags` — Video tags
66 
67### Search
68 
69**Search videos by keyword:**
70```bash
71curl -s "https://www.googleapis.com/youtube/v3/search?part=snippet&q={keyword}&type=video&maxResults=10&order=relevance&key=${YOUTUBE_API_KEY}"
72```
73 
74**Search with filters:**
75- `order=viewCount` — Most viewed
76- `order=date` — Most recent
77- `order=rating` — Highest rated
78- `publishedAfter=2026-01-01T00:00:00Z` — Filter by date
79- `videoDuration=short|medium|long` — Filter by length
80- `regionCode=US` — Filter by region
81 
82## Analysis Process
83 
84### Step 1: Channel Overview
85 
86Pull channel data and compute:
87 
88| Metric | Calculation |
89|--------|-------------|
90| Avg views per video | Total views / video count |
91| Upload frequency | Videos per week/month (from recent 50 uploads) |
92| Subscriber-to-view ratio | Avg views / subscriber count |
93| Engagement rate | (Likes + Comments) / Views × 100 |
94 
95### Step 2: Top Performing Content
96 
97List the last 50 videos and sort by:
981. View count (absolute performance)
992. Views per day since publish (velocity)
1003. Engagement rate (likes + comments / views)
1014. Like-to-view ratio
102 
103Identify patterns in top performers:
104- Common topics or keywords
105- Video length sweet spot
106- Thumbnail style (from title patterns)
107- Posting day and time
108 
109### Step 3: Content Gaps
110 
111Search for the channel's core keywords and compare:
112- What top-ranking videos cover vs. what this channel has
113- Competitor channels ranking for the same keywords
114- Trending topics the channel hasn't addressed
115 
116### Step 4: YouTube SEO Analysis
117 
118For each video analyzed, check:
119 
120| Element | Best Practice | Score |
121|---------|--------------|-------|
122| Title | Keyword in first 60 chars, compelling, <70 chars | ✓/✗ |
123| Description | 200+ words, keyword in first 2 lines, links, timestamps | ✓/✗ |
124| Tags | 5-15 relevant tags, mix of broad and specific | ✓/✗ |
125| Thumbnail | (Cannot check via API — note this) | N/A |
126| End screens | (Cannot check via API — note this) | N/A |
127 
128## Output Format
129 
130```markdown
131# YouTube Channel Analysis: {Channel Name}
132**Date:** {date}
133**Subscribers:** {count}
134**Total Views:** {count}
135**Videos:** {count}
136**Channel Age:** {years/months}
137 
138## Performance Overview
139 
140| Metric | Value | Benchmark |
141|--------|-------|-----------|
142| Avg views/video | {count} | {niche avg if known} |
143| Upload frequency | {X}/week | 1-3/week recommended |
144| Engagement rate | {X}% | 3-7% is good |
145| Sub-to-view ratio | {X}% | >10% is healthy |
146 
147## Top 10 Videos by Views
148 
149| # | Title | Views | Likes | Comments | Published | Engagement |
150|---|-------|-------|-------|----------|-----------|------------|
151| 1 | {title} | {views} | {likes} | {comments} | {date} | {rate}% |
152 
153## Content Patterns
154 
155### What Works
156- {Pattern 1: topic/format that consistently performs}
157- {Pattern 2}
158 
159### Underperforming
160- {Pattern that gets below-average views}
161 
162## SEO Opportunities
163 
164| Keyword | Search Volume | Competition | Channel Coverage |
165|---------|--------------|-------------|-----------------|
166| {keyword} | {if available} | {high/med/low} | {has video / missing} |
167 
168## Recommendations
169 
1701. **{Recommendation}** — {Why and expected impact}
1712. **{Recommendation}** — {Why and expected impact}
1723. **{Recommendation}** — {Why and expected impact}
173```
174 
175## Channel Comparison
176 
177When comparing channels, present:
178 
179```markdown
180## Channel Comparison
181 
182| Metric | {Channel A} | {Channel B} | {Channel C} |
183|--------|-------------|-------------|-------------|
184| Subscribers | {count} | {count} | {count} |
185| Total views | {count} | {count} | {count} |
186| Videos | {count} | {count} | {count} |
187| Avg views/video | {count} | {count} | {count} |
188| Upload frequency | {X}/week | {X}/week | {X}/week |
189| Top video views | {count} | {count} | {count} |
190```
191 
192## Important Notes
193 
194- The YouTube Data API has a daily quota of 10,000 units. Each search costs 100 units. Each video/channel lookup costs 1-3 units. Be efficient with API calls.
195- Batch video IDs in single requests (up to 50 per call) to conserve quota.
196- Subscriber counts below 1,000 are hidden by YouTube. The API returns 0 in these cases.
197- `likeCount` may not be available if the creator has hidden likes.
198- API results are public data only. For private analytics (watch time, CTR, audience retention), the channel owner needs YouTube Studio or YouTube Analytics API with OAuth.
199 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 705
Checked
Source
OpenClaudia/openclaudia-skills ↗
Creator
OpenClaudia · 78 listings
View creator

Similar skills

See all →
SkillYouTube Channel AuditorJakeschincariol/youtube-agent-skill · by JakeschincariolAudit a YouTube channel end to end - packaging, consistency, the first fifteen seconds, and what to fix first. Use for "audit my channel", "why isn't my channel growing", "review my videos", or a pasted channel URL.★ 1.1k GitHub starsSkillYouTube Channel Rewritersergebulaev/youtube-skills · by sergebulaevAudit and rewrite a YouTube channel end-to-end for 2026: name and @handle, banner (2560x1440 with the 1235x338 mobile/TV safe area), profile picture, About plus searchable keywords, trailer for non-subscribers vs featured video for subscribers, sections and playlist layout, watermark, links. Triggers on "optimize my YouTube channel", "rewrite my channel about", "fix my banner", "channel audit", "set my trailer". Converts a viewer into a subscriber. Not for writing a video title (use yt-title-optimizer).★ 36 GitHub starsSkillAd Fatigue Manageraaron-he-zhu/aaron-marketing-skills · by aaron-he-zhuUse when the user asks to "is my ad fatiguing", "why is CTR dropping at scale", or "should I rotate creative / widen the audience"; reads frequency, CTR and CVR decay against an early-flight baseline and returns Rotate-creative / Widen-audience / Hold triggers with a per-ad-set fatigue read. Not for building the replacement creative — use ad-creative-builder; not for the RQS score or vetoes — use ad-account-auditor. 广告疲劳检测/频次管理/换素材还是扩人群★ 2.9k GitHub starsSkillPricing Tier Architectwondelai/skills · by wondelai- Leaders, Fillers, Killers★ 2.2k GitHub starsSkillTitle Thumbnail PackagerJakeschincariol/youtube-agent-skill · by JakeschincariolWrite and lint the title and thumbnail for a YouTube video as one pairing, checking truncation, duplication and vagueness before publish. Use for title ideas", "what should I call this", "thumbnail text", "my CTR is bad", packaging, or any request to rename or repackage an existing video.★ 1.1k GitHub starsSkillYouTube SEO Optimizerkostja94/marketing-skills · by kostja94When the user wants to optimize YouTube videos for search, create video descriptions, or improve channel visibility. Also use when the user mentions "YouTube SEO," "YouTube description," "YouTube tags," "YouTube thumbnail," "YouTube title," "YouTube channel," or "video SEO." For YouTube ads, use youtube-ads.★ 1k GitHub stars

More from OpenClaudia

SkillA/B Testing FrameworkOpenClaudia/openclaudia-skills · by OpenClaudiaDesign, plan, and analyze A/B tests with statistical rigor. Use when the user asks about A/B testing, split testing, experiment design, statistical significance, sample size calculation, test duration, multivariate testing, or conversion experiments. Trigger phrases include "A/B test", "split test", "experiment", "statistical significance", "sample size", "test duration", "which version wins", "conversion experiment", "hypothesis test", "variant testing".★ 705 GitHub starsSkillAffiliate Marketing ProgramOpenClaudia/openclaudia-skills · by OpenClaudiaBuild and manage an affiliate marketing program. Use when the user says "affiliate program", "affiliate marketing", "affiliate partners", "referral commissions", "affiliate network", "partner program", "affiliate tracking", or asks about creating, managing, or growing an affiliate or partner program.★ 705 GitHub starsSkillAhrefs API ManagerOpenClaudia/openclaudia-skills · by OpenClaudiaManages Ahrefs API usage in Python using `ahrefs-python` library. Use when working with SEO / marketing related tasks or with data including backlinks, keywords, domain ratings, organic traffic, site audits, rank tracking, and brand monitoring. Covers `ahrefs-python` usage including AhrefsClient / AsyncAhrefsClient, typed request/response models, error handling, and all API sections.★ 705 GitHub starsSkillAI Citations Report GeneratorOpenClaudia/openclaudia-skills · by OpenClaudiaGenerate an AI Citations Report (GEO) for a domain — which AI-search prompts cite the site across Google AI Overview and ChatGPT, plus organic-traffic context and per-article citation coverage. Use when the user asks for an 'AI citations report', 'GEO citations report', or 'which AI prompts cite <domain>'.★ 705 GitHub starsSkillB2B Lead EnricherOpenClaudia/openclaudia-skills · by OpenClaudiaResearch and enrich B2B leads using the Apollo.io API. Use when the user says "find leads", "prospect research", "company enrichment", "find decision makers", "B2B leads", "lead research", "enrich contacts", "find VP of marketing at", or asks about finding people at specific companies or in specific roles.★ 705 GitHub starsSkillBacklink Health CheckerOpenClaudia/openclaudia-skills · by OpenClaudiaAudit a domain's backlink profile using the SemRush API. Use when the user says "audit backlinks", "check my backlinks", "backlink analysis", "link profile", "toxic links", "disavow", "link building opportunities", "referring domains", "anchor text", or asks about a site's link authority.★ 705 GitHub stars