拡張 · ライブデータYouTube エージェント

YouTube Data Skill

UnifAPI MCP で YouTube の公開データを読む: チャンネル調査向けの youtube/... オペレーション、レスポンス形式、カバレッジの限界。アップロードはしません。

エージェントネイティブ

Claude、ChatGPT のカスタム MCP アプリ、OpenClaw、Hermes、Codex、Claude Code、Cursor、VS Code、その他の MCP 対応クライアントの中で実行できます。専用の GUI フローも、別の LLM API キーも不要です。

ライブの公開データに裏打ちされている

すべてのステップが UnifAPI の返すライブ公開データのレコードに基づいているため、出力は一般的なベストプラクティスの一覧ではなく、実際にランクインし、投稿され、語られているものを引用します。

組み合わせ自由でオープンソース

Skills は互いを参照し合い、MIT 形式の公開リポジトリに置かれています。GitHub で SKILL.md の全文を読むも、フォークするも、agent の中でそのまま実行するも自由です。

実行プロンプト

これを Codex または Claude Code に貼り付けてください

プロンプトは意図的に編集できるようになっています。ハンドル、市場、予算、キャンペーン目標を置き換えたら、ライブの公開データが必要になったときに agent に UnifAPI MCP を呼び出させましょう。

Using the YouTube Data Skill, research who owns the topic "AI coding tools": search videos and channels, read their subscriber and view counts, and pull related videos for demand. Return a cited brief on the strongest channels. Read-only.
skill の仕組み

SKILL.md からレンダリングされた、skill の全文

UnifAPI を通じて公開 YouTube データを読み取るための、決定論的な読み取りパス。これは Data Skill です。それ自体でマーケティングジョブを実行することはありません。具体的な youtube/... のオペレーション、レスポンス形状、そして実際のカバレッジの限界を明示するので、 あらゆるチャンネルファーストまたはコンテンツファーストのワークフロー(クリエイター精査、競合の反応、 コンテンツ需要)が、毎回サーフェスを再発見する代わりに 1 つの既知のレシピから読み取れます。

読み取り専用 — 手ではなく目。公開 YouTube データをリサーチし、引用付きのレコードを返します。 アップロード、コメント、登録はせず、UnifAPI は YouTube の認証情報を一切保持しません。

ライブの根拠には unifapi スキルを使う

共有の unifapi スキル(OAuth MCP)を通じて一度接続し、続いて以下の オペレーションを呼び出します。チャンネルは {channel_id} で、動画は {video_id} でキー付けされます — まずハンドルや URL をチャンネル id に解決します(落とし穴を参照)。 出力がレコードコストを記載できるよう、billing メタデータは保持してください。

レスポンス契約

単一エンティティのエンドポイントは、オブジェクトを data に返します。

{
  "request_id": "unif_...",
  "data": {},
  "billing": { "records_charged": 1, "balance_remaining": 99 }
}

リストエンドポイントは、配列を data に加えて pagination を返します。

{
  "request_id": "unif_...",
  "data": [],
  "pagination": { "has_more": false, "next_cursor": null },
  "billing": { "records_charged": 1 }
}

pagination.has_more が true のときは、pagination.next_cursor を次の リクエストの cursor として渡します。コストを報告する際は常に billing を保持してください。

コアオペレーション

必要なものオペレーション
動画を検索youtube/search (?q=..., オプション sort_by/upload_date/duration/region/language)
チャンネル / プレイリストを検索youtube/search/channels · youtube/search/playlists (?q=...)
トレンドyoutube/trending (オプション type = now/music/gaming/movies)
ハッシュタグ動画youtube/hashtags/{tag}/videos
ハンドル/URL → id を解決youtube/resolve/channel-id (?url=...)
チャンネルページyoutube/channels/{channel_id}
チャンネル動画 / shortsyoutube/channels/{channel_id}/videos · .../shorts
チャンネルプレイリストyoutube/channels/{channel_id}/playlists
チャンネルのコミュニティ投稿youtube/channels/{channel_id}/community
チャンネル内検索youtube/channels/{channel_id}/search (?q=...)
動画メタデータyoutube/videos/{video_id}
関連動画youtube/videos/{video_id}/related
動画コメントyoutube/videos/{video_id}/comments (オプション sort_by = top/newest)
動画キャプション / トランスクリプトyoutube/videos/{video_id}/captions
プレイリストページ / 動画youtube/playlists/{playlist_id} · .../videos

ここに載っていないフィールドが必要ですか? 呼び出す前に unifapi スキルの get_operation を使って 正確なスキーマを読みます — ただしオペレーションはこの表から選び、当てずっぽうで 探さないでください。

ワークフロー

決定論的なレシピ。ジョブに合うものを選びます。各レシピは、呼び出すべきものを 正確に明示します。

  1. クエリを枠付けする。 トピックを誰が所有しているかには youtube/search?q=... を、 今急上昇しているものには youtube/trending を呼び出します。
  2. チャンネルを解決する。 youtube/resolve/channel-id?url=... を呼び出して channel_id を取得し、続いて youtube/channels/{channel_id} で subscriber_count、 video_count、view_count を取得します。
  3. チャンネルのアウトプットを読む。 youtube/channels/{channel_id}/videos(および .../shorts)を呼び出します。各動画の view_count が需要シグナルです。next_cursor でページングします。youtube/channels/{channel_id}/playlists はカタログがどう 整理されているかをマッピングし、youtube/channels/{channel_id}/community は動画外の 告知とエンゲージメントを読み、youtube/channels/{channel_id}/search?q=... はカタログ全体を スキャンせずにクリエイターの 1 トピックのカバレッジを見つけます。
  4. 動画とその近傍を読む。 メタデータ(like_count、category、published_at、 has_captions を含むようになりました)には youtube/videos/{video_id} を、続いて 隣接する需要と競合コンテンツをマッピングするには youtube/videos/{video_id}/related を 呼び出します。
  5. オーディエンスとトランスクリプトを読む。 オーディエンスが何を言っているか — 生の コメントテキスト、いいねとリプライ数 — には youtube/videos/{video_id}/comments (sort_by top/newest)を呼び出します。センチメントや FAQ のグループ化はあなたが 計算するもので、API はテキストのみを返します。トランスクリプトを読んだり分析したりするための キャプショントラック(言語ごとのタイムドテキスト url)には youtube/videos/{video_id}/captions を呼び出します。
  6. プレイリストまたはハッシュタグを辿る。 youtube/playlists/{playlist_id} の後 .../videos を呼び出し、キュレーションされたシリーズを順番に取り込みます。 youtube/hashtags/{tag}/videos はクリエイターをまたぐキャンペーンやトレンドを追跡します。
  7. トピック需要をサイジングする。 あるトピックについて、検索結果と関連結果にわたって view_count を集約します。title、description、keywords はトピックがどう フレームされているかを示します。
  8. すべてを引用する。 すべての数値は、それが由来する動画またはチャンネルに結びつきます。 billing.records_charged を報告します(billing メタデータがないときは見積もります)。

形状ノート

  • YouTubeChannel — {channel_id} でキー付け。subscriber_count、 video_count、view_count、handle、keywords、links、country、 created_at。is_verified は 上流から populate されず、常に false です — 読めない 認証を報告しないでください。
  • YouTubeVideo — {video_id} でキー付け。view_count、like_count (ベストエフォート、クリエイターが隠すと 0)、category、channel_id、 author、duration_seconds、keywords、published_at、has_captions、 is_live、is_private。
  • YouTubeVideoPreview — 検索/関連/リストの行: published_time を追加。 category は形状の一部ですがリスト行では空です(YouTubeVideo の詳細だけが 保持します)。
  • YouTubeComment — text、author、author_channel_id、like_count、 reply_count、published_time、is_verified、is_creator。テキストのみ — センチメントフィールドはありません。
  • YouTubeCaptions — video_id、tracks[](language_code、タイムドテキストの url、is_translatable)、translation_languages[]。単一オブジェクト、1 レコードとして課金。トラック url は時間制限付きです。
  • YouTubePlaylist / YouTubePlaylistPreview — プレイリストの title、 channel_id、author、video_count(詳細は view_count、last_updated を追加、プレビューは first_video_id を追加)。
  • YouTubeChannelPreview — チャンネル検索の行: title、handle、 description、subscriber_count、video_count。
  • YouTubeCommunityPost — text、author、vote_count、reply_count、 attachment_type、image_url。

落とし穴

  • 解決はチャンネル id にしか行かない。 youtube/resolve/channel-id?url=... はハンドルや URL を {channel_id} に解決します — あらゆる youtube/channels/{channel_id}/... の呼び出しの 前 に呼び出します。動画 id や プレイリスト id のリゾルバはありません。既知の {video_id} / {playlist_id} を 渡します(URL から自分でパースします)。
  • コメントは生のテキスト。 youtube/videos/{video_id}/comments はコメント テキストといいね/リプライ数を返します — センチメントなし、FAQ のグループ化なし。 それらはテキストから自分で計算します。API が返さないセンチメントフィールドを 主張しないでください。
  • like_count はベストエフォート。 クリエイターがいいねを隠すと YouTubeVideo.like_count は 0 です — 0 は「非表示またはなし」として扱い、 権威あるものとしないでください。
  • チャンネルの is_verified は常に false です(上流が公開していない) — チャンネルの認証を報告しないでください。
  • キャプションは空でありうる。 キャプション無効の動画は tracks: [] を返します。 トランスクリプトを約束する前に確認します。トラック url は時間制限付きです。
  • ハッシュタグ は、先頭の # の有無にかかわらずタグを取ります (youtube/hashtags/lofi/videos)。
  • 残高が少ないと、リストページが静かに切り捨てられることがあります: billing.truncated_due_to_balance を確認します — true のときページは部分的です。

出力

呼び出し元のワークフローが必要とするレコードを、それぞれの動画またはチャンネルに引用して返し、 加えて 1 行のコストノート(records_charged)を付けます。このスキルが直接使われる場合は、 コンパクトな需要ブリーフがデフォルトです。

**{Channel}** — {subscribers} subscribers, {videos} videos, {totalViews} views. Top videos for {topic}: {title} ({views} views). Related/competitors: {channels}. Evidence: {URLs}. Records: ~{N}.

関連スキル

  • kol-pricing、creator-shortlist、audience-fit-check(Influencer Marketing) — この読み取りパスの上に YouTube チャンネルを価格付け・精査する。
  • competitor-profiling(Competitive Intelligence)、content-opportunity-brief(Content Strategy) — まず YouTube を読む反応とコンテンツ需要の作業。
  • unifapi — 共有データスキル: MCP を接続し、get_operation で正確なスキーマを調べる。

ソース: GitHub 上の youtube/SKILL.md — 改善するにはそちらで PR を開いてください。

公開データツール

この skill が呼び出すライブ API

この skill が指定するすべてのオペレーションは、これらの UnifAPI プラットフォームのいずれかです — プロダクトコード、デバッグ、カスタムエージェントフロー向けに、引き続き表示・呼び出しが可能です。

  • チャンネル/動画のよくある読み取りジョブごとの具体的な `youtube/...` 操作
  • チャンネルと動画(再生回数)のレスポンスコントラクトと形式に関するメモ
  • 決定論的なレシピ:チャンネルの解決、需要の読み取り、関連コンテンツの発見
  • プラットフォーム固有の注意点(コメント一覧なし、view_count シグナル、カーソルページネーション)