mcpField
Y
youtube-research

youtube-research

github.com/bradautomatesマーケティング・グロース290379 回インストール40 週間前に更新
リポジトリ

youtube-research について

youtube-research は、YouTube クリエイター向けに注目動画を探し、内容を分析して実用的なレポートを作るリサーチスキルです。チャンネルデータ、トピックキーワード、動画分析から、タイトルの型やフック、構成を整理します。

主な機能

  1. 01チャンネル動画と再生数の取得
  2. 02ニッチおよび関連トピックの突出動画検索
  3. 03トピックとの関連性による動画選定
  4. 04フック、構成、視聴維持、CTA の分析
  5. 05リサーチレポートの作成

活用シーン

  1. 01チャンネルで参考にする好成績トピックの発見
  2. 02ニッチと関連視聴者向け動画の比較
  3. 03タイトルとフックの型の抽出
  4. 04YouTube コンテンツ調査レポートの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bradautomates/head-of-content --skill youtube-research

インストール後、Claude Code で/youtube-researchを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
channel-analysis-schema.md
scripts/
find_outliers.py
get_channel_videos.py

詳細

YouTube 調査

高い成果を上げている YouTube の外れ値動画を調査し、人気コンテンツを AI で分析して、実行可能なレポートを作成します。

前提条件

  • TUBELAB_API_KEY 環境変数。キーは https://tubelab.net/settings/api から取得します
  • GEMINI_API_KEY 環境変数(動画分析用)
  • Python パッケージ google-genai と requests

ワークフロー

ステップ 1:実行フォルダーを作成する
mkdir -p youtube-research/$(date +%Y-%m-%d_%H%M%S)
ステップ 2:チャンネル ID を取得する

.claude/context/youtube-channel.md を読み、チャンネル ID を取得します。

ステップ 3:チャンネル動画を取得する
python scripts/get_channel_videos.py CHANNEL_ID --format summary

チャンネルの動画タイトルと視聴回数を含む JSON が返されます。

ステップ 4:チャンネルを分析する

チャンネルのデータを分析し、以下を抽出します:

  • keywords:チャンネルの直接的なニッチ分野を表す検索語句を 4 つ
  • adjacent-keywords:同じ視聴者が見るトピックを表す検索語句を 4 つ
  • audience:反論、変化、利害関係を含む視聴者プロフィールを 2〜3 件
  • formulas:再利用可能なタイトルのテンプレート

スキーマ全体と出力例については、references/channel-analysis-schema.md を参照してください。

ステップ 5:外れ値を検索する

両方のキーワードセットを使って外れ値を検索します:

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

次の 2 つの検索が実行されます:

  • 直接的なニッチ分野:5K 回以上の視聴数をしきい値としてキーワードを検索
  • 隣接する視聴者層:10K 回以上の視聴数をしきい値として adjacent-keywords を検索

出力ファイル:

  • outliers.json - 動画分析用に正規化されたすべての外れ値
  • report.md - 基本的な Markdown レポート
  • thumbnails/*.jpg - 動画のサムネイル
  • transcripts/*.txt - 動画のトランスクリプト
ステップ 6:分析対象の関連動画を絞り込む

outliers.json と .claude/context/youtube-channel.md に記載されたユーザーのニッチ分野を読みます。

重要:ユーザーのニッチ分野に最も関連する動画を最大 3 本選択します。次の基準で絞り込みます:

  1. タイトルの関連性:タイトルにユーザーのニッチ分野/トピックに関するキーワードが含まれている
  2. トランスクリプトの関連性:トランスクリプトがある場合、関連トピックに言及しているか確認する
  3. 直接的なニッチ分野を優先:隣接するキーワードの検索結果よりも、直接的なキーワードの検索結果から動画を選ぶ

ユーザーのコンテンツスタイルから明らかに外れる動画は除外します(例:チュートリアルを作成するユーザーの場合、エンターテインメントや Vlog の動画)。

絞り込んだ動画を {RUN_FOLDER}/filtered-outliers.json に書き込みます:

{
  "outliers": [/* max 3 relevant videos */],
  "filter_reason": "Selected based on relevance to [user's niche]"
}
ステップ 7:人気動画を 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 3

各動画から以下を抽出します:

  • フックの手法と再現可能な公式
  • コンテンツの構成とセクション
  • 視聴維持のテクニック
  • CTA 戦略

出力スキーマ全体とフック/フォーマットの種類については、video-content-analyzer スキルを参照してください。

ステップ 8:最終レポートを作成する

{RUN_FOLDER}/outliers.json と {RUN_FOLDER}/video-analysis.json を読み、{RUN_FOLDER}/report.md を作成します。

レポートの構成:

# 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]

実行可能なインサイトを重視してください。再現可能な公式を含む「成果の高いフック」セクションを目立つように配置してください。

クイックリファレンス

パイプライン全体:

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

続いて、ニッチ分野との関連性に基づいて外れ値を絞り込み(最大 3 本)、動画分析を実行してレポートを作成します。

スクリプトリファレンス

get_channel_videos.py
python .claude/skills/youtube-research/scripts/get_channel_videos.py CHANNEL_ID [--format json|summary]
引数説明
CHANNEL_IDYouTube チャンネル ID(24 文字)
--formatjson(全データ)または summary(分析用)
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]
引数説明
--keywords直接的なニッチ分野のキーワード(推奨:4 つ)
--adjacent-keywords隣接トピックのキーワード(推奨:4 つ)
--output-dir出力ディレクトリ(必須)
--topカテゴリーごとの動画数(デフォルト:5)
--days検索対象の日数(デフォルト:30)
--json生の JSON データも保存

出力:outliers.json、report.md、thumbnails/、transcripts/

スコアリングアルゴリズム

動画の順位は zScore × recency_boost で決まります。

  • zScore:動画がチャンネルの平均をどの程度上回っているか
  • recency_boost:今日の動画は 1.0、1 日ごとに 5% 低下(最小 0.3×)

コメント