youtube について
YouTube Data API v3を通じてYouTubeを操作するagentskills.ioスキルです。動画の検索と管理、再生リスト、コメント、登録、チャンネルや字幕のメタデータを扱います。
主な機能
- 01動画検索と動画・チャンネル詳細の取得
- 02動画の更新、評価、削除
- 03再生リストと項目の作成・管理
- 04コメントや返信の読み取りと投稿
- 05チャンネル登録の管理
- 06字幕トラックの一覧表示とダウンロード
活用シーン
- 01動画を探して統計情報を確認
- 02動画を再生リストに整理
- 03コメントスレッドを読み、返信を投稿
- 04チャンネル登録の確認や字幕テキストの取得
MCP 対応
MCP対応クライアントから利用でき、ローカルのMCPサーバーとして登録することもできます。クライアントにYouTubeの動画、再生リスト、コミュニティ、登録、字幕の操作を提供します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ zapier/ connectors --skill youtubeインストール後、Claude Code で/youtubeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.mcp.jsonCHANGELOG.mdcli.jscli.tsconnections.tsindex.tsLICENSENOTICEpackage.jsonREADME.md.claude-plugin/plugin.jsonevals/evals.jsonresults.mdlib/youtube.tsreferences/use-as-cli.mduse-as-mcp.mduse-as-recipe.mduse-as-sdk.mduse-with-zapier.mduse-without-zapier.mdyoutube-api-gotchas.mdscripts/addVideoToPlaylist.tscreatePlaylist.tsdeletePlaylist.tsdeleteVideo.tsdownloadCaption.tsgetChannel.tsgetVideo.tslistCaptions.tslistComments.ts詳細
YouTube
YouTube Data API v3(https://www.googleapis.com/youtube/v3/)を利用してYouTubeを操作するスクリプトです。動画の検索と読み取り、動画の更新や削除、動画への高評価または低評価、プレイリストとそのアイテムの作成と管理、コメントの読み取りと投稿、登録チャンネルの管理、チャンネル、カテゴリ、字幕のメタデータの読み取りに対応します。動画の検索、動画とプレイリストの管理、コミュニティでの交流、エージェントがIDを特定するために必要な読み取り機能を網羅する22個のスクリプトです。
YouTube向けの独立した非公式コネクターです。YouTubeとの提携、推奨、後援は受けていません。「YouTube」はその所有者の商標であり、このコネクターが連携するサービスを識別する目的にのみ使用しています。
こんなときに使います
- エージェントが動画データを検索または読み取る必要がある場合 — 動画を検索する、動画の詳細と統計情報をすべて取得する、プレイリスト内の動画を一覧表示する、チャンネルのプロフィールとアップロード動画を読み取る。
- エージェントが動画を管理する必要がある場合 — 既存の動画のメタデータを、変更しないフィールドを消去せずに更新する、高評価または低評価する、自分が所有する動画を削除する。
- エージェントがプレイリストを整理する必要がある場合 — プレイリストを作成、更新、削除する、動画を追加または削除する。
- エージェントがコミュニティで交流する必要がある場合 — コメントスレッドを読み取る、コメントを投稿する、スレッドに返信する、チャンネルを登録または登録解除する。
セットアップ
これはagentskills.ioのスキルです。
コネクターをまだスキルとしてインストールしていない場合は、まずnpx skills add zapier/connectors --skill youtube(またはお使いのハーネス独自のスキルインストール方法)でインストールしてから、ここに進んでください。スキルをインストールすると、依存関係ではなくこれらのファイルがコピーされます。CLI、ローカルMCPサーバー、またはzapier-sdkの認証コマンドを実行する前に、ここで一度npm install --omit=devを実行してください。公開パッケージを依存関係として自分のプロジェクトにインポートする場合はどうでしょうか。その場合、npm installですでにすべてが解決されます。詳細はreferences/use-as-sdk.mdをご覧ください。
references/を確認したり、このコネクターのテストを実行したり、コードを改変したりするために、実際のリポジトリのソースが必要ですか。スコープを絞ったgit cloneについては、README.mdをご覧ください。
コネクターの実行には**Node.js 22.18+**が必要です。実行方法に合ったリファレンスを選び、ほかの作業を始める前に読み込んでください。
| 使用環境 | 読み込むリファレンス |
|---|---|
MCP 対応クライアント — ツールがすでに読み込まれている場合(例:mcp__youtube__<tool>)や、自分でローカルサーバーを登録する場合(またはユーザーに登録を案内する場合) | references/use-as-mcp.md |
ターミナル/サブプロセスへのアクセス(nodeを実行できます) | references/use-as-cli.md |
| このパッケージを依存関係としてインポートする、自分のコードのみ | references/use-as-sdk.md |
| ツールにもターミナルにもアクセスできず、このパッケージをインポートする方法もない — YouTube APIを直接呼び出す独自コードを作成する場合(例:コード実行サンドボックス) | references/use-as-recipe.md |
スクリプト
すべてのスクリプトは、単一の接続youtubeを使用します。
| スクリプト | スクリプト名 | 接続先 | 説明 |
|---|---|---|---|
scripts/searchVideos.ts | searchVideos | 単一(youtube) | キーワード、チャンネル、日付、再生時間で動画を検索します(id と snippet のみ。別枠の割り当て量を使用)。 |
scripts/getVideo.ts | getVideo | 単一(youtube) | id を指定して 1 本以上の動画の詳細(snippet、統計情報、contentDetails、status)を取得します。 |
scripts/updateVideo.ts | updateVideo | 単一(youtube) | 動画のメタデータを更新します(読み取り・変更・書き込み。指定したフィールドのみが変更されます)。 |
scripts/deleteVideo.ts | deleteVideo | 単一(youtube) | 所有する動画を完全に削除します。 |
scripts/rateVideo.ts | rateVideo | 単一(youtube) | 動画を高評価または低評価にするか、評価を取り消します。 |
scripts/listPlaylists.ts | listPlaylists | 単一(youtube) | ユーザーまたはチャンネルが所有する再生リストを一覧表示するか、id で再生リストを取得します。 |
scripts/createPlaylist.ts | createPlaylist | 単一(youtube) | ユーザーのチャンネルに新しい再生リストを作成します。 |
scripts/updatePlaylist.ts | updatePlaylist | 単一(youtube) | 再生リストのタイトル、説明、公開設定を更新します(統合ではなく置き換えます)。 |
scripts/deletePlaylist.ts | deletePlaylist | 単一(youtube) | 所有する再生リストを完全に削除します。 |
scripts/listPlaylistItems.ts | listPlaylistItems | 単一(youtube) | 再生リスト内の動画を順番に一覧表示します(各項目には playlistItem id が含まれます)。 |
scripts/addVideoToPlaylist.ts | addVideoToPlaylist | 単一(youtube) | 所有する再生リストに動画を追加します。 |
scripts/removeVideoFromPlaylist.ts | removeVideoFromPlaylist | 単一(youtube) | 再生リストから項目を削除します(video id ではなく playlistItem id を指定)。 |
scripts/listComments.ts | listComments | 単一(youtube) | 動画のトップレベルのコメントスレッドを、それぞれ最初の返信とともに一覧表示します。 |
scripts/postComment.ts | postComment | 単一(youtube) | 動画に新しいトップレベルのコメントを投稿します(コメントスコープが必要です)。 |
scripts/replyToComment.ts | replyToComment | 単一(youtube) | 既存のトップレベルのコメントスレッドに返信します(コメントスコープが必要です)。 |
scripts/getChannel.ts | getChannel | 単一(youtube) | チャンネルのプロフィール、統計情報、アップロード再生リストの id を取得します(mine、id、@handle で指定)。 |
scripts/listVideoCategories.ts | listVideoCategories | 単一(youtube) | 地域で割り当て可能な動画カテゴリを一覧表示します。 |
scripts/listSubscriptions.ts | listSubscriptions | 単一(youtube) | ユーザーの登録チャンネルを一覧表示するか、特定のチャンネルへの登録状況を確認します。 |
scripts/subscribeToChannel.ts | subscribeToChannel | 単一(youtube) | ユーザーをチャンネルに登録させます。 |
scripts/unsubscribeFromChannel.ts | unsubscribeFromChannel | 単一(youtube) | ユーザーをチャンネルから登録解除します(channel id ではなく subscription id を指定)。 |
scripts/listCaptions.ts | listCaptions | 単一(youtube) | 動画で利用可能な字幕トラックを一覧表示します(コメント/字幕スコープが必要です)。 |
scripts/downloadCaption.ts | downloadCaption | 単一(youtube) | 選択した形式(srt/vtt/sbv/scc/ttml)で字幕トラックのテキストをダウンロードします。 |
識別と拒否
書き込み前に識別します。 名前で検索した動画、プレイリスト、チャンネルに対して書き込む前に(例:searchVideos で検索した動画、listPlaylists で取得したプレイリスト、getChannel/searchVideos で取得したチャンネル)、大文字小文字を区別しない完全一致のタイトルの数を数えます。
- 一致が1件だけ — その対象に操作します。必要以上に確認を求めないでください。曖昧さのない一致が1件なら、それが対象です。
- 同率の一致が2件以上 — 操作を中止します。見分けるための項目(チャンネル名、公開日、視聴回数、または ID)とともに候補を列挙し、どれを指しているのかユーザーに尋ねます。YouTube ではタイトルは一意ではなく、同じ名前の動画やチャンネルが多数あるため、決して独断で選んだり、すべてに書き込んだりしないでください。
ID の取り違えに注意してください。 removeVideoFromPlaylist に指定するのは動画 ID ではなく、listPlaylistItems で取得した playlistItem ID です。unsubscribeFromChannel に指定するのはチャンネル ID ではなく、listSubscriptions で取得した subscription ID です。間違った ID の指定が最もよくある失敗です。まず、一覧を取得するスクリプトを使って確認してください。
未対応の操作 — 未対応であることを伝えて中止し、別のスクリプトで代用しないでください。 このカタログでは、意図的に以下の操作に対応していません。
- アナリティクスのレポート(視聴回数の推移、視聴時間、収益、ユーザー属性)。アナリティクス用のスクリプトはありません。動画の累計
statistics件数で代用し、アナリティクスのレポートとして提示しないでください。 - コメントのモデレーション(編集、削除、非表示、スパムとしてマーク、またはモデレーションステータスの設定)。対応しているのは、読み取り、投稿、返信のみです。返信は1段階のみで、返信への返信はできません。
- ライブ配信(配信やストリームの作成・管理)、または 字幕のアップロード/差し替え。ここでの字幕は読み取り専用(一覧表示とダウンロードのみ)です。
- 動画のアップロードやカスタムサムネイルの設定。
uploadVideoまたはsetVideoThumbnailスクリプトはありません。これらにはバイナリメディアのアップロードが必要ですが、接続のトランスポートは対応していません。 - チャンネルの管理(チャンネルのブランディング、セクション、設定の編集)。
これらを依頼された場合は、未対応であることをユーザーに伝えて中止してください。近似するために無関係なスクリプトを使わないでください。
認証
すべてのシェイプでは、シークレットではなく、1つの接続 セレクター を [<resolver>:]<value> 形式の文字列で指定して認証します。すべてのコネクターで zapier:<connection-id>(Zapier 管理の認証。Zapier の認証、再試行、ガバナンスレイヤーを経由します)を使用できます。一部のコネクターでは、1つ以上のダイレクトトークンリゾルバーも使用できます(名前と数はコネクターによって異なります)。想定で判断せず、このコネクター独自のリゾルバーを確認してください。<resolver>: プレフィックスは省略可能です。値のみを指定すると、その値を最初に認識したリゾルバーに渡されます。UUID 形式の値のみを指定した場合は、必ず zapier: が認識します。各スクリプトには、必要な接続と使用可能なリゾルバーが定義されています。接続を渡す正確な構文と、このコネクターのリゾルバー一覧の確認方法は、シェイプによって異なります。上記で読み込んだリファレンスを参照してください。
すでに設定済みのものを確認しますか?環境変数の値を表示して確認してはいけません。env または env | grep <name> を実行すると名前とともに値も表示され、設定されている場合は有効な認証情報がトランスクリプトに漏えいします。名前だけを確認するには(env | cut -d= -f1 | grep -i <name>)、または既知の名前を直接テストしてください([ -n "$VAR_NAME" ])。
接続がまだありませんか?どちらかを選び、そのリファレンスに記載された手順に従って取得してください。ユーザーが接続 ID やトークンをすでに覚えているかのように、ただ尋ねてはいけません。
| 読み込む内容 | |
|---|---|
| 認証情報を直接渡す | references/use-without-zapier.md |
| Zapier 接続経由で認証情報を渡す | references/use-with-zapier.md |
出力形式
すべてのスクリプトは { data, meta } エンベロープを返します。
data— スクリプトの結果です(outputSchemaが宣言する形式。スクリプトの正確なスキーマを確認する方法については、上で読み込んだリファレンスを参照してください)。meta.outputDataValidation—dataの検証結果です。{ skipped: false, droppedPaths: null }— 検証済みで、削除された項目はありません。{ skipped: false, droppedPaths: [...], instruction }— 検証済みですが、該当するパスはdataから削除されました。これらはスクリプトが API から返したフィールドのうち、outputSchemaで宣言されていないものです。必要な場合は、出力検証をスキップして再実行してください。{ skipped: true }— 検証をバイパスしました。dataは未検証のスクリプト出力です。
削除されたフィールドの確認/skipOutputDataValidation。 未加工の未検証結果を受け取るには、出力検証を無効にします(正確な構文はシェイプによって異なるため、上で読み込んだリファレンスを参照してください)。入力検証がスキップされることはありません。
結果のトリミング/filterOutputData。 大きな結果から必要なフィールドだけを取り出すには、data を後処理する jq 式を渡します(正確な構文はシェイプによって異なります)。jq は { data, meta } エンベロープではなく、data のみに対して実行されるため、data を起点として記述してください(スクリプトの --help またはシェイプに相当するオプションを実行し、出力スキーマを確認してください)。変換後の値が data に置き換わり、meta は保持されます。また、結果は出力スキーマに対して再検証されません。
リファレンス
該当する領域で作業する前に、対応するリファレンスファイルを読み込んでください。
| リファレンス | 内容 | 読み込むタイミング |
|---|---|---|
references/youtube-api-gotchas.md | part モデル、バケットごとのクォータシステム、エラーエンベロープと reason から復旧方法への対応、OAuth スコープの要件(youtube、youtube.force-ssl)、文字列としての件数、および動画、検索、再生リスト、コメント、字幕、チャンネル、チャンネル登録に関するリソースごとの注意事項。 | 件数、クォータ、スコープ、ページネーション、ID、または自明でないレスポンスフィールドを扱う前に読み込んでください。 |