mcpField
R
res-price-compare

res-price-compare

github.com/molechowski生産性36 回インストール
リポジトリ

res-price-compare について

ポーランドでの商品価格調査を行う Claude Code スキルです。複数回の検索と検証で価格を比較し、在庫、送料、保証条件、B2B 情報も確認します。レポートの任意形式での出力にも対応します。

主な機能

  1. 015ラウンドの商品価格調査
  2. 02店舗ページでの価格と在庫確認
  3. 03送料と保証条件の確認
  4. 04B2B と販売代理店の分析
  5. 05要望に応じた TXT、XLSX、HTML 出力

活用シーン

  1. 01購入前のポーランド店舗間の価格比較
  2. 02送料込み総額の確認
  3. 03法人購入時の保証条件の評価
  4. 04価格比較レポートの出力

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/molechowski/claude-skills --skill res-price-compare

インストール後、Claude Code で/res-price-compareを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
export-formats.md
polish-market.md
warranty-guide.md

詳細

価格比較 — ポーランド市場

ポーランドのEC市場における、保証の確認、送料、B2B分析を含む5ラウンドの反復的な商品価格調査です。

重要: 起動時に references/polish-market.md を読み込んでください。ショップのデータベース、価格比較サイト、検索パターンが記載されています。

アーキテクチャ

ツール目的費用
WebSearchショップ、価格、販売情報を検索します無料
WebFetchショップのページで価格を確認します(優先)無料
scraplingWebFetch をブロックするサイト用のフォールバック無料

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段階パターンに従います。

  1. まず WebFetch を試します(高速で、ファイル I/O は不要):

    WebFetch(url, prompt)
    
  2. WebFetch が失敗した場合(403、空のコンテンツ、CAPTCHA ページ、またはブロックされた応答)、cli-web-scrape の自動エスカレーションプロトコルを使って再試行します:

    1. scrapling extract get "URL" /tmp/scrapling-fallback.md → 読み取り → コンテンツを検証
    2. コンテンツが不十分な場合(JS のみのシェル、データなし、ナビゲーションリンクが大半)→ scrapling extract fetch "URL" /tmp/scrapling-fallback.md --network-idle --disable-resources → 読み取り → 検証
    3. それでもブロックされる場合 → scrapling extract stealthy-fetch "URL" /tmp/scrapling-fallback.md --solve-cloudflare
    4. すべての段階で失敗した場合 → ショップをスキップし、「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、VoIPYealink W76P
IT/ネットワークMikroTik、Ubiquiti、スイッチ、ルーター、AP、ファイアウォールMikroTik hAP ax3
電子機器モニター、ノートパソコン、コンピューター、プリンター、タブレットDell U2723QE
オフィス椅子、デスク、シュレッダー、プロジェクターErgohuman Elite
一般(該当なし)Nespresso Vertuo

Step 2: 第1ラウンド — 調査

クエリの生成

6~8件のクエリを並行して生成します。

  1. Ceneo: site:ceneo.pl "{PRODUCT}"
  2. Allegro: site:allegro.pl "{PRODUCT}"
  3. Amazon.pl: site:amazon.pl "{PRODUCT}"
  4. 一般的な価格: "{PRODUCT}" cena kupić
  5. 専門店: "{PRODUCT}" sklep(カテゴリリストから)
  6. 価格比較: "{PRODUCT}" porównanie cen
  7. レビュー: "{PRODUCT}" opinie recenzje
  8. 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件選びます。優先順位:

  1. 最安値の販売情報(価格の確認)
  2. Ceneo(一度に多くの店舗を一覧表示)
  3. 価格のない専門店
  4. 保証情報のあるページ

Step 4: 第2ラウンド — 店舗を WebFetch

ルール
  1. 第1ラウンドのクエリを繰り返さない
  2. 特定の製品ページを WebFetch します — ホームページではありません
  3. 並列で実行します — WebFetch を4~6件同時に実行します
  4. このラウンドでの 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ラウンド — 保証と配送

目標

各店舗について、以下を確認します。

  1. 保証の種類: メーカー/販売代理店/販売店/不明
  2. 送料: 宅配便、Paczkomat、送料無料(適用条件)
  3. 配送時間: 24時間、48時間、取り寄せ
保証情報の確認場所
  1. 製品ページ — 「Gwarancja」(保証)または「Informacje dodatkowe」(追加情報)のセクション
  2. 店舗の利用規約 — 「gwarancja」、「gwarant」、「rękojmia」を検索
  3. 保証書 — PDF または仕様欄の説明
  4. 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 と販売代理店

目標
  1. ポーランド国内のブランドの正規販売代理店を特定する
  2. B2B ポータル — 卸売価格、取引条件
  3. 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 ラウンド — 最終確認

目標

統合前の最終確認です。確認のみを行い、新しい店舗は探しません。

チェックリスト
  1. 最安値の上位 3 店舗を再確認 — WebFetch を再実行します。価格が変更されている可能性があります
  2. 在庫 — 商品は在庫ありか(「取り寄せ」ではないか)
  3. クーポン/プロモーション — "{PRODUCT}" kupon zniżka promocja
  4. Allegro の代替オファー — 異なる販売者のオファーを 2~3 件確認します
  5. 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
レポートのセクション
  1. 上位 3 件 — メーカー保証を確認済み

    • テーブル:店舗、送料込み価格、保証、備考
  2. 比較表の全体

    • 見つかったすべての店舗を、価格+送料の順に並べ替えます
  3. Allegro — オファー

    • 販売者、価格、メーカー保証、リンク
  4. 保証 — 主な調査結果

    • メーカーの方針(全世界)
    • ポーランドの販売代理店(延長保証の有無)
    • ポーランド国内のサービスセンター
    • メーカー保証と販売者保証(店舗一覧)
    • B2B:法定保証とその除外
  5. ポーランド国内の正規販売代理店

    • テーブル:会社、役割、ウェブサイト
  6. 製品仕様

    • 主な技術仕様
  7. 購入の推奨

    • 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
WebFetch20-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 テンプレート

コメント