Ecommerce Price Watcher
Track product prices across ecommerce sites and alert on offers or target-price hits. Use when a user wants to monitor one or many product URLs or item queries, compare current vs previous prices, detect discounts, and generate alert-ready summaries with product name, old/new price, percent drop, and direct link.
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
Ecommerce Price Watcher
Monitor product URLs, keep price history, detect offers, and output alert-ready JSON.
Quick start
Use scripts/price_watch.py.
# URL mode
python3 skills/ecommerce-price-watcher/scripts/price_watch.py add \
--url "https://example.com/product" \
--target-price 399990 \
--currency CLP
# Item mode (discover URLs from query)
python3 skills/ecommerce-price-watcher/scripts/price_watch.py add-item \
--query "iPhone 13 128GB Chile" \
--target-price 349990 \
--currency CLP \
--trusted-only \
--max-results 5
python3 skills/ecommerce-price-watcher/scripts/price_watch.py check --all
Commands
add: add a single product URLadd-item: discover product URLs from an item query, then add watcheslist: list watched productscheck --id <id>: check one product nowcheck --all: check all products nowremove --id <id>: delete watcherhistory --id <id>: print full price history
Alert behavior
A check produces alerts when at least one condition matches:
price_drop: current price < previous pricetarget_hit: current price <= target price
Alert payload includes:
- product id
- title
- old/new price
- drop percent (when available)
- URL
- timestamp
Item-query mode details
add-item uses a lightweight search discovery flow to find candidate product links.
--trusted-onlyrestricts discovered URLs to a curated trusted domain list.--max-resultscontrols how many links are added.- Duplicate URLs are skipped safely.
This gives users natural language entry ("track iPhone 13 128GB") instead of forcing direct URLs.
Parsing strategy
Use a layered parser:
- JSON-LD
offers.price - Open Graph/meta price fields
- Generic HTML regex fallback
When multiple prices are found, choose the lowest positive value as the current offer candidate.
Security standards
- Accept only
http/httpsURLs. - Enforce request timeout.
- Enforce response body size cap.
- Do not execute remote JavaScript.
- Store no API keys/tokens in watcher data.
- Treat all page content as untrusted.
- Return structured JSON for safe downstream automation.
Limits and operational notes
- Some stores block bot-like requests (403). This is expected on certain sites.
- Price extraction is best-effort and may need store-specific adapters over time.
- For production alerting, run
check --allon schedule and forward only non-emptyalerts.
Suggested scheduled usage
Run every 30–120 minutes via cron, then send each alert to Telegram/WhatsApp/Discord.
Files
2 totalComments
Loading comments…
