Web Monitor
PassAudited by ClawScan on May 1, 2026.
Overview
The skill appears to do what it says—monitor web pages for changes—but users should notice that it fetches user-supplied URLs, stores page snapshots locally, and uses an unpinned optional dependency.
This looks like a coherent web-monitoring skill. Before installing, be comfortable with the agent fetching the URLs you provide and saving their text/diffs locally; use trusted URLs, consider a workspace-specific storage directory, and pin dependencies if you need reproducible installs.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
The agent can make network requests to URLs it is asked to monitor and then display or store the returned content.
The tool fetches URLs supplied through the add/check workflow. This is central to the skill, but the artifacts do not show scheme or host scoping.
content = fetch_content(args.url, args.selector) ... req = Request(url, headers=req_headers) ... with urlopen(req, timeout=30) as resp:
Only add URLs you intend to fetch. For shared or automated deployments, consider restricting use to trusted http/https domains.
Monitored page content, including any sensitive or untrusted text from those pages, can remain on disk and reappear in later diff or snapshot output.
The skill intentionally persists watched URLs, page snapshots, and diffs, which may later be shown back to the agent or user.
Stored in `~/.web-monitor/` ... `watches.json` — watch list config ... `snapshots/` — stored page content + diffs
Use the workspace-specific WEB_MONITOR_DIR when appropriate, avoid monitoring private pages unless local retention is acceptable, and remove watches or clear stored snapshots when no longer needed.
A future dependency version could differ from the version the author tested.
The documented execution path can resolve the beautifulsoup4 package without a pinned version. This is purpose-aligned for CSS selector support but leaves dependency version selection to the package manager.
uv run --with beautifulsoup4 python scripts/monitor.py add "https://example.com"
If reproducibility matters, install the dependency in a managed environment or pin a known-good beautifulsoup4 version.
