home / skills / bradautomates / head-of-content / youtube-research

youtube-research skill

/.claude/skills/youtube-research

This skill discovers trending YouTube videos in a niche, analyzes top performers, and generates actionable hook formulas and reports.

npx playbooks add skill bradautomates/head-of-content --skill youtube-research

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
6.6 KB
---
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

```bash
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

```bash
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:

```bash
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 5
```

This 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`:
```json
{
  "outliers": [/* max 3 relevant videos */],
  "filter_reason": "Selected based on relevance to [user's niche]"
}
```

### Step 7: Analyze Top Videos with AI

```bash
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 3
```

Extracts 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:**

```markdown
# 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:
```bash
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) |

### find_outliers.py

```
python .claude/skills/youtube-research/scripts/find_outliers.py --keywords K1 K2 K3 K4 --adjacent-keywords A1 A2 A3 A4 --output-dir DIR [options]
```

| Arg | Description |
|-----|-------------|
| `--keywords` | Direct niche keywords (4 recommended) |
| `--adjacent-keywords` | Adjacent topic keywords (4 recommended) |
| `--output-dir` | Output directory (required) |
| `--top` | Videos per category (default: 5) |
| `--days` | Days back to search (default: 30) |
| `--json` | Also save raw JSON data |

Output: `outliers.json`, `report.md`, `thumbnails/`, `transcripts/`

## Scoring Algorithm

Videos ranked by: `zScore × recency_boost`
- **zScore**: How much video outperforms its channel average
- **recency_boost**: 1.0 for today, decays 5%/day (min 0.3×)

Overview

This skill researches high-performing YouTube outlier videos in a niche using TubeLab's outlier detection API and AI-driven video analysis. It identifies outlier videos, selects up to three that are most relevant to your channel, and produces a report with replicable hook formulas and actionable content recommendations. Use it to discover what’s working now and turn viral patterns into repeatable ideas.

How this skill works

The skill runs keyword searches for direct and adjacent audience topics, detects outlier videos by z-score and recency boost, and downloads thumbnails and transcripts. It filters the outliers to a maximum of three videos most relevant to the user’s niche, then analyzes each video with an AI content analyzer to extract hook techniques, content structure, retention tactics, and CTAs. Finally it compiles a structured report with top-performing hooks, content structure patterns, CTA strategies, and clear takeaways.

When to use it

  • When you need trending video ideas tailored to your channel niche
  • To research competitor content and reverse-engineer successful formats
  • When looking for viral patterns and repeatable hook formulas
  • To generate specific content concepts based on high-performing videos
  • When running periodic YouTube trend audits for growth strategy

Best practices

  • Provide 4 direct keywords and 4 adjacent keywords to broaden discovery
  • Limit analysis to max 3 most relevant outliers to keep insights focused
  • Prefer videos that match your content style (tutorials vs entertainment)
  • Use the extracted replicable hook formulas directly in scripts and titles
  • Prioritize suggestions with both title and transcript relevance

Example use cases

  • A cooking channel finds three outlier recipe videos and adapts the top hook formula for a new series
  • A tech reviewer reverse-engineers competitors’ retention techniques and CTA placements
  • A creator tests three AI-suggested title formulas derived from top-performing hooks
  • A channel audit identifies adjacent-audience topics to expand content verticals
  • A growth team compiles weekly reports to track shifting hook performance

FAQ

How many videos will be analyzed?

The pipeline filters outliers and analyzes up to 3 videos that are most relevant to your niche.

What makes a video an outlier?

Outliers are ranked by a zScore that measures performance above the channel average, multiplied by a recency boost that favors recent growth.

Do I need API keys?

Yes. The skill requires a TubeLab API key for outlier detection and a GenAI key for the video analysis step.