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
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & 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 zip
latestvk9714xbdf37rfbmpk3kw9y88y981116a

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

CommandArgsDescription
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 --selector to monitor specific elements (prices, article lists, etc.)
  • Use --format json for programmatic checking (heartbeat integration)
  • CSS selectors require beautifulsoup4 (included via --with flag)
  • Text is normalized to reduce noise from timestamps, whitespace, ads

Files

3 total
Select a file
Select a file to preview.

Comments

Loading comments…