/youtube-research
Research high-performing YouTube videos in a niche using TubeLab's outlier detection API. Identifies outlier videos, analyzes top 3 relevant videos with AI, and generates reports with actionable hook formulas. Use when asked to: - Find trending videos in a YouTube niche -
$ npx -y skills add bradautomates/head-of-content --skill youtube-research --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/youtube-research
Context preview
The summary Claude sees to decide when to auto-load this skill.
Research high-performing YouTube videos in a niche using TubeLab's outlier detection API. Identifies outlier videos, analyzes top 3 relevant videos with AI, and generates reports with actionable hook formulas. Use when asked to: - Find trending videos in a YouTube niche -
SKILL.md
youtube-research.SKILL.mdname: youtube-research
description: |
Research high-performing YouTube videos in a niche using TubeLab's outlier detection API.
Identifies outlier videos, analyzes top 3 relevant videos with AI, and generates reports with actionable hook formulas.
Use when asked to:
- Find trending videos in a YouTube niche
- Research competitor content
- Discover viral video patterns
- Generate content ideas based on what's working
- Run YouTube research
- Find outlier videos
- Analyze hooks and content structure
Triggers: "youtube research", "find outlier videos", "research YouTube trends",
"what videos are performing well", "find content ideas for my channel", "youtube trends"
YouTube Research
Research high-performing YouTube outlier videos, analyze top content with AI, and generate actionable reports.
Prerequisites
- `TUBELAB_API_KEY` environment variable. Get key from https://tubelab.net/settings/api
- `GEMINI_API_KEY` environment variable (for video analysis)
- `google-genai` and `requests` Python packages
Workflow
Step 1: Create Run Folder
mkdir -p youtube-research/$(date +%Y-%m-%d_%H%M%S)
Step 2: Get Channel ID
Read `.claude/context/youtube-channel.md` to get the channel ID.
Step 3: Fetch Channel Videos
python scripts/get_channel_videos.py CHANNEL_ID --format summary
This returns JSON with the channel's video titles and view counts.
Step 4: Analyze Channel
Analyze the channel data to extract:
- **keywords**: 4 search terms for the channel's direct niche
- **adjacent-keywords**: 4 search terms for topics the same audience watches
- **audience**: 2-3 profiles with objections, transformations, stakes
- **formulas**: Reusable title templates
See `references/channel-analysis-schema.md` for the full schema and example output.
Step 5: Search for Outliers
Run the outlier search with both keyword sets:
python .claude/skills/youtube-research/scripts/find_outliers.py \
--keywords "keyword1" "keyword2" "keyword3" "keyword4" \
--adjacent-keywords "adjacent1" "adjacent2" "adjacent3" "adjacent4" \
--output-dir youtube-research/{run-folder} \
--top 5This runs two searches:
- **Direct niche**: keywords with 5K+ views threshold
- **Adjacent audience**: adjacent-keywords with 10K+ views threshold
Output files:
- `outliers.json` - All outliers normalized for video analysis
- `report.md` - Basic markdown report
- `thumbnails/*.jpg` - Video thumbnails
- `transcripts/*.txt` - Video transcripts
Step 6: Filter Relevant Videos for Analysis
Read `outliers.json` and the user's niche from `.claude/context/youtube-channel.md`.
**CRITICAL**: Select MAX 3 videos that are most relevant to the user's niche. Filter by: 1. **Title relevance**: Title contains keywords related to user's niche/topics 2. **Transcript relevance**: If transcript exists, check it mentions relevant topics 3. **Direct niche priority**: Prefer videos from direct keyword search over adjacent
Skip videos that are clearly outside the user's content style (e.g., entertainment/vlogs when user does tutorials).
Write the filtered videos to `{RUN_FOLDER}/filtered-outliers.json`:
{
"outliers": [/* max 3 relevant videos */],
"filter_reason": "Selected based on relevance to [user's niche]"
}Step 7: Analyze Top Videos with AI
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py \
--input {RUN_FOLDER}/filtered-outliers.json \
--output {RUN_FOLDER}/video-analysis.json \
--platform youtube \
--max-videos 3Extracts from each video:
- Hook technique and replicable formula
- Content structure and sections
- Retention techniques
- CTA strategy
See the `video-content-analyzer` skill for full output schema and hook/format types.
Step 8: Generate Final Report
Read `{RUN_FOLDER}/outliers.json` and `{RUN_FOLDER}/video-analysis.json`, then generate `{RUN_FOLDER}/report.md`.
**Report Structure:**
# YouTube Research Report
Generated: {date}
## Top Performing Hooks
Ranked by engagement. Use these formulas for your content.
### Hook 1: {technique} - {channelTitle}
- **Video**: "{title}"
- **Opening**: "{opening_line}"
- **Why it works**: {attention_grab}
- **Replicable Formula**: {replicable_formula}
- **Views**: {viewCount} | **zScore**: {zScore}
- [Watch Video]({url})
[Repeat for each analyzed video]
## Content Structure Patterns
| Video | Format | Pacing | Key Retention Techniques |
|-------|--------|--------|--------------------------|
| {title} | {format} | {pacing} | {techniques} |
## CTA Strategies
| Video | CTA Type | CTA Text | Placement |
|-------|----------|----------|-----------|
| {title} | {type} | "{cta_text}" | {placement} |
## All Outliers
### Direct Niche
| Rank | Channel | Title | Views | zScore |
|------|---------|-------|-------|--------|
[List direct niche outliers]
### Adjacent Audience
| Rank | Channel | Title | Views | zScore |
|------|---------|-------|-------|--------|
[List adjacent outliers]
## Actionable Takeaways
[Synthesize patterns into 4-6 specific recommendations based on video analysis]Focus on actionable insights. The "Top Performing Hooks" section with replicable formulas should be prominent.
Quick Reference
Full pipeline:
RUN_FOLDER="youtube-research/$(date +%Y-%m-%d_%H%M%S)" && mkdir -p "$RUN_FOLDER" && \
python .claude/skills/youtube-research/scripts/find_outliers.py \
--keywords "k1" "k2" "k3" "k4" \
--adjacent-keywords "a1" "a2" "a3" "a4" \
--output-dir "$RUN_FOLDER" --top 5
Then filter outliers for niche relevance (max 3), run video analysis, and generate the report.
Script Reference
get_channel_videos.py
python .claude/skills/youtube-research/scripts/get_channel_videos.py CHANNEL_ID [--format json|summary]
| Arg | Description | |-----|-------------| | `CHANNEL_ID` | YouTube channel ID (24 chars) | | `--format` | `json` (full data) or `summary` (for analysis) |
##
Read more
name: youtube-research description: | Research high-performing YouTube videos in a niche using TubeLab's outlier detection API. Identifies outlier videos, analyzes top 3 relevant videos with AI, and generates reports with actionable hook formulas. Use when asked to: - Find trending videos in a YouTube niche - Research competitor content - Discover viral video patterns - Generate content ideas based on what's working - Run YouTube research - Find outlier videos - Analyze hooks and content structure Triggers: "youtube research", "find outlier videos", "research YouTube trends", "what videos are performing well", "find content ideas for my channel", "youtube trends"
YouTube Research
Research high-performing YouTube outlier videos, analyze top content with AI, and generate actionable reports.
Prerequisites
- `TUBELAB_API_KEY` environment variable. Get key from https://tubelab.net/settings/api
- `GEMINI_API_KEY` environment variable (for video analysis)
- `google-genai` and `requests` Python packages
Workflow
Step 1: Create Run Folder
mkdir -p youtube-research/$(date +%Y-%m-%d_%H%M%S)
Step 2: Get Channel ID
Read `.claude/context/youtube-channel.md` to get the channel ID.
Step 3: Fetch Channel Videos
python scripts/get_channel_videos.py CHANNEL_ID --format summary
This returns JSON with the channel's video titles and view counts.
Step 4: Analyze Channel
Analyze the channel data to extract:
- **keywords**: 4 search terms for the channel's direct niche
- **adjacent-keywords**: 4 search terms for topics the same audience watches
- **audience**: 2-3 profiles with objections, transformations, stakes
- **formulas**: Reusable title templates
See `references/channel-analysis-schema.md` for the full schema and example output.
Step 5: Search for Outliers
Run the outlier search with both keyword sets:
python .claude/skills/youtube-research/scripts/find_outliers.py \
--keywords "keyword1" "keyword2" "keyword3" "keyword4" \
--adjacent-keywords "adjacent1" "adjacent2" "adjacent3" "adjacent4" \
--output-dir youtube-research/{run-folder} \
--top 5This runs two searches:
- **Direct niche**: keywords with 5K+ views threshold
- **Adjacent audience**: adjacent-keywords with 10K+ views threshold
Output files:
- `outliers.json` - All outliers normalized for video analysis
- `report.md` - Basic markdown report
- `thumbnails/*.jpg` - Video thumbnails
- `transcripts/*.txt` - Video transcripts
Step 6: Filter Relevant Videos for Analysis
Read `outliers.json` and the user's niche from `.claude/context/youtube-channel.md`.
**CRITICAL**: Select MAX 3 videos that are most relevant to the user's niche. Filter by: 1. **Title relevance**: Title contains keywords related to user's niche/topics 2. **Transcript relevance**: If transcript exists, check it mentions relevant topics 3. **Direct niche priority**: Prefer videos from direct keyword search over adjacent
Skip videos that are clearly outside the user's content style (e.g., entertainment/vlogs when user does tutorials).
Write the filtered videos to `{RUN_FOLDER}/filtered-outliers.json`:
{
"outliers": [/* max 3 relevant videos */],
"filter_reason": "Selected based on relevance to [user's niche]"
}Step 7: Analyze Top Videos with AI
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py \
--input {RUN_FOLDER}/filtered-outliers.json \
--output {RUN_FOLDER}/video-analysis.json \
--platform youtube \
--max-videos 3Extracts from each video:
- Hook technique and replicable formula
- Content structure and sections
- Retention techniques
- CTA strategy
See the `video-content-analyzer` skill for full output schema and hook/format types.
Step 8: Generate Final Report
Read `{RUN_FOLDER}/outliers.json` and `{RUN_FOLDER}/video-analysis.json`, then generate `{RUN_FOLDER}/report.md`.
**Report Structure:**
# YouTube Research Report
Generated: {date}
## Top Performing Hooks
Ranked by engagement. Use these formulas for your content.
### Hook 1: {technique} - {channelTitle}
- **Video**: "{title}"
- **Opening**: "{opening_line}"
- **Why it works**: {attention_grab}
- **Replicable Formula**: {replicable_formula}
- **Views**: {viewCount} | **zScore**: {zScore}
- [Watch Video]({url})
[Repeat for each analyzed video]
## Content Structure Patterns
| Video | Format | Pacing | Key Retention Techniques |
|-------|--------|--------|--------------------------|
| {title} | {format} | {pacing} | {techniques} |
## CTA Strategies
| Video | CTA Type | CTA Text | Placement |
|-------|----------|----------|-----------|
| {title} | {type} | "{cta_text}" | {placement} |
## All Outliers
### Direct Niche
| Rank | Channel | Title | Views | zScore |
|------|---------|-------|-------|--------|
[List direct niche outliers]
### Adjacent Audience
| Rank | Channel | Title | Views | zScore |
|------|---------|-------|-------|--------|
[List adjacent outliers]
## Actionable Takeaways
[Synthesize patterns into 4-6 specific recommendations based on video analysis]Focus on actionable insights. The "Top Performing Hooks" section with replicable formulas should be prominent.
Quick Reference
Full pipeline:
RUN_FOLDER="youtube-research/$(date +%Y-%m-%d_%H%M%S)" && mkdir -p "$RUN_FOLDER" && \ python .claude/skills/youtube-research/scripts/find_outliers.py \ --keywords "k1" "k2" "k3" "k4" \ --adjacent-keywords "a1" "a2" "a3" "a4" \ --output-dir "$RUN_FOLDER" --top 5
Then filter outliers for niche relevance (max 3), run video analysis, and generate the report.
Script Reference
get_channel_videos.py
python .claude/skills/youtube-research/scripts/get_channel_videos.py CHANNEL_ID [--format json|summary]
| Arg | Description | |-----|-------------| | `CHANNEL_ID` | YouTube channel ID (24 chars) | | `--format` | `json` (full data) or `summary` (for analysis) |
##
Your AI-powered content research coworker. Stop guessing what content works—let Claude research, analyze, and surface winning patterns across X/Twitter, Instagram, YouTube, and TikTok.
Other skills on head-of-content.
- /content-planner
Orchestrate comprehensive content research across X, Instagram, YouTube, and TikTok platforms. Runs all research skills in parallel via subagents, then aggregates findings into actionable content plans and platform-specific intelligence playbooks. Use when asked to: - Create a
Open skill - /instagram-research
Research high-performing Instagram content (posts and reels) from tracked accounts using Apify's Instagram Scraper. Identifies outlier content, analyzes top 5 videos with AI, and generates reports with actionable hook formulas. Use when asked to: - Find trending Instagram
Open skill - /tiktok-research
Research high-performing TikTok videos from tracked accounts using Apify's TikTok Scraper. Identifies outlier content, analyzes top 5 videos with AI, and generates reports with actionable hook formulas. Use when asked to: - Find trending TikTok content in a niche - Research
Open skill - /video-content-analyzer
Analyze short-form videos with Gemini AI to extract hooks, content structure, and replicable patterns. Supports Instagram Reels, TikTok, and YouTube Shorts. Use when asked to: - Analyze video content for hooks and structure - Extract replicable formulas from viral videos -
Open skill - /x-research
Research high-performing X/Twitter content from tracked accounts using Apify's Tweet Scraper V2. Identifies outlier tweets, trending topics, and content patterns to inform content strategy. Use when asked to: - Find trending tweets or content in a niche - Research what's
Open skill

