res-price-compare について
ポーランドでの商品価格調査を行う Claude Code スキルです。複数回の検索と検証で価格を比較し、在庫、送料、保証条件、B2B 情報も確認します。レポートの任意形式での出力にも対応します。
主な機能
- 015ラウンドの商品価格調査
- 02店舗ページでの価格と在庫確認
- 03送料と保証条件の確認
- 04B2B と販売代理店の分析
- 05要望に応じた TXT、XLSX、HTML 出力
活用シーン
- 01購入前のポーランド店舗間の価格比較
- 02送料込み総額の確認
- 03法人購入時の保証条件の評価
- 04価格比較レポートの出力
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ molechowski/ claude-skills --skill res-price-compareインストール後、Claude Code で/res-price-compareを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/export-formats.mdpolish-market.mdwarranty-guide.md詳細
価格比較 — ポーランド市場
ポーランドのEC市場における、保証の確認、送料、B2B分析を含む5ラウンドの反復的な商品価格調査です。
重要: 起動時に references/polish-market.md を読み込んでください。ショップのデータベース、価格比較サイト、検索パターンが記載されています。
アーキテクチャ
| ツール | 目的 | 費用 |
|---|---|---|
WebSearch | ショップ、価格、販売情報を検索します | 無料 |
WebFetch | ショップのページで価格を確認します(優先) | 無料 |
scrapling | WebFetch をブロックするサイト用のフォールバック | 無料 |
xAI は使用しません。価格比較に X/Twitter は不要です。
要件
外部依存関係は不要です。このスキルは組み込みの Claude Code ツールで実行されます。
任意の依存関係:
scrapling— WebFetch をブロックするサイト用のフォールバック(403、CAPTCHA、空の応答)。インストール:uv tool install 'scrapling[all]'uv— XLSX エクスポート用にuv run --with openpyxl python3 -c "..."を実行します
ワークフローの概要
| ステップ | アクション | 目的 |
|---|---|---|
| 1 | クエリを解析 | PRODUCT、BUYER_TYPE、CATEGORY |
| 2 | ラウンド1:調査 | Ceneo、Allegro、Amazon.pl、一般ショップおよび専門ショップ |
| 3 | ギャップ分析 | 不足しているショップ、未確認の価格、不足データ |
| 4 | ラウンド2:ショップを WebFetch | 価格、在庫状況、送料を確認 |
| 5 | ラウンド3:保証と送料 | 保証の種類、配送料を確認 |
| 6 | ラウンド4:B2B と販売代理店 | B2B ポータル、正規販売代理店、法定保証 |
| 7 | ラウンド5:最終確認 | 最安値、在庫、クーポンを再確認 |
| 8 | 統合 | 比較表、推奨、要約 |
| 9 | エクスポート | リクエストに応じて TXT、XLSX、HTML |
| 10 | エキスパートモード | キャッシュから回答し、新たな検索は行いません |
Scrapling フォールバックを使った WebFetch
このスキルのすべての WebFetch 呼び出しは、次の2段階パターンに従います。
-
まず WebFetch を試します(高速で、ファイル I/O は不要):
WebFetch(url, prompt) -
WebFetch が失敗した場合(403、空のコンテンツ、CAPTCHA ページ、またはブロックされた応答)、cli-web-scrape の自動エスカレーションプロトコルを使って再試行します:
scrapling extract get "URL" /tmp/scrapling-fallback.md→ 読み取り → コンテンツを検証- コンテンツが不十分な場合(JS のみのシェル、データなし、ナビゲーションリンクが大半)→
scrapling extract fetch "URL" /tmp/scrapling-fallback.md --network-idle --disable-resources→ 読み取り → 検証 - それでもブロックされる場合 →
scrapling extract stealthy-fetch "URL" /tmp/scrapling-fallback.md --solve-cloudflare - すべての段階で失敗した場合 → ショップをスキップし、「scrapling blocked」とラベル付け
ブロックまたは不十分な応答を検出するためのヒューリスティック:
- HTTP 403、または応答に「access denied」が含まれる
- 応答本文が空、またはナビゲーションや Cookie バナーのみが含まれる
- 応答に CAPTCHA チャレンジが含まれる(reCAPTCHA、hCaptcha、Cloudflare のチャレンジページ)
- 応答が「please enable JavaScript」ページ、または JavaScript 無効の警告である
- HTTP 200 だが、価格、仕様、商品名がなく、ナビゲーションリンクとフッターのみ(JavaScript で描画される SPA)
scrapling がインストールされていない場合は、元の動作に戻り、ショップをスキップして「WebFetch blocked」とラベル付けします。
ステップ1:クエリを解析
ユーザーのクエリから次の情報を抽出します。
1a. PRODUCT
検索する商品名です。モデル、バリエーション、部品番号を含めます。
1b. BUYER_TYPE
| 種類 | 判定 | 影響 |
|---|---|---|
| B2C | 「自宅用」、「個人用」、または指定なし | 法定保証24か月+任意保証 |
| B2B | 「会社用」、「VAT インボイス」、「ビジネス」、「B2B」 | 法定保証が除外される場合があり、メーカー保証が重要 |
デフォルト: B2B(より安全な想定です。より詳細な分析が行われます)
1c. カテゴリ
製品名に基づいて自動検出します。references/polish-market.md から適切な専門店リストを読み込みます。
| カテゴリ | 検出パターン | 例 |
|---|---|---|
| VoIP/電話 | Yealink、Grandstream、Fanvil、SIP、DECT、VoIP | Yealink W76P |
| IT/ネットワーク | MikroTik、Ubiquiti、スイッチ、ルーター、AP、ファイアウォール | MikroTik hAP ax3 |
| 電子機器 | モニター、ノートパソコン、コンピューター、プリンター、タブレット | Dell U2723QE |
| オフィス | 椅子、デスク、シュレッダー、プロジェクター | Ergohuman Elite |
| 一般 | (該当なし) | Nespresso Vertuo |
Step 2: 第1ラウンド — 調査
クエリの生成
6~8件のクエリを並行して生成します。
- Ceneo:
site:ceneo.pl "{PRODUCT}" - Allegro:
site:allegro.pl "{PRODUCT}" - Amazon.pl:
site:amazon.pl "{PRODUCT}" - 一般的な価格:
"{PRODUCT}" cena kupić - 専門店:
"{PRODUCT}" sklep(カテゴリリストから) - 価格比較:
"{PRODUCT}" porównanie cen - レビュー:
"{PRODUCT}" opinie recenzje - B2B:
"{PRODUCT}" dystrybutor hurtownia(BUYER_TYPE = B2B の場合)
並列実行
すべての WebSearch クエリを同時に実行します(ツール呼び出しを並列実行)。
第1ラウンド後の内部メモ
記録します(出力には含めません)。
SHOPS_FOUND: [list of shops with prices]
SHOPS_MISSING: [from references/polish-market.md, not found]
PRICES_TO_VERIFY: [prices from snippets — need WebFetch]
WARRANTY_TO_CHECK: [shops without warranty type info]
LEADS: [URLs worth checking via WebFetch in Round 2]
Step 3: ギャップ分析
第1ラウンド後、ギャップ分析を行います。
| ギャップ | 確認事項 | 対応 |
|---|---|---|
| 価格比較サイトのデータがない | Ceneo のデータはありますか? | なければ → ceneo.pl を WebFetch |
| 専門店がない | polish-market.md にあるカテゴリ内の店舗はいくつですか? | 見つからない店舗を検索 |
| スニペットの価格しかない | WebFetch で確認済みの価格はありますか? | 上位10件を WebFetch する計画を立てる |
| 保証情報がない | 保証の種類に関する情報がある店舗はいくつですか? | 確認する計画を立てる |
| 配送情報がない | 配送料が分かる店舗はいくつですか? | 配送ページを WebFetch する計画を立てる |
| マーケットプレイスのデータがない | Allegro / Amazon を確認しましたか? | クエリを追加 |
第2ラウンドの計画
WebFetch で確認する URL を上位8~12件選びます。優先順位:
- 最安値の販売情報(価格の確認)
- Ceneo(一度に多くの店舗を一覧表示)
- 価格のない専門店
- 保証情報のあるページ
Step 4: 第2ラウンド — 店舗を WebFetch
ルール
- 第1ラウンドのクエリを繰り返さない
- 特定の製品ページを WebFetch します — ホームページではありません
- 並列で実行します — WebFetch を4~6件同時に実行します
- このラウンドでの WebFetch は最大8~12件です
実行
リスト内の各 URL に対して、WebFetch と Scrapling のフォールバックパターンを適用します。
WebFetch(url, "Podaj: 1) dokładną cenę brutto, 2) dostępność/stan magazynowy,
3) koszty wysyłki, 4) informacje o gwarancji (producenta czy sprzedawcy)")
WebFetch が 403、空のコンテンツ、CAPTCHA、またはブロックされた応答を返す場合は、自動エスカレーション手順(HTTP → コンテンツの検証 → Dynamic → Stealthy)に従います。Scrapling の出力から同じデータ項目を抽出します。
Ceneo を利用できる場合は、まず Ceneo のページを WebFetch します — 一度に多くの店舗の一覧を取得できます。
信頼度の更新
| ソース | 価格の信頼度 |
|---|---|
| WebSearch のスニペット | 低 — 価格が古い可能性があります |
| Ceneo の一覧 | 中 — アグリゲーターですが、反映に遅れがあります |
| 店舗ページの WebFetch | 高 — 直接確認済みです |
| 店舗ページでの Scrapling フォールバック | 高 — 直接確認済みです(WebFetch と同等) |
Step 5: 第3ラウンド — 保証と配送
目標
各店舗について、以下を確認します。
- 保証の種類: メーカー/販売代理店/販売店/不明
- 送料: 宅配便、Paczkomat、送料無料(適用条件)
- 配送時間: 24時間、48時間、取り寄せ
保証情報の確認場所
- 製品ページ — 「Gwarancja」(保証)または「Informacje dodatkowe」(追加情報)のセクション
- 店舗の利用規約 — 「gwarancja」、「gwarant」、「rękojmia」を検索
- 保証書 — PDF または仕様欄の説明
- WebSearch:
site:{shop} gwarancjaまたはsite:{shop} regulamin
保証の分類
| 指標 | 種類 |
|---|---|
| "gwarancja producenta", "producent: [brand]" | MANUFACTURER |
| "gwarancja dystrybutora", 保証者としての販売代理店名 | DISTRIBUTOR |
| "gwarantem jest [shop name]", "gwarancja [shop]" | SELLER |
| 情報なし | UNKNOWN |
より詳細な B2B または法定保証の分析が必要な場合は、references/warranty-guide.md を読み込んでください。
配送料
上位 10 店舗の「Dostawa」(配送)または「Wysyłka」(発送)ページを、WebFetch with Scrapling Fallback パターンを使用して取得します。
WebFetch(shipping_url, "Podaj wszystkie opcje dostawy z cenami:
kurier, Paczkomat, Poczta Polska, odbiór osobisty, darmowa wysyłka (od jakiej kwoty)")
応答がブロックされた場合は、自動エスカレーション手順(HTTP → コンテンツの検証 → Dynamic → Stealthy)に従い、scrapling の出力から配送オプションを抽出します。
ステップ 6:第 4 ラウンド — B2B と販売代理店
目標
- ポーランド国内のブランドの正規販売代理店を特定する
- B2B ポータル — 卸売価格、取引条件
- B2B 法定保証 — 店舗は事業者向けに法定保証を除外しているか
検索クエリ
WebSearch: "{BRAND} dystrybutor Polska"
WebSearch: "{BRAND} importer Polska"
WebSearch: "{BRAND} autoryzowany sprzedawca"
WebSearch: "{PRODUCT}" site:ab.pl OR site:action.pl OR site:also.pl
B2B 法定保証の確認
最安値の上位 5 店舗について、WebFetch with Scrapling Fallback パターンを適用します。
WebFetch(terms_url, "Czy regulamin wyłącza rękojmię dla przedsiębiorców?
Szukaj: Art. 558 KC, wyłączenie rękojmi, przedsiębiorca, firma")
応答がブロックされた場合は、自動エスカレーション手順(HTTP → コンテンツの検証 → Dynamic → Stealthy)に従い、scrapling の出力から法定保証の除外条項を探します。
流通経路
以下の流通経路を確認します。メーカー → ポーランド輸入業者 → 販売代理店 → 再販業者 → 顧客
各販売代理店について、以下を記録します。
- 会社名
- 役割(輸入業者/販売代理店/認定再販業者)
- ウェブサイト
- サービス窓口の連絡先(入手可能な場合)
ステップ 7:第 5 ラウンド — 最終確認
目標
統合前の最終確認です。確認のみを行い、新しい店舗は探しません。
チェックリスト
- 最安値の上位 3 店舗を再確認 — WebFetch を再実行します。価格が変更されている可能性があります
- 在庫 — 商品は在庫ありか(「取り寄せ」ではないか)
- クーポン/プロモーション —
"{PRODUCT}" kupon zniżka promocja - Allegro の代替オファー — 異なる販売者のオファーを 2~3 件確認します
- Allegro と店舗直販を比較 — 価格、保証、安全性
予算
このラウンドでの WebFetch は最大 6~8 回です。
ステップ 8:統合
メインテーブル
合計価格(価格+最安の送料)で並べ替えます。
# | Shop | Gross Price | Shipping (cheapest) | Price+Shipping | Mfr. Warranty | Availability
--+--------------------+-------------+---------------------+----------------+-------------------+------------------
1 | shop.pl | 489.00 PLN | InPost courier 12 | 501.00 PLN | YES — service.pl | Yes (1987 pcs)
2 | morele.net | 496.30 PLN | FREE from 399 PLN | 496.30 PLN | YES — "Manufacturer" | Yes (11 pcs)
保証の凡例
YES = confirmed manufacturer warranty (verification source)
NO = seller's own warranty (not manufacturer)
? = not verified at source
n/a = no data
レポートのセクション
-
上位 3 件 — メーカー保証を確認済み
- テーブル:店舗、送料込み価格、保証、備考
-
比較表の全体
- 見つかったすべての店舗を、価格+送料の順に並べ替えます
-
Allegro — オファー
- 販売者、価格、メーカー保証、リンク
-
保証 — 主な調査結果
- メーカーの方針(全世界)
- ポーランドの販売代理店(延長保証の有無)
- ポーランド国内のサービスセンター
- メーカー保証と販売者保証(店舗一覧)
- B2B:法定保証とその除外
-
ポーランド国内の正規販売代理店
- テーブル:会社、役割、ウェブサイト
-
製品仕様
- 主な技術仕様
-
購入の推奨
- B2C 向け:価格、保証、理由を含む上位 3 件
- B2B 向け:法定保証とメーカー保証を考慮した上位 3 件
- 避けるべきものとその理由
信頼度の指標
各情報にラベルを付けます。
| 信頼度 | 条件 |
|---|---|
| [HIGH] | 店舗ページからの WebFetch または scrapling で確認済み |
| [MEDIUM] | Ceneo/比較サイトまたは単一の情報源に基づく |
| [LOW] | WebSearch のスニペットのみ |
ステップ 9:エクスポート
ユーザーの要望に応じてファイルを生成します。
TXT
統合表と同じ形式の固定幅カラムファイルです。
XLSX
references/export-formats.md を読み込み、以下を備えた Excel スプレッドシートを生成します。
- 条件付き色分け(緑=メーカー保証、赤=販売者保証)
- フィルターと固定ヘッダー
- 複数のシート(比較、保証、販売代理店、仕様)
HTML
references/export-formats.md を読み込み、以下を備えたスタンドアロン HTML を生成します。
- ダークテーマ、CSS 埋め込み
- レポートの各セクションを表示するタブ
- 保証の種類を示す色付きバッジ
- レスポンシブレイアウト
ステップ 10:エキスパートモード
レポートを提供した後、エキスパートモードに切り替えます。
- 収集したデータに基づいて質問に回答します
- ユーザーが依頼しない限り、新たな検索は行いません
- オファーを比較し、アドバイスします
新たな検索のトリガー(エキスパートモードを終了):
- 「もう一度検索して…」
- 「…についてもっと調べて」
- 「データを更新して…」
- 「…も確認して」
パラメーター
常に deep モードを使用します — 5 ラウンド、25-40 店舗、20-30 WebFetch。
| パラメーター | 値 |
|---|---|
| ラウンド | 5 |
| 店舗 | 25-40 |
| WebFetch | 20-30 |
制約(必須事項/禁止事項)
必須事項:
- 常に Ceneo.pl から始めます — PL で最も優れた価格比較サイトです
- WebFetch で価格を検証します — 検索スニペットは信頼できません
- メーカー保証と販売店保証を区別します — これは重要です
- ランキングには送料を含めます — 送料を含まない価格は不完全です
- ポーランドの正規ブランド販売代理店を検索します
- B2B の場合:利用規約に法定保証の除外があるか確認します
- WebSearch を並列で実行します(ツール呼び出しを並列化)
- 各情報の出典(店舗 URL)を明記します
- 起動時に
references/polish-market.mdを読み込みます
禁止事項:
- WebFetch で検証せずに検索スニペットの価格を信頼しないでください
- 比較の際に送料を省略しないでください
- 「保証期間 24 か月」=メーカー保証だと見なさないでください
- 前のラウンドで使ったクエリを繰り返さないでください
- ラウンド 5 で新しい店舗を見つけないでください — 検証のみです
- 1 つの出典から 125 文字を超えて引用しないでください
- 並列実行できるクエリを逐次実行しないでください
エラー処理
| エラー | 解決方法 |
|---|---|
| WebFetch 403/CAPTCHA/空の結果 | cli-web-scrape の自動エスカレーションプロトコルに従います:HTTP tier → コンテンツを検証 → Dynamic tier → Stealthy tier。scrapling を利用できない場合、またはすべての tier で失敗した場合は、その店舗をスキップし、「blocked」とラベル付けします |
| Ceneo で結果が見つからない | polish-market.md の店舗を直接検索します |
| Allegro がスクレイピングをブロック | WebFetch ではなく、WebSearch site:allegro.pl を使用します |
| ページに価格がない | 「n/a」とラベル付けし、ランキングから除外します |
| 価格が異なる(スニペットと WebFetch) | 常に WebFetch を信頼します(WebFetch がブロックされた場合は scrapling を信頼します) |
参考資料
references/polish-market.md— 店舗と比較サイトのデータベース(常に読み込みます)references/warranty-guide.md— 法定保証と任意保証、ポーランド法、B2B チェックリストreferences/export-formats.md— 生成手順付き TXT/XLSX/HTML テンプレート