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.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
3 · 1.7k · 9 current installs · 9 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description align with implementation: the script fetches product pages, extracts prices (JSON-LD, meta tags, regex), discovers candidate URLs via DuckDuckGo HTML search, and stores watches. The Trusted domains list and CLP examples are consistent with a Chile-focused price watcher.
Instruction Scope
SKILL.md instructs running the included script and scheduling checks. The runtime instructions and code only read/write a JSON store under the user's home (~/.openclaw/state/price-watcher/watchers.json) and make outbound HTTP(S) requests to user-supplied URLs and DuckDuckGo. Note: any URL you add (including internal or intranet addresses reachable from the host) will be fetched, so avoid adding sensitive endpoints or authenticated pages requiring credentials.
Install Mechanism
No install spec; this is instruction+script only. Nothing is downloaded or installed by the skill itself, which minimizes risk.
Credentials
The skill declares no environment variables, no credentials, and uses no external API keys. It does perform network requests to sites and DuckDuckGo as needed, which is proportional to its purpose.
Persistence & Privilege
always is false and the skill stores only its own watcher state under the user's home directory. It does not modify other skills or system-wide agent settings.
Assessment
This skill appears to do what it says: it scrapes product pages, keeps a local JSON store (~/.openclaw/state/price-watcher/watchers.json), and can discover links via DuckDuckGo. Before installing or scheduling it: (1) don't add URLs that point to internal resources or pages requiring credentials (the script will fetch any HTTP/HTTPS URL you provide); (2) be aware it will make outbound requests to the sites you monitor and to html.duckduckgo.com for discovery; (3) review the local store file if you care about what data is being kept; (4) the script does not include built-in forwarding to Telegram/WhatsApp/Discord — forwarding must be implemented externally and you should avoid sending sensitive data to third-party services; (5) if you plan to run frequent checks, consider rate limits and site policies to avoid being blocked. If you want higher assurance, run the script in a restricted environment or inspect/modify the source before use.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.1.0
Download zip
latestvk9767qqvd6pywth46gzxbqze49812km2

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

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 URL
  • add-item: discover product URLs from an item query, then add watches
  • list: list watched products
  • check --id <id>: check one product now
  • check --all: check all products now
  • remove --id <id>: delete watcher
  • history --id <id>: print full price history

Alert behavior

A check produces alerts when at least one condition matches:

  1. price_drop: current price < previous price
  2. target_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-only restricts discovered URLs to a curated trusted domain list.
  • --max-results controls 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:

  1. JSON-LD offers.price
  2. Open Graph/meta price fields
  3. Generic HTML regex fallback

When multiple prices are found, choose the lowest positive value as the current offer candidate.

Security standards

  • Accept only http/https URLs.
  • 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 --all on schedule and forward only non-empty alerts.

Suggested scheduled usage

Run every 30–120 minutes via cron, then send each alert to Telegram/WhatsApp/Discord.

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…