Website Monitor
Overview
Periodic watch with quiet success. Store a baseline fingerprint; notify on delta.
Workflow
- Define URL, CSS/text target, and what counts as a change.
- Fetch current content with
web_fetch, or thebrowsertool when the page renders client-side. - Normalize (strip volatile bits: dates, CSRF tokens, ads).
- Compare to baseline file e.g.
monitoring/<slug>.jsonin the workspace:- hash or extracted fields (price, status, headline)
- If changed: update baseline + notify with old → new.
- Schedule via:
cronwhen the user wants reports in chat.navin/HEARTBEAT.mdwhen silence is preferred unless changed
Baseline schema
{
"url": "...",
"extracted": {"price": "12.00", "status": "in_stock"},
"hash": "...",
"checked_at": "..."
}
Rules
- Do not spam on every HTML churn - compare extracted fields.
- Include the URL and timestamp in alerts.