Price Monitor
Overview
Automated price and content monitoring skill using agent-browser. Tracks price changes, stock availability, and content updates on any website with configurable alerts and history logging.
Quick Start
# Monitor a product price
agent-browser open "https://example.com/product/123"
agent-browser snapshot -i
agent-browser get text @e1 # Get price element
Core Workflows
1. Single Product Price Check
Use case: Check current price of a specific product
# Navigate to product page
agent-browser open "<product-url>"
# Get page snapshot to find price element
agent-browser snapshot -i
# Extract price (use appropriate ref from snapshot)
agent-browser get text @e1
# Optional: Save to history log
echo "$(date), $(price)" >> price-history.csv
2. Multi-Product Monitoring
Use case: Track prices across multiple products/competitors
Create a products.csv with URLs and price selectors:
url,selector,name
https://site-a.com/product1,.price-tag,Product A
https://site-b.com/item2,#price,Product B
Run monitoring script:
python scripts/monitor_prices.py products.csv
3. Stock/Inventory Alerts
Use case: Get notified when out-of-stock items become available
agent-browser open "<product-url>"
agent-browser snapshot -i
agent-browser get text @e1 # Check for "In Stock" or "Out of Stock"
4. Price History Tracking
Use case: Build historical price data for analysis
Script automatically logs:
- Timestamp
- Product name/URL
- Current price
- Stock status
Output: price-history.csv or JSON format
Scripts
monitor_prices.py
Main monitoring script that:
- Reads product list from CSV
- Navigates to each URL
- Extracts price using CSS selector
- Logs results with timestamp
- Detects price changes
- Optional: Send alerts on significant changes
Usage:
python scripts/monitor_prices.py products.csv [--alert-threshold 10]
Arguments:
products.csv- Product list with URLs and selectors--alert-threshold- Percentage change to trigger alert (default: 10%)
Configuration
Product List Format (CSV)
url,selector,name,min_price,max_price
https://amazon.com/dp/B08N5WRWNW,.a-price-whole,Sony Headphones,50,150
https://bestbuy.com/site/12345,.priceView-hero-price,TV,200,500
Alert Options
- Email alerts - Configure SMTP settings
- Discord webhook - Post to Discord channel
- File logging - Append to CSV/JSON
- Console output - Print changes to terminal
Best Practices
- Rate limiting - Add delays between requests (30s+ recommended)
- Error handling - Handle page load failures gracefully
- Selector stability - Use stable CSS selectors, avoid dynamic classes
- Headless mode - Run browser in headless mode for automation
- Schedule wisely - Check prices during business hours for accuracy
Example: Daily Price Check Cron
# Run every day at 9 AM
0 9 * * * cd /path/to/skill && python scripts/monitor_prices.py products.csv
Troubleshooting
- Element not found: Re-run snapshot to get updated refs
- Price format issues: Adjust selector or parse with regex
- Page load timeout: Increase timeout or add wait condition
- Blocked by site: Add delays, rotate user agents, or use residential proxy