youtube-search について
Frevana経由でYouTubeを検索し、JSONとして検証した結果を変更せずに返すスキルです。検索語に加えてフィルター、言語、国のパラメーターを指定でき、Frevanaトークンが必要です。
主な機能
- 01Frevana経由のYouTube検索
- 02フィルターと地域パラメーターの指定
- 03レスポンスのJSON検証
- 04結果のファイル保存
活用シーン
- 01検索語に対応するYouTube結果の取得
- 02国や言語を指定した検索
- 03ページネーショントークンで検索を継続
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ finpeakinc/ frevana-skills --skill youtube-searchインストール後、Claude Code で/youtube-searchを入力して読み込まれたか確認します。
同梱ファイルscripts/search_youtube.sh
詳細
YouTube 検索
Frevana を通じて YouTube 動画を検索します。
目的
このスキルは、YouTube の検索結果を見つけるためのものです。
入力:
search_querysp(任意)hl(任意)gl(任意)
出力:
- YouTube の検索結果を含む、検証済みのレスポンス JSON
このスキルは、レスポンスが JSON であることを検証し、変更せずに返します。ユーザーが変換を明示的に依頼しない限り、返されたデータを書き換えたり、形を変えたりしないでください。
このスキルに必要なもの
- ユーザーが指定した
search_query sp(任意)hl(任意)gl(任意)- 環境変数の
FREVANA_TOKEN、または今回の実行で明示的に指定する--tokenの上書き curlbashpython3
実行順序
リクエストをシンプルかつ確実に処理するため、次のフローを使用してください。
- ユーザーが
search_queryまたはそれに相当する YouTube 検索キーワードを指定していることを確認します。 - 場当たり的な
curlコマンドより、スクリプトを優先します。 - スクリプトにまず
FREVANA_TOKENを読み込ませます。 - 対話型のシェルで使用する場合、
FREVANA_TOKENがないときは、スクリプトが入力を求めることがあります。 - 非対話型またはエージェントのワークフローでは、トークンがない場合はすぐに処理を中止し、ユーザーに
FREVANA_TOKENを設定するか、--tokenを明示的に渡すよう伝えます。 - 検証済みのレスポンス JSON を返すか、ユーザーが完全なペイロードを必要としない場合は、最も関連性の高い動画を要約します。
- 必要に応じて、JSON をファイルにも保存します。
コマンド
YouTube を基本検索する
bash <skill-path>/scripts/search_youtube.sh \
--search-query "mrbeast"
--query は --search-query のエイリアスとして使用できます。
国と言語を指定して検索する
bash <skill-path>/scripts/search_youtube.sh \
--search-query "mrbeast" \
--gl us \
--hl en
sp フィルターまたはページネーショントークンを指定して検索する
bash <skill-path>/scripts/search_youtube.sh \
--search-query "mrbeast" \
--sp "EgIQAQ%253D%253D" \
--hl en \
--gl us
ユーザーが YouTube のフィルタートークンを指定した場合や、レスポンスに含まれる後続トークンを使ってページネーション結果を続けて取得する場合は、--sp を使用します。
レスポンス JSON をファイルに保存する
bash <skill-path>/scripts/search_youtube.sh \
--search-query "mrbeast" \
--gl us \
--hl en \
--output ./out/youtube-search-result.json
今回の実行でトークンを上書きする
bash <skill-path>/scripts/search_youtube.sh \
--search-query "mrbeast" \
--token "your bearer token"
固定リクエスト形式
スクリプトは、指定されていない任意フィールドを省略して、次の形式のペイロードを送信します。
{
"search_query": "mrbeast",
"sp": "EgIQAQ%253D%253D",
"hl": "en",
"gl": "us"
}
必須なのは search_query のみです。ユーザーが指定していない sp、hl、gl の値を推測して設定しないでください。
Frevana のエンドポイントはすでに YouTube 検索に限定されているため、engine、api_key、output、no_cache、async、zero_trace など、サポートされていないパススルーフィールドを渡さないでください。
レスポンス形式
API は JSON を返します。このスキルはレスポンスが JSON であることを検証し、変更せずに返します。
出力
- 成功時:スクリプトはレスポンス本文が JSON であることを検証し、標準出力に出力します
--outputを指定した場合:同じ JSON が指定されたファイルパスにも書き込まれます- 失敗時:スクリプトはレスポンス本文または解析エラーを出力し、ゼロ以外の終了コードで終了します
注意事項
--search-queryまたは--queryを必須とします- ユーザーが特定の国または地域を指定した場合は
--glを使用します - ユーザーが特定の言語を指定した場合は
--hlを使用します --spを使用するのは、ユーザーがフィルターまたはページネーショントークンを指定した場合、あるいは以前の YouTube 検索レスポンスに含まれていたトークンを使って結果の続きを取得するよう求めた場合のみですcurlが見つからない場合は処理を中止し、ユーザーにcurlのインストールを伝えますpython3が見つからない場合は処理を中止し、ユーザーにpython3のインストールを伝えます- Bearer トークンをユーザーに再表示しないでください
- ユーザーが完全なペイロードを求めていない限り、未加工の JSON をそのまま出力するのではなく、ユーザーが実際に知りたい動画を要約します
プロンプト例
中国語
- 「YouTube で mrbeast を検索」
- 「YouTube で search_query=mrbeast、gl=us、hl=en の結果を調べて」
- 「この sp パラメーターを使って YouTube 検索の続きを取得し、元の JSON を保存して」
英語
- 「YouTube で mrbeast を検索」
- 「gl=us と hl=en を指定して、mrbeast の YouTube 検索結果を調べて」
- 「この sp トークンを使って YouTube を検索し、元の JSON をファイルに保存して」