Agent skill
youtube-research
Research YouTube topics, analyze competitor videos, deconstruct viral content, and query the YouTube Data API.
Filed under Content and SEO.
From manojbajaj95/claude-gtm-plugin · 51 skills · 92 · pushed 2026-05-18
What it does when it runs
Research YouTube topics, analyze competitor videos, deconstruct viral content, and query the YouTube Data API. Use when researching a video topic before planning, analyzing video transcripts for viral patterns, searching competitor channels, or fetching video and channel stats via the YouTube Data API v3.
Read from the skill and the 2 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- YOUTUBE_API_KEY
- plugin_yt-content-strategist_youtube-analytics
- Hosts it reaches
- console.cloud.google.com
- developers.google.com
- www.googleapis.com
- youtu.be
- youtube.com
- Tool permissions it declares
- Bash
- WebSearch
- WebFetch
- Actions present in the files
- shellwrites filesnetwork
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/manojbajaj95/claude-gtm-plugin.git /tmp/claude-gtm-plugin git -C /tmp/claude-gtm-plugin sparse-checkout set "skills/youtube-research" mkdir -p ~/.claude/skills/youtube-research cp -R "/tmp/claude-gtm-plugin/skills/youtube-research/." ~/.claude/skills/youtube-research/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
Or take the whole library
This repo ships a .claude-plugin manifest, so Claude Code can install all 51 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.
/plugin marketplace add manojbajaj95/claude-gtm-plugin /plugin
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
Before you install: this skill will not complete its job on a bare agent. It needs plugin_yt-content-strategist_youtube-analytics, YOUTUBE_API_KEY, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from manojbajaj95/claude-gtm-plugin/blob/3c308fa4f7879d13d3d3df394247eabf6d26b684/skills/youtube-research/SKILL.md, which is licensed MIT (repository). 1,065 words, 29 headings.
YouTube Research
Workspace Context
Read bootstrap context before asking questions: strategy/brand.md for brand, audience, offer, channels, tools, constraints, and metrics; about/me.md for personal voice; content/ideas.md and content/calendar.md for content planning. Use legacy product-marketing context files only as fallback. Save generated drafts to content/<platform>/drafts/YYYY-MM-DD_short-topic-slug.md, and route durable learnings back to strategy/brand.md, about/me.md, or content/ideas.md.
Operating Contract
This skill is self-contained for its frontmatter scope: use its local instructions, references, scripts, and assets as the playbook; ask only for missing task-specific inputs; hand off to adjacent skills instead of expanding scope; and return an actionable artifact, decision, plan, draft, or diagnostic.
Three modes in one skill:
- Topic Research — competitive landscape, content gaps, strategic insights before planning a video
- Video Analysis — forensic deconstruction of transcripts to extract viral formulas and retention mechanics
- API Queries — direct YouTube Data API v3 access for search, stats, comments, and channel info
When to Use
- Researching a video topic before planning production
- Analyzing a competitor video to extract what makes it work
- Fetching channel stats, video metrics, or comments via the API
- Identifying content gaps and opportunities in a niche
YouTube Data API Setup
1. Get an API Key
- Go to Google Cloud Console → APIs & Services → Library
- Enable YouTube Data API v3
- Create Credentials → API Key
export YOUTUBE_API_KEY="your-api-key-here"
Important: When piping curl output, wrap the command in
bash -c '...'to preserve env vars:bash -c 'curl -s "https://..." -H "..." | jq .'
2. Key API Commands
Search Videos:
bash -c 'curl -s "https://www.googleapis.com/youtube/v3/search?part=snippet&q=YOUR_QUERY&type=video&maxResults=10&order=viewCount&key=${YOUTUBE_API_KEY}"' | jq '.items[] | {videoId: .id.videoId, title: .snippet.title, channel: .snippet.channelTitle}'
Get Video Details (stats, duration):
bash -c 'curl -s "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics,contentDetails&id=VIDEO_ID&key=${YOUTUBE_API_KEY}"' | jq '.items[0] | {title: .snippet.title, views: .statistics.viewCount, likes: .statistics.likeCount, duration: .contentDetails.duration}'
Get Channel by Handle:
bash -c 'curl -s "https://www.googleapis.com/youtube/v3/channels?part=snippet,statistics&forHandle=@HANDLE&key=${YOUTUBE_API_KEY}"' | jq '.items[0] | {id: .id, title: .snippet.title, subscribers: .statistics.subscriberCount, videos: .statistics.videoCount}'
Get Video Comments:
bash -c 'curl -s "https://www.googleapis.com/youtube/v3/commentThreads?part=snippet&videoId=VIDEO_ID&maxResults=20&order=relevance&key=${YOUTUBE_API_KEY}"' | jq '.items[] | {author: .snippet.topLevelComment.snippet.authorDisplayName, text: .snippet.topLevelComment.snippet.textDisplay, likes: .snippet.topLevelComment.snippet.likeCount}'
Get Trending Videos:
bash -c 'curl -s "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&chart=mostPopular®ionCode=US&maxResults=10&key=${YOUTUBE_API_KEY}"' | jq '.items[] | {title: .snippet.title, channel: .snippet.channelTitle, views: .statistics.viewCount}'
Quota: 10,000 units/day. Search = 100 units. Most others = 1 unit.
See YouTube Data API docs for full reference.
Mode 1: Topic Research
Conduct research before planning a new video. Focus on insights and big levers — not data dumping.
Workflow
Step 0: Create research file
Save all research to: ./youtube/episode/[episode_number]_[topic_short_name]/research.md
If it already exists, read it and continue from where it left off.
Step 1: Understand the topic
- What problem does this video solve?
- Why would someone click on it?
- What makes it relevant now?
Step 2: Research your own channel
Use the API to find related videos you've already published. Document:
- Related videos (title, video ID, URL, key metrics)
- What's already been covered and how to differentiate
Step 3: Competitor research
Search for 5–8 top videos on the topic. For each:
- Get video details (views, likes, duration)
- Note the title, angle, and what makes it successful
- Synthesize common patterns and approaches
Step 4: Content gap analysis
Document:
- What's saturated — 3–5 over-covered angles
- Gaps (Opportunities) — rated ⭐⭐⭐ high / ⭐⭐ medium / ⭐ low
- Recommended focus — specific angle + unique value proposition
Rating criteria:
- ⭐⭐⭐ High: Significant gap, strong demand, clear differentiation
- ⭐⭐ Medium: Moderate gap, some competition, good potential
- ⭐ Low: Minor gap, heavily competed
Research File Template
# [Episode]: [Topic] - Research
## Episode Overview
**Topic**: [Brief description]
**Target Audience**: [Who this is for]
**Goal**: [What viewers will learn/gain]
## YouTube Research
### Your Previous Videos
[Related videos with metrics]
### Top Competing Videos
[5-8 videos: title, channel, views, angle, what works]
### Key Insights
[Patterns and findings synthesized]
## Content Gap Analysis
### What's Already Well-Covered
[List]
### Content Gaps (Opportunities)
[Rated list with ⭐ ratings]
### Recommended Focus
[Specific angle and unique value proposition]
## Production Notes
**Status**: Research Complete
**Created**: [Date]
Parallel Research
If the host environment supports parallel research, split focused tasks such as competitor search, own-channel review, and comment mining. Otherwise, do them sequentially and synthesize findings after each section.
Pitfalls
- Data dumping — Limit to 5–8 competitors, synthesize patterns instead of listing every video
- Vague gaps — "Not much content on this" → identify the specific missing angle
- Long reports — Focus on insights and big levers
Next step: Use youtube-content skill to plan the video based on this research.
Mode 2: Video Analysis
Forensic deconstruction of video transcripts to extract viral formulas, hooks, and retention mechanics.
Getting the Transcript
Auto-fetch:
python skills/youtube-research/scripts/fetch_transcript.py "YOUTUBE_URL_OR_VIDEO_ID"
Manual paste: YouTube's built-in transcript (click "..." → "Show transcript") or ytscribe.ai.
Analysis Framework
Approach the transcript like a crime scene — extract everything systematically. See reference/analysis-framework.md for the full checklist and templates.
Analyze these 11 dimensions:
- Hook Architecture — Primary hook (first 3–8s), hook type, secondary hooks, fill-in-blank templates
- Structural Blueprint — Content framework (PAS, Story-Lesson-CTA, List-Depth-Summary), beat map, pacing
- Retention Mechanics — Open loops, pattern interrupts, curiosity gaps, payoff points
- Emotional Engineering — Emotional arc, trigger words, identity hooks, Us vs. Them dynamics
- Storytelling Elements — Narrative framework, character positioning, conflict/stakes, specificity
- Linguistic Patterns — Power phrases, sentence rhythm, repetition, conversational triggers
- Algorithm Signals — Watch time optimizers, engagement bait, share/save triggers
- CTA Architecture — Primary CTA, soft CTAs, timing, value exchange
- Viral Coefficient — Shareability score (1–10), comment bait density, crossover potential
- Reusable Templates — Fill-in-blank opening hooks (3 variations), section templates, transition library
- Implementation Playbook — Top 10 steal-this elements, niche adaptation, A/B test suggestions
Before Analysis, Collect Context
- Your niche/topic
- Your content style (casual, educational, hype, etc.)
- Target platform and video length goal
Output Format
Structure output with all 11 sections. End with a Quick Reference Cheatsheet — one-page summary of all extracted patterns for rapid implementation.
Tools
- YouTube API:
bash -c 'curl ...'with$YOUTUBE_API_KEY - MCP (if available):
mcp__plugin_yt-content-strategist_youtube-analytics__search_videos,get_video_details,get_channel_details - Web:
WebSearchandWebFetchfor industry trends and context
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- customer-research by coreyhaines31 · 45,947
- geo-content-research by onvoyage-ai · 1,291
- reddit-opportunity-research by onvoyage-ai · 1,291
- research-brand by onvoyage-ai · 1,291
- research-keywords by onvoyage-ai · 1,291
- sales-research by zubair-trabzada · 1,079
- domain-research by OpenClaudia · 664
- keyword-research by OpenClaudia · 664
Need help setting it up?
This page tells you what youtube-research does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.