amazon-search について
Frevana を通じて Amazon の商品検索結果を取得するスキルです。コマンドラインスクリプトで検索し、JSON を検証して保存します。マーケットプレイス、言語、配送先、並べ替え、ページを指定できます。
主な機能
- 01検索語またはカテゴリーノードで検索
- 02マーケットプレイス、言語、配送先を指定
- 03並べ替え、端末、ページを選択
- 04JSON を検証して変更せず返却
- 05指定ファイルへの結果保存
活用シーン
- 01特定の Amazon マーケットプレイスの商品検索
- 02郵便番号に応じた配送結果の確認
- 03価格順の並べ替えと次ページの閲覧
- 04後続処理向けに検索結果の JSON を保存
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ finpeakinc/ frevana-skills --skill amazon-searchインストール後、Claude Code で/amazon-searchを入力して読み込まれたか確認します。
同梱ファイルreferences/enums.mdscripts/search_amazon.sh
詳細
Amazon 検索
Frevana を通じて Amazon の商品一覧を検索します。
目的
このスキルは、Amazon の検索結果を見つけるためのものです。
入力:
queryまたはnodeのいずれか- 任意の
amazon_domain - 任意の
language - 任意の
delivery_zip - 任意の
shipping_location - 任意の
sort_by - 任意の
rh - 任意の
device - 任意の
no_cache - 任意の
async - 任意の
zero_trace - 任意の
page - 任意の
output。デフォルトは./out/amazon-search-<timestamp>-<pid>.json
出力:
- Amazon の検索結果を含む、検証済みのレスポンス JSON
このスキルはレスポンスが JSON であることを検証し、変更せずに返します。ユーザーから明示的に変換を依頼されない限り、返されたデータを書き換えたり、再構成したりしないでください。
このスキルに必要なもの
queryまたはnodeのいずれか- 任意の
amazon_domain - 任意の
language - 任意の
delivery_zip - 任意の
shipping_location - 任意の
sort_by - 任意の
rh - 任意の
device - 任意の
no_cache - 任意の
async - 任意の
zero_trace - 任意の
page - 環境変数の
FREVANA_TOKEN、または今回の実行に限り明示的に指定する--tokenの上書き値 curlbashpython3
実行順序
リクエストをシンプルで確実なものにするため、次の手順に従います。
- ユーザーが
queryまたはnodeのいずれか一方だけを指定していることを確認します。 - その場で作成した
curlコマンドではなく、スクリプトを優先します。 - まずスクリプトに
FREVANA_TOKENを読み込ませます。 - 対話型シェルで使用する場合、
FREVANA_TOKENが設定されていなければ、スクリプトから入力を促すことがあります。 - 非対話型またはエージェントのワークフローでは、トークンが設定されていない場合はすぐに処理を中止し、
FREVANA_TOKENを設定するか、--tokenを明示的に指定するようユーザーに伝えます。 - 検証済みのレスポンス JSON は、デフォルトで
./out/amazon-search-<timestamp>-<pid>.jsonに保存します。または、ユーザーが指定した--outputのパスに保存します。 - 検証済みのレスポンス JSON を返すか、ユーザーが全データを必要としていない場合は、関連性の高い商品一覧を要約します。
コマンド
基本的な検索
bash <skill-path>/scripts/search_amazon.sh \
--query "wireless mouse"
ページと配送先 ZIP コードを指定した検索
bash <skill-path>/scripts/search_amazon.sh \
--query "wireless mouse" \
--delivery-zip 10001 \
--page 2
カテゴリーノードによる検索
bash <skill-path>/scripts/search_amazon.sh \
--node 283155 \
--amazon-domain amazon.com \
--language en_US
並べ替え、デバイス、配送先を指定した検索
bash <skill-path>/scripts/search_amazon.sh \
--query "wireless mouse" \
--shipping-location "Seattle,Washington,United States" \
--sort-by price-asc-rank \
--device mobile
レスポンス JSON をファイルに保存
bash <skill-path>/scripts/search_amazon.sh \
--query "wireless mouse" \
--delivery-zip 10001 \
--page 1 \
--output ./out/amazon-search-result.json
今回の実行に限りトークンを上書き
bash <skill-path>/scripts/search_amazon.sh \
--query "wireless mouse" \
--token "your bearer token"
リクエストのマッピング
スクリプトは、CLI オプションを次のようにリクエスト本文にマッピングします。
{
"query": "wireless mouse",
"amazon_domain": "amazon.com",
"language": "en_US",
"delivery_zip": "10001",
"shipping_location": "Seattle,Washington,United States",
"sort_by": "price-asc-rank",
"rh": "n:283155,p_76:1249146011",
"device": "mobile",
"no_cache": true,
"async": false,
"zero_trace": false,
"page": 1
}
ルール:
queryまたはnodeのいずれか一方だけを指定します。pageは指定がない場合、デフォルトで1になります。delivery_zipはshipping_locationと併用できます。エンドポイントではdelivery_zipが優先されます。- スクリプトはローカルの
--outputを保存先としてのみ使用し、リクエストフィールドoutputは送信しません。
レスポンス形式
API は JSON を返します。このスキルはレスポンスが JSON であることを検証し、変更せずに返します。
出力
- 成功時:スクリプトはレスポンス本文が JSON であることを検証し、標準出力に出力します。
- デフォルトでは、同じ JSON が
./out/amazon-search-<timestamp>-<pid>.jsonに保存されます。 --outputを指定した場合:同じ JSON が指定されたファイルパスに書き込まれます。- 失敗時:スクリプトはレスポンス本文または解析エラーを出力し、ゼロ以外の終了コードで終了します。
Notes
--queryまたは--nodeのどちらか一方だけを指定してください--queryと--nodeを同時に指定しないでください- ユーザーがマーケットプレイス固有の Amazon ドメインを必要とする場合は、
--amazon-domainを使用してください - エンドポイントで Amazon の言語を上書きする必要がある場合は、
--languageを使用してください - 現在の
amazon_domainとlanguageの列挙型スナップショットについては、references/enums.mdを参照してください - ユーザーが後続の結果や1ページ目以降の選択肢を求める場合は、
--pageを使用してください - 地域ごとの出品状況や配送に関する案内が重要な場合は、
--delivery-zipを使用してください --delivery-zipの代わりに市区町村/州/国を指定する場合は、--shipping-locationを使用してください--sort-byは、サポートされている値review-rank、price-asc-rank、price-desc-rank、date-desc-rank、relevanceblenderと組み合わせる場合にのみ使用してください--deviceは、サポートされている値desktop、mobileと組み合わせる場合にのみ使用してください--no-cache、--async、--zero-traceは、ブール値trueまたはfalseと組み合わせる場合にのみ使用してくださいcurlが見つからない場合は、処理を中止して、curlをインストールするようユーザーに伝えてくださいpython3が見つからない場合は、処理を中止して、python3をインストールするようユーザーに伝えてください- Bearer トークンをユーザーにそのまま返さないでください
- ユーザーが全ペイロードを求めていない限り、生の JSON をそのまま出力せず、ユーザーが実際に必要としている商品一覧を要約してください
プロンプトの例
中国語
- 「Amazon で wireless mouse を検索して」
- 「wireless mouse を調べて。2ページ目、ZIP は 10001」
- 「カテゴリーノード 283155 で Amazon の検索結果を調べて」
- 「wireless mouse を調べて。価格の安い順で、モバイルの結果」
- 「Amazon の検索結果を調べて、生の JSON をファイルに保存して」
英語
- 「Amazon で wireless mouse を検索して」
- 「ZIP 10001 で wireless mouse の Amazon 検索結果の2ページ目を表示して」
- 「Amazon のカテゴリーノード 283155 を検索して」
- 「Amazon で wireless mouse を検索して。モバイルで、価格の安い順に並べ替えて」
- 「このキーワードで Amazon を検索して、生の JSON をファイルに保存して」
コメント
Markdown 対応