web-monitor
v1.0.0Monitor 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.
Installation
Please help me install the skill `web-monitor` from SkillHub official store.
npx skills add rogue-agent1/web-monitor
Web Monitor
Track web pages for changes. Stores snapshots, computes diffs, supports CSS selectors.
Quick 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 check
# Check one specific URL
uv run --with beautifulsoup4 python scripts/monitor.py check "Example"
# List watched URLs
uv run --with beautifulsoup4 python scripts/monitor.py list
# View 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 50
# Remove
uv run --with beautifulsoup4 python scripts/monitor.py remove "Example"
Commands
| Command | Args | Description |
|---|---|---|
add |
<url> [-n name] [-s selector] |
Add URL to watch, take initial snapshot |
remove |
<url-or-name> |
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 |
<url-or-name> |
Show last recorded diff |
snapshot |
<url-or-name> [-l lines] |
Show current snapshot |
Output Symbols
- 🔔 CHANGED — page content changed (shows diff preview)
- ✅ No changes
- 📸 Initial snapshot taken
- ❌ Error fetching
Data
Stored in ~/.web-monitor/ (override with WEB_MONITOR_DIR env var):
- watches.json — watch list config
- snapshots/ — stored page content + diffs
Tips
- Use
--selectorto monitor specific elements (prices, article lists, etc.) - Use
--format jsonfor programmatic checking (heartbeat integration) - CSS selectors require beautifulsoup4 (included via
--withflag) - Text is normalized to reduce noise from timestamps, whitespace, ads