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, mon...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 65 · 0 current installs · 0 all-time installs
byCorbin Breton@corbin-breton
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (web page change monitoring) matches the included Python tool and SKILL.md usage. The script fetches URLs, optionally applies CSS selectors, normalizes text, stores snapshots and diffs — all expected. Minor metadata inconsistencies exist: registry metadata/version (1.0.1) vs _meta.json version (1.0.0) and differing ownerId values; this looks like a packaging oversight, not functional mismatch.
Instruction Scope
SKILL.md instructs the agent to run the included script and to read/write data under ~/.web-monitor (or WEB_MONITOR_DIR). All instructions are within the declared purpose. The only noteworthy behavior is that the skill will fetch arbitrary URLs (provided by the user), which can include internal addresses reachable by the agent — expected for a monitor but a potential privacy/SSRF consideration.
Install Mechanism
No install spec; the skill is instruction-only with a bundled Python script. There are no downloads, brew/npm installs, or external installers. The script uses only the standard library and optionally beautifulsoup4 (recommended).
Credentials
The skill requires no credentials or special env vars. It optionally honors WEB_MONITOR_DIR (reasonable for changing storage location) and recommends setting it to $WORKSPACE for workspace integration. No unrelated secrets or config paths are requested.
Persistence & Privilege
always is false and the skill does not request to be force-enabled. It stores its own data under ~/.web-monitor or a user-provided WEB_MONITOR_DIR; it does not modify other skills or system-wide agent settings.
Assessment
This skill appears internally consistent for monitoring webpages. Before installing, consider: (1) it will fetch any URL you add — avoid adding sensitive or internal-only endpoints if the agent has network access to internal systems (SSRF/privacy risk); (2) snapshots and diffs are stored on disk (default ~/.web-monitor) — set WEB_MONITOR_DIR if you prefer the workspace or a different location; (3) CSS selector support needs beautifulsoup4 (optional); (4) metadata/version fields in _meta.json differ from the registry entry (likely an authoring oversight) — if provenance matters, verify the author/repo before trusting the package. If you want to limit risk, run the script in an environment with restricted network access or review/execute the script manually rather than enabling autonomous invocation.

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

Current versionv1.0.1
Download zip
latestvk971bthvajdym3j4ddm1zs08f583jbca

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.

Triggers

Activate this skill when the user wants to:

  • Watch a website for content changes
  • Track price changes, new posts, or updated content on a page
  • Set up page change alerts or notifications
  • Check if a site has been updated since last visit
  • Monitor a specific section of a page (with CSS selector)

NOT For

  • Real-time alerting on dynamic topics — use the topic-monitor skill for news/topic monitoring with importance scoring
  • Full page archival — this tracks diffs, not full crawl archives
  • JavaScript-heavy SPAs — the monitor fetches raw HTML; dynamic content rendered by JS may not be captured accurately
  • Monitoring APIs or webhooks — use cron + exec for structured data endpoints

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). For OpenClaw workspace integration, set WEB_MONITOR_DIR=$WORKSPACE/data/web-monitor (where $WORKSPACE is your agent workspace path).

  • 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

4 total
Select a file
Select a file to preview.

Comments

Loading comments…