mcpField
W
web-monitor

web-monitor

github.com/rogue-agent1Productivity056 installsUpdated 33w ago
Repository

About web-monitor

web-monitor is a command-line skill for tracking changes to web pages. It stores snapshots and diffs, with CSS selectors to focus checks on specific page sections.

Key features

  1. 01Watch URLs and take initial snapshots
  2. 02Monitor selected page sections with CSS
  3. 03Check one or all watched pages
  4. 04View snapshots and recorded diffs
  5. 05JSON output for programmatic checks

Use cases

  1. 01Track changes to product pricing
  2. 02Watch article lists for new entries
  3. 03Check several pages during a scheduled run

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/rogue-agent1/web-monitor --skill web-monitor

After installing, type/web-monitorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
LICENSE
scripts/
monitor.py

Details

From the project README

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

Comments

Markdown supported