Website Monitor
Monitor websites for changes, downtime, or specific content. Get notified when a page changes, goes down, or matches/stops matching a pattern. Lightweight —...
Shihao Jiang (Zac)
@zacjiang
Install
$ openclaw skills install @zacjiang/site-monitorWebsite Monitor
Lightweight website monitoring — detect changes, downtime, or content patterns without external services.
Usage
Check if a site is up
python3 {baseDir}/scripts/monitor.py check https://example.com
Monitor for changes (compare to last snapshot)
python3 {baseDir}/scripts/monitor.py watch https://example.com --state-dir /tmp/monitor-state
Returns exit code 0 if unchanged, 1 if changed (with diff), 2 if down.
Check for specific content
python3 {baseDir}/scripts/monitor.py match https://example.com/pricing --pattern "Enterprise plan"
Returns exit code 0 if pattern found, 1 if not found.
Batch monitor from file
# sites.txt: one URL per line
python3 {baseDir}/scripts/monitor.py batch sites.txt --state-dir /tmp/monitor-state
Integration with OpenClaw
Heartbeat check
Add to your HEARTBEAT.md:
Run website monitor batch check on sites.txt.
If any site is down or changed, notify me.
Cron job
# Check every 30 minutes
openclaw cron add --every 30m --task "Run website monitor on my sites list and alert me if anything changed"
Features
- 🔍 Change detection with text diff
- ⬆️ Uptime checking (HTTP status + response time)
- 🎯 Pattern matching (regex supported)
- 📁 File-based state (no database needed)
- 📋 Batch monitoring from URL list
- 🪶 Zero dependencies beyond Python stdlib + requests
Dependencies
pip3 install requests
How State Works
When using watch mode, the script saves a hash of each page's text content in --state-dir. On the next run, it compares the current hash to the saved one. If different, it reports the change and shows a text diff.
State files are named by URL hash, so you can monitor hundreds of sites without collision.
Top skills in this category
API Gateway
@byungkyuCall third-party APIs through the Maton gateway, which injects the credential for an app the user has already connected. Use this skill when the user names a connected app and a concrete action in it - read a mailbox, query a CRM, file an issue, update a spreadsheet, etc.
Marketing Mode
@thesethroseMarketing Mode combines 23 comprehensive marketing skills covering strategy, psychology, content, SEO, conversion optimization, and paid growth. Use when users need marketing strategy, copywriting, SEO help, conversion optimization, paid advertising, or any marketing tactic.
Blogwatcher
@steipeteMonitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
Marketing Skills
@jchopard69Access 23 marketing modules offering checklists, frameworks, and ready-to-use deliverables for CRO, SEO, copywriting, analytics, launches, ads, and social me...
diagram-generator
@matthewyinGenerate and edit diagrams with the mcp-diagram-generator MCP server. Use this skill for new diagrams, existing .drawio/.mmd/.excalidraw edits, network topology, architecture, flowchart, swimlane, sequence, class, ER, and Excalidraw whiteboard work. Always use this skill when the user asks to draw,