res-price-compare

安装量: 36
排名: #19493

安装

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

Price Comparison — Polish Market Iterative 5-round product price research on the Polish e-commerce market with warranty verification, shipping costs, and B2B analysis. IMPORTANT: Load references/polish-market.md at startup — it contains the shop database, price comparators, and search patterns. Architecture Tool Purpose Cost WebSearch Search for shops, prices, offers Free WebFetch Verify prices on shop pages (primary) Free scrapling Fallback for sites that block WebFetch Free No xAI — price comparison doesn't need X/Twitter. Requirements No external dependencies required. Skill runs on built-in Claude Code tools. Optional dependencies: scrapling — fallback for sites that block WebFetch (403, CAPTCHA, empty responses). Install: uv tool install 'scrapling[all]' uv — to run uv run --with openpyxl python3 -c "..." for XLSX export Workflow Overview Step Action Purpose 1 Parse query PRODUCT, BUYER_TYPE, CATEGORY 2 Round 1: Discovery Ceneo, Allegro, Amazon.pl, general and specialist shops 3 Gap analysis Missing shops, unverified prices, missing data 4 Round 2: WebFetch shops Confirm prices, stock levels, shipping 5 Round 3: Warranty and shipping Verify warranty type, delivery costs 6 Round 4: B2B and distributors B2B portals, official distributors, statutory warranty 7 Round 5: Final verification Re-check cheapest, stock, coupons 8 Synthesis Comparison table, recommendation, summary 9 Export TXT, XLSX, HTML on request 10 Expert mode Answers from cache, no new searches WebFetch with Scrapling Fallback Every WebFetch call in this skill follows a two-tier pattern: Try WebFetch first (fast, no file I/O): WebFetch(url, prompt) If WebFetch fails (403, empty content, CAPTCHA page, or blocked response), retry using the auto-escalation protocol from cli-web-scrape: scrapling extract get "URL" /tmp/scrapling-fallback.md → Read → validate content If content is thin (JS-only shell, no data, mostly nav links) → scrapling extract fetch "URL" /tmp/scrapling-fallback.md --network-idle --disable-resources → Read → validate If still blocked → scrapling extract stealthy-fetch "URL" /tmp/scrapling-fallback.md --solve-cloudflare All tiers fail → skip shop and label "scrapling blocked" Detection heuristics for blocked/thin responses: HTTP 403 or "access denied" in response Response body is empty or contains only navigation/cookie banners Response contains CAPTCHA challenge (reCAPTCHA, hCaptcha, Cloudflare challenge page) Response is a "please enable JavaScript" page or JS-disabled warning HTTP 200 but no prices, specs, or product names — only nav links and footer (JS-rendered SPA) If scrapling is not installed, fall back to the original behavior: skip the shop and label "WebFetch blocked". Step 1: Parse Query Extract from user query: 1a. PRODUCT Product name to search. Include model, variant, part number. 1b. BUYER_TYPE Type Detection Consequences B2C "for home", "personal", no indication Statutory warranty 24 mo. + voluntary warranty B2B "for company", "VAT invoice", "business", "B2B" Statutory warranty may be excluded, manufacturer warranty is critical Default: B2B (safer assumption — triggers more analysis) 1c. CATEGORY Auto-detect based on product name. Load the appropriate specialist shop list from references/polish-market.md : Category Detection Patterns Examples VoIP/Telephony Yealink, Grandstream, Fanvil, SIP, DECT, VoIP Yealink W76P IT/Networking MikroTik, Ubiquiti, switch, router, AP, firewall MikroTik hAP ax3 Electronics monitor, laptop, computer, printer, tablet Dell U2723QE Office chair, desk, shredder, projector Ergohuman Elite General (no match) Nespresso Vertuo Step 2: Round 1 — Discovery Query Generation Generate 6-8 parallel queries: Ceneo: site:ceneo.pl "{PRODUCT}" Allegro: site:allegro.pl "{PRODUCT}" Amazon.pl: site:amazon.pl "{PRODUCT}" General prices: "{PRODUCT}" cena kupić Specialist shops: "{PRODUCT}" sklep (from category list) Price comparator: "{PRODUCT}" porównanie cen Reviews: "{PRODUCT}" opinie recenzje B2B: "{PRODUCT}" dystrybutor hurtownia (if BUYER_TYPE = B2B) Parallel Execution Run all WebSearch queries simultaneously (parallel tool calls). Internal Notes After Round 1 Record (internally, NOT in output): 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: Gap Analysis After Round 1, perform gap analysis: Gap Check Action No comparator data Do we have Ceneo data? If not → WebFetch ceneo.pl No specialist shops How many shops from category in polish-market.md? Search for missing ones Prices from snippets only Any price confirmed via WebFetch? Plan WebFetch for top 10 No warranty data How many shops have warranty type info? Plan verification No shipping data How many shops have delivery costs? Plan WebFetch of shipping pages No marketplace data Were Allegro / Amazon checked? Additional queries Plan Round 2 Select top 8-12 URLs for WebFetch verification. Priority: Cheapest offers (price verification) Ceneo (lists many shops at once) Specialist shops without price Pages with warranty information Step 4: Round 2 — WebFetch Shops Rules Never repeat queries from Round 1 WebFetch specific product pages — not homepages In parallel — run 4-6 WebFetch simultaneously Maximum 8-12 WebFetch in this round Execution For each URL from the list, apply the WebFetch with Scrapling Fallback pattern: WebFetch(url, "Podaj: 1) dokładną cenę brutto, 2) dostępność/stan magazynowy, 3) koszty wysyłki, 4) informacje o gwarancji (producenta czy sprzedawcy)") If WebFetch returns 403, empty content, CAPTCHA, or a blocked response, follow the auto-escalation protocol (HTTP → validate content → Dynamic → Stealthy). Extract the same data points from the scrapling output. If Ceneo is available, WebFetch the Ceneo page first — it provides a list of many shops at once. Confidence Update Source Price Confidence WebSearch snippet LOW — price may be outdated Ceneo listing MEDIUM — aggregator, but delays WebFetch of shop page HIGH — directly confirmed Scrapling fallback of shop page HIGH — directly confirmed (same as WebFetch) Step 5: Round 3 — Warranty and Shipping Goal For each shop, establish: Warranty type: manufacturer / distributor / seller / unknown Shipping costs: courier, Paczkomat, free shipping (threshold) Delivery time: 24h, 48h, on order Where to Look for Warranty Product page — "Gwarancja" (Warranty) or "Informacje dodatkowe" (Additional info) section Shop terms of service — search for "gwarancja", "gwarant", "rękojmia" Warranty card — PDF or description in specs WebSearch: site:{shop} gwarancja or site:{shop} regulamin Warranty Classification Indicator Type "gwarancja producenta", "producent: [brand]" MANUFACTURER "gwarancja dystrybutora", distributor name as guarantor DISTRIBUTOR "gwarantem jest [shop name]", "gwarancja [shop]" SELLER No information UNKNOWN Load references/warranty-guide.md if deeper B2B or statutory warranty analysis is needed. Shipping Costs WebFetch the "Dostawa" (Delivery) or "Wysyłka" (Shipping) page for top 10 shops, using the WebFetch with Scrapling Fallback pattern: WebFetch(shipping_url, "Podaj wszystkie opcje dostawy z cenami: kurier, Paczkomat, Poczta Polska, odbiór osobisty, darmowa wysyłka (od jakiej kwoty)") On blocked response, follow the auto-escalation protocol (HTTP → validate content → Dynamic → Stealthy) and extract delivery options from the scrapling output. Step 6: Round 4 — B2B and Distributors Goal Identify official distributors of the brand in Poland B2B portals — wholesale prices, business terms B2B statutory warranty — do shops exclude statutory warranty for businesses Queries 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 Statutory Warranty Verification For top 5 cheapest shops, apply the WebFetch with Scrapling Fallback pattern: WebFetch(terms_url, "Czy regulamin wyłącza rękojmię dla przedsiębiorców? Szukaj: Art. 558 KC, wyłączenie rękojmi, przedsiębiorca, firma") On blocked response, follow the auto-escalation protocol (HTTP → validate content → Dynamic → Stealthy) and search the scrapling output for statutory warranty exclusion clauses. Distribution Chain Establish the chain: Manufacturer → PL Importer → Distributor → Reseller → Customer For each distributor record: Company name Role (importer / distributor / authorized reseller) Website Service contact details (if available) Step 7: Round 5 — Final Verification Goal Final verification before synthesis. Verification only, no discovering new shops. Checklist Re-check top 3 cheapest — WebFetch again, price may have changed Stock — is the product in stock (not "on order") Coupons/promotions — "{PRODUCT}" kupon zniżka promocja Alternative offers on Allegro — check 2-3 offers from different sellers Compare Allegro vs direct shop — price, warranty, safety Budget Maximum 6-8 WebFetch in this round. Step 8: Synthesis Main Table Sort by total price (price + cheapest shipping):

| 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) Warranty Legend YES = confirmed manufacturer warranty (verification source) NO = seller's own warranty (not manufacturer) ? = not verified at source n/a = no data Report Sections TOP 3 — with confirmed manufacturer warranty Table: Shop, Price incl. shipping, Warranty, Notes Full comparison table All found shops, sorted by price+shipping Allegro — offers Seller, Price, Manufacturer warranty, Link Warranty — key findings Manufacturer policy (global) PL Distributor (extended warranty?) Service center in Poland Manufacturer vs seller warranty (shop list) B2B: statutory warranty and its exclusion Official distributors in Poland Table: Company, Role, Website Product specifications Key technical parameters Purchase recommendation For B2C: top 3 with price, warranty, reasoning For B2B: top 3 considering statutory warranty and manufacturer warranty What to avoid and why Confidence Indicators Label each piece of information: Confidence When [HIGH] Confirmed via WebFetch or scrapling from shop page [MEDIUM] From Ceneo/comparator or single source [LOW] From WebSearch snippets only Step 9: Export Generate files on user request: TXT Fixed-width column file, same format as synthesis tables. XLSX Load references/export-formats.md and generate an Excel spreadsheet with: Conditional coloring (green=manufacturer warranty, red=seller) Filters and frozen headers Multiple sheets (comparison, warranty, distributors, specifications) HTML Load references/export-formats.md and generate standalone HTML with: Dark theme, embedded CSS Tabs for report sections Colored badges for warranty types Responsive layout Step 10: Expert Mode After delivering the report, switch to Expert Mode: Answer questions from collected data No new searches unless user requests Compare offers, advise New search triggers (exit Expert Mode): "Search again..." "Find more about..." "Update the data..." "Check also..." Parameters Always deep mode — 5 rounds, 25-40 shops, 20-30 WebFetch. Parameter Value Rounds 5 Shops 25-40 WebFetch 20-30 Constraints (DO/DON'T) DO: Always start from Ceneo.pl — best price comparator in PL WebFetch to verify prices — search snippets are unreliable Distinguish manufacturer warranty from seller warranty — this is critical Include shipping costs in ranking — price without shipping is incomplete Search for official brand distributors in Poland For B2B: check statutory warranty exclusion in terms of service Run WebSearch in parallel (parallel tool calls) Cite the source of each piece of information (shop URL) Load references/polish-market.md at startup DON'T: Don't trust snippet prices without WebFetch verification Don't skip shipping costs in comparison Don't assume "24 months warranty" = manufacturer warranty Don't repeat queries from previous rounds Don't discover new shops in Round 5 — verification only Don't quote more than 125 characters from a single source Don't run queries sequentially when they can be parallel Error Handling Error Resolution WebFetch 403/CAPTCHA/empty Follow auto-escalation protocol from cli-web-scrape: HTTP tier → validate content → Dynamic tier → Stealthy tier. If scrapling unavailable or all tiers fail, skip shop and label "blocked" Ceneo returns no results Search directly in shops from polish-market.md Allegro blocks scraping Use WebSearch site:allegro.pl , not WebFetch No price on page Label "n/a", skip in ranking Conflicting prices (snippet vs WebFetch) Always trust WebFetch (or scrapling if WebFetch was blocked) References references/polish-market.md — Shop and comparator database (loaded ALWAYS) references/warranty-guide.md — Statutory vs voluntary warranty, Polish law, B2B checklist references/export-formats.md — TXT/XLSX/HTML templates with generation instructions

返回排行榜