google-search について
google-searchは、Frevana経由で通常のGoogle検索結果を取得するスキルです。応答のJSONを検証してローカルに保存し、同じデータを変更せずに出力します。
主な機能
- 01Frevana経由でGoogle検索
- 02検索語と任意の検索パラメーター
- 03応答JSONの検証
- 04同一JSONの保存と出力
活用シーン
- 01指定した検索語のGoogle検索結果を取得
- 02場所、言語、国、デバイスを指定
- 03後で解析や要約するために結果を保存
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ finpeakinc/ frevana-skills --skill google-searchインストール後、Claude Code で/google-searchを入力して読み込まれたか確認します。
同梱ファイルevals/evals.jsonscripts/search_google.sh
詳細
Google 検索
Frevana を通じて Google 検索結果を検索します。
目的
このスキルは、通常の Google 検索結果を見つけるためのものです。
入力:
q- 任意の
location - 任意の
gl - 任意の
hl - 任意の
num - 任意の
start - 任意の
safe - 任意の
device
出力:
- Google 検索結果を含む、検証済みのレスポンス JSON
- 成功するたびにローカルファイルに保存される、同じ検証済み JSON
このスキルはレスポンスが JSON であることを検証し、ディスクに保存して、変更せずに標準出力へ返します。ユーザーが明示的に変換を依頼しない限り、返されたデータを書き換えたり、構造を変更したりしないでください。
このスキルに必要なもの
- ユーザーが指定した
q - 任意の
location - 任意の
gl - 任意の
hl - 任意の
num - 任意の
start - 任意の
safe - 任意の
device - 環境変数に設定された
FREVANA_TOKEN、または今回の実行に限り明示的に指定する--tokenの上書き値 curlbashpython3
実行順序
リクエストをシンプルかつ確実に保つため、次の流れに従ってください。
- ユーザーが
qまたは同等の Google 検索クエリを指定していることを確認します。 - 即席の
curlコマンドよりスクリプトを優先します。 - まずスクリプトに
FREVANA_TOKENを読み込ませます。 - 対話型シェルでの使用時に
FREVANA_TOKENが設定されていない場合、スクリプトが入力を求めることがあります。 - 非対話型またはエージェントのワークフローでは、トークンが設定されていない場合はすぐに失敗させ、
FREVANA_TOKENを設定するか、--tokenを明示的に渡すようユーザーに伝えます。 - スクリプトを一度実行します。検証済み JSON が標準出力に表示され、同じ JSON がファイルに保存されます。
- 追加の解析や要約には、検索 API を再度呼び出すのではなく、保存した JSON ファイルを使用します。
- 検証済みのレスポンス JSON を返すか、ユーザーがペイロード全体を必要としない場合は、関連性の高い検索結果を要約します。
コマンド
基本的な Google 検索
bash <skill-path>/scripts/search_google.sh \
--q "coffee"
--query は --q の別名として使用できます。
国、言語、場所を指定した検索
bash <skill-path>/scripts/search_google.sh \
--q "coffee" \
--location "Austin, Texas, United States" \
--gl us \
--hl en
ページネーション、結果件数、セーフサーチ、デバイスを指定した検索
bash <skill-path>/scripts/search_google.sh \
--q "coffee" \
--num 20 \
--start 20 \
--safe off \
--device mobile
レスポンス JSON を特定のファイルに保存
bash <skill-path>/scripts/search_google.sh \
--q "coffee" \
--gl us \
--hl en \
--output ./out/google-search-result.json
今回の実行に限りトークンを上書き
bash <skill-path>/scripts/search_google.sh \
--q "coffee" \
--token "your bearer token"
固定のリクエスト形式
スクリプトは、指定されていない任意フィールドを省略して、次の形式のペイロードを送信します。
{
"q": "coffee",
"location": "Austin, Texas, United States",
"gl": "us",
"hl": "en",
"num": 20,
"start": 20,
"safe": "off",
"device": "mobile"
}
必須項目は q のみです。ユーザーが指定していない場合、location、gl、hl、num、start、safe、device の値を作り出さないでください。
現在、Frevana エンドポイントのスキーマで公開されているのは q、location、gl、hl、num、start、safe、device のみです。engine、api_key、output、no_cache、async、zero_trace などの、サポートされていないパススルーフィールドは渡さないでください。また、Frevana エンドポイントのスキーマが拡張されるまでは、サポートされていない Google 検索フィールドも渡さないでください。
レスポンス形式
API は Frevana JSON を返します。一般的なフィールドは次のとおりです。
search_metadatasearch_parameterssearch_informationorganic_resultsrelated_questionsrelated_searchesknowledge_graphanswer_boxpagination
出力
- 成功時:スクリプトはレスポンス本文が JSON であることを検証し、ファイルに書き込み、保存先のパスを標準エラー出力に表示し、JSON を標準出力に表示します
- デフォルトのファイルパス:
./out/google-search-<UTC timestamp>-<pid>.json --outputを指定した場合:デフォルトのパスではなく、指定したファイルパスに同じ JSON が書き込まれます- 失敗時:スクリプトはレスポンス本文または解析エラーを表示し、ゼロ以外の終了コードで終了します
注意事項
--qまたは--queryを必ず指定してください- 結果を保存して要約するためだけに、スクリプトを 2 回実行しないでください。スクリプトは常に、出力するものと同じ JSON を保存します。
- ユーザーが検索元として都市、州、または国を指定した場合は、
--locationを使用してください - ユーザーが国または地域コードを指定した場合は、
--glを使用してください - ユーザーが言語コードを指定した場合は、
--hlを使用してください --numは、結果数が1から100の場合にのみ使用してください- ユーザーが結果オフセットによるページネーションを指定した場合は、
--startを使用してください --safeはactiveまたはoffの場合にのみ使用してください--deviceはdesktop、mobile、またはtabletの場合にのみ使用してくださいcurlがない場合は処理を中止し、ユーザーにcurlのインストールを伝えてくださいpython3がない場合は処理を中止し、ユーザーにpython3のインストールを伝えてください- Bearer トークンをユーザーにそのまま返さないでください
- ユーザーが完全なペイロードを求めていない限り、生の JSON をそのまま出力せず、ユーザーが実際に必要としている検索結果を要約してください
プロンプト例
中国語
- 「Google で coffee を検索して」
- 「location=Austin, Texas, United States、gl=us、hl=en で、Google の検索結果 q=coffee を調べて」
- 「Google で coffee を検索して。3 ページ目のモバイル端末の結果を取得し、生の JSON を保存して」
英語
- 「Google で coffee を検索して」
- 「location=Austin, Texas, United States、gl=us、hl=en で Google の検索結果を調べて」
- 「Google で coffee をモバイル端末向けに検索し、start=20 を指定して、生の JSON を保存して」