Web Monitor
by @corbin-breton
Monitor web pages for content changes and get alerts. Track URLs, detect updates, view diffs. Use when asked to watch a website, track changes on a page, mon...
clawhub install keats-web-monitorπ About This Skill
name: web-monitor description: Monitor web pages for content changes and get alerts. Track URLs, detect updates, view diffs. Use when asked to watch a website, track changes on a page, monitor for new posts/content, set up page change alerts, or check if a site has been updated. Supports CSS selectors for targeted monitoring.
Web Monitor
Track web pages for changes. Stores snapshots, computes diffs, supports CSS selectors.
Triggers
Activate this skill when the user wants to:NOT For
topic-monitor skill for news/topic monitoring with importance scoringQuick Start
# Add a URL to watch
uv run --with beautifulsoup4 python scripts/monitor.py add "https://example.com" --name "Example"Add with CSS selector (monitor specific section)
uv run --with beautifulsoup4 python scripts/monitor.py add "https://example.com/pricing" -n "Pricing" -s ".pricing-table"Check all watched URLs for changes
uv run --with beautifulsoup4 python scripts/monitor.py checkCheck one specific URL
uv run --with beautifulsoup4 python scripts/monitor.py check "Example"List watched URLs
uv run --with beautifulsoup4 python scripts/monitor.py listView last diff
uv run --with beautifulsoup4 python scripts/monitor.py diff "Example"View current snapshot
uv run --with beautifulsoup4 python scripts/monitor.py snapshot "Example" --lines 50Remove
uv run --with beautifulsoup4 python scripts/monitor.py remove "Example"
Commands
| Command | Args | Description |
|---------|------|-------------|
| add | | Add URL to watch, take initial snapshot |
| remove | | Stop watching a URL |
| list | [-f json] | List all watched URLs with stats |
| check | [url-or-name] [-f json] | Check for changes (all or one) |
| diff | | Show last recorded diff |
| snapshot | | Show current snapshot |
Output Symbols
Data
Stored in ~/.web-monitor/ (override with WEB_MONITOR_DIR env var).
For OpenClaw workspace integration, set WEB_MONITOR_DIR=$WORKSPACE/data/web-monitor (where $WORKSPACE is your agent workspace path).
watches.json β watch list configsnapshots/ β stored page content + diffsTips
--selector to monitor specific elements (prices, article lists, etc.)--format json for programmatic checking (heartbeat integration)--with flag)π‘ Examples
# Add a URL to watch
uv run --with beautifulsoup4 python scripts/monitor.py add "https://example.com" --name "Example"Add with CSS selector (monitor specific section)
uv run --with beautifulsoup4 python scripts/monitor.py add "https://example.com/pricing" -n "Pricing" -s ".pricing-table"Check all watched URLs for changes
uv run --with beautifulsoup4 python scripts/monitor.py checkCheck one specific URL
uv run --with beautifulsoup4 python scripts/monitor.py check "Example"List watched URLs
uv run --with beautifulsoup4 python scripts/monitor.py listView last diff
uv run --with beautifulsoup4 python scripts/monitor.py diff "Example"View current snapshot
uv run --with beautifulsoup4 python scripts/monitor.py snapshot "Example" --lines 50Remove
uv run --with beautifulsoup4 python scripts/monitor.py remove "Example"
π Tips & Best Practices
--selector to monitor specific elements (prices, article lists, etc.)--format json for programmatic checking (heartbeat integration)--with flag)