Web Monitor
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.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 3 · 2.9k · 34 current installs · 35 all-time installs
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (web page monitoring, CSS selectors, diffs) align with the included code and README. The files implement fetching pages, optional CSS selection (BeautifulSoup), snapshot storage, and diffing — all expected for a web-monitor tool.
Instruction Scope
SKILL.md and README provide concrete CLI commands to run the bundled script. The SKILL.md examples reference 'uv run --with beautifulsoup4' (a wrapper) while README shows plain 'python scripts/monitor.py' — a minor inconsistency but not a security issue. Instructions and code operate only on the specified URLs and the local data directory (WEB_MONITOR_DIR / ~/.web-monitor). They do not instruct reading unrelated files or environment secrets.
Install Mechanism
No install spec (instruction-only) and the code file is included. There is no automatic download from external or untrusted URLs, no package installs forced by the skill, and optional dependency (beautifulsoup4) is conventional and documented.
Credentials
The skill requests no environment variables or credentials; the only optional env var is WEB_MONITOR_DIR to override local storage. This is proportional to its purpose.
Persistence & Privilege
always is false and the skill does not request persistent elevated privileges or modify other skills. It writes only to its own data dir (~/.web-monitor) which is reasonable for a monitoring tool.
Assessment
This skill appears to do what it says: fetch pages you ask it to monitor, store snapshots under ~/.web-monitor (or WEB_MONITOR_DIR), and compute diffs. Before installing, consider: (1) the source is unknown — if you care about provenance, review the included scripts locally (scripts/monitor.py) or confirm the upstream repo; (2) it will make outbound HTTP(S) requests to any URLs you monitor (avoid pointing it at private/internal sites unless you trust the environment); (3) it stores page contents locally, so sensitive page content will be saved on disk; (4) if you need CSS-selector extraction, install beautifulsoup4 or run via the documented python command; and (5) run the script in a restricted/sandboxed environment if you want to limit its network access while evaluating it.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
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 configsnapshots/— 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
Files
3 totalSelect a file
Select a file to preview.
Comments
Loading comments…
