Compare Prices

SkillSearch

Search for a product across multiple retailers in parallel, save pricing data to disk, and produce an HTML report with the best deals and direct product links. Use when the user asks to compare prices, find the best deal, or check prices across stores.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Compare Prices skill

What this skill tells your AI

The instructions your AI receives, as published by browseros-ai/browseros-agent in apps/server/src/skills/defaults/compare-prices/SKILL.md and read by ahel’s review.

Search for a product across retailers in parallel using a hidden window, save pricing data incrementally to disk, and deliver a clean HTML comparison report with direct links to every product page.

When to Apply

Activate when the user asks to compare prices for a product, find the cheapest option, check if a price is good, or shop across multiple stores.

Workflow

Phase 1 — Clarify

Confirm with the user before searching:

  • Product name — exact model, variant, size, or color if applicable
  • Retailer preferences — any stores to include or exclude
  • Region / currency — defaults to user's locale

Phase 2 — Set Up & Search

StepToolDetail
Create output directoryevaluate_scriptCreate compare-<product-slug>/ in your working directory with a raw/ subfolder
Open hidden windowcreate_hidden_windowDedicated workspace — keeps the user's browsing undisturbed
Open parallel tabsnew_hidden_pageOpen up to 10 tabs concurrently, one per retailer/search

Default search targets (adjust based on product type and user's region):

TabTarget
1Google Shopping — https://www.google.com/search?tbm=shop&q=<product>
2Amazon — https://www.amazon.com/s?k=<product>
3Walmart — https://www.walmart.com/search?q=<product>
4Best Buy — https://www.bestbuy.com/site/searchpage.jsp?st=<product>
5Target — https://www.target.com/s?searchTerm=<product>
6eBay — https://www.ebay.com/sch/i.html?_nkw=<product>
7–10Additional retailers relevant to the product category (Newegg for tech, Home Depot for tools, etc.)

Phase 3 — Extract & Save

For each tab, extract pricing data and save immediately:

StepToolDetail
Navigatenavigate_pageGo to the search URL
Read resultsget_page_contentExtract the search results page as markdown
Find best matchnavigate_pageClick through to the most relevant product listing
Extract pricingget_page_contentPull the product page content — price, availability, shipping, seller
Save raw dataevaluate_scriptWrite to raw/<retailer>.json with all extracted fields (see format below)
Close tabclose_pageFree the tab after saving

Never hold all retailer data in memory. Save each retailer's data to its own file immediately after extraction.

Raw Data Format (raw/<retailer>.json)
{
  "retailer": "Amazon",
  "product_name": "Product Title as Listed",
  "product_url": "https://www.amazon.com/dp/...",
  "price": 299.99,
  "original_price": 349.99,
  "currency": "USD",
  "shipping": "Free",
  "availability": "In Stock",
  "seller": "Amazon.com",
  "condition": "New",
  "rating": "4.5/5",
  "notes": "Prime eligible",
  "extracted_at": "2025-03-11T10:30:00Z"
}

Phase 4 — HTML Report

After all retailers are processed, read the saved raw/*.json files and generate a self-contained report.html:

RequirementDetail
ThemeLight background (#ffffff), clean sans-serif typography, generous whitespace
HeaderProduct name, search date, number of retailers checked
Best Deal bannerHighlighted card at the top showing the lowest total price with a direct link to the product page
Comparison tableAll retailers sorted by total price (lowest first) with columns: Retailer, Price, Shipping, Total, Stock, Seller, Rating, Link
Product linksEvery retailer name and a "View Deal" button must be a clickable <a href> linking to the actual product page URL
Price highlightsLowest price in green, highest in muted gray. Show discount percentage if original price differs.
Self-containedAll styles in a <style> block — no external CSS or JS
ResponsiveReadable on desktop and mobile
Footer"Generated by BrowserOS Compare Prices" with date

Use evaluate_script to write report.html to the output directory.

Phase 5 — Open & Notify

StepToolDetail
Close hidden windowclose_windowClean up the research workspace
Open reportnew_pageOpen file://<path>/report.html in the user's active window
Notify userTell the user the comparison is complete, highlight the best deal, and provide the report path

Tool Reference

CategoryTools Used
Window managementcreate_hidden_window, close_window
Tab managementnew_hidden_page, close_page, new_page
Navigationnavigate_page
Content extractionget_page_content
Data & file I/Oevaluate_script

Tips

  • Always compare total price (product + shipping), not just the listed price.
  • Note the seller — marketplace third-party sellers may have different return policies than the retailer itself.
  • Mention membership discounts (Prime, Walmart+) as a note, not as the default price.
  • If the product has variants (sizes, colors), ensure every retailer is quoting the same variant.
  • If a retailer blocks scraping or returns no results, skip it and note the gap in the report.
  • For used/refurbished listings, separate them from new-condition results.

Signals

GitHub stars
52
Forks
40
Last commit
Jun 2026
Advanced
Catalog kind
skill
Gateway key
compare-prices
Source
github.com/browseros-ai/browseros-agent