{
  "schemaVersion": "1.0",
  "item": {
    "slug": "web-monitor-pro",
    "name": "Web Monitor",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/jakes420/web-monitor-pro",
    "canonicalUrl": "https://clawhub.ai/jakes420/web-monitor-pro",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/web-monitor-pro",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=web-monitor-pro",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/examples.md",
      "scripts/monitor.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/web-monitor-pro"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/web-monitor-pro",
    "agentPageUrl": "https://openagent3.xyz/skills/web-monitor-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web-monitor-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web-monitor-pro/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Web Monitor Pro",
        "body": "Watch any web page. Know when it changes."
      },
      {
        "title": "Quick Start",
        "body": "python3 scripts/monitor.py quickstart                        # shows suggestions + engine status\npython3 scripts/monitor.py watch \"https://example.com/product\"\npython3 scripts/monitor.py check"
      },
      {
        "title": "First Run",
        "body": "Use quickstart on first run. It:\n\nCreates the data directory\nChecks which fetch engines are available (curl, cloudscraper, playwright)\nReturns suggestions for popular monitoring scenarios (price drops, restocks, page changes, sales)\nLists available templates\nShows tips for missing engines\n\nThe agent can use this info to ask the user what they want to monitor and set it up for them."
      },
      {
        "title": "What It Does",
        "body": "Monitors web pages for content changes, price drops, and restocks\nSmart change summaries (\"Price dropped from $389 to $331, 15% off\")\nVisual side-by-side diffs showing exactly what changed\nPrice history tracking with trends and sparklines\nPrice comparison across multiple stores\nTemplates for common setups (price drop, restock, sale)\nJS rendering via Playwright for dynamic sites\nWebhooks to Slack, Discord, or any endpoint\nGroups, notes, snapshots, exports\nNo API keys. Data in ~/.web-monitor/. Uses curl by default."
      },
      {
        "title": "Smart Watch",
        "body": "The easiest way to start. Point it at a URL and it figures out the rest.\n\npython3 scripts/monitor.py watch \"https://example.com/product\"\n\nIt detects whether it's a product page (sets up price monitoring), a stock page (watches availability), or a regular page (tracks content). No flags needed.\n\nAdd options if you want more control:\n\npython3 scripts/monitor.py watch \"https://example.com\" --group wishlist\npython3 scripts/monitor.py watch \"https://example.com\" --browser --webhook \"https://hooks.slack.com/...\""
      },
      {
        "title": "Adding Monitors",
        "body": "When you want full control, use add:\n\npython3 scripts/monitor.py add \"https://example.com/product\" \\\n  --label \"Cool Gadget\" \\\n  --condition \"price below 500\" \\\n  --interval 360 \\\n  --group \"wishlist\" \\\n  --priority high \\\n  --target 3000 \\\n  --browser \\\n  --webhook \"https://hooks.slack.com/...\"\n\nAll options (work with both add and watch):\n\n--label/-l name for the monitor\n--selector/-s CSS selector to focus on (#price, .stock-status)\n--condition/-c when to alert (see Condition Syntax below)\n--interval/-i check interval in minutes (default: 360)\n--group/-g category name (\"wishlist\", \"work\")\n--priority/-p high, medium, or low (default: medium)\n--target/-t price target number\n--browser/-b use Playwright for JS-rendered pages\n--webhook/-w webhook URL, repeatable for multiple endpoints"
      },
      {
        "title": "Checking Monitors",
        "body": "python3 scripts/monitor.py check                # check all\npython3 scripts/monitor.py check --id 3          # check one\npython3 scripts/monitor.py check --verbose       # include content preview\n\nReturns status (changed/unchanged), condition info, price data, and a human-readable change summary. Examples of what summaries look like:\n\n\"Price dropped from $389 to $331 (15% off). Lowest price in 30 days.\"\n\"Back in stock! Was out of stock for 3 days.\"\n\"New content: 'Breaking news: AI model achieves...'\"\n\nWhen changes are detected, an HTML diff is auto-generated. The path appears in the diff_path field."
      },
      {
        "title": "Dashboard",
        "body": "Everything at a glance.\n\npython3 scripts/monitor.py dashboard\npython3 scripts/monitor.py dashboard --whatsapp\n\nShows status icons, last check time, days monitored, current prices, target progress, and browser/webhook config. Groups monitors by category."
      },
      {
        "title": "Price Trends",
        "body": "python3 scripts/monitor.py trend 3\npython3 scripts/monitor.py trend 3 --days 30\n\nShows direction (rising/dropping/stable), min/max/avg with dates, target progress, and a sparkline."
      },
      {
        "title": "Price Comparison",
        "body": "Compare prices across stores in a group:\n\npython3 scripts/monitor.py compare mygroup\npython3 scripts/monitor.py compare --all\n\nShows cheapest to most expensive, price history, and the best deal as a percentage below average.\n\nAdd a competitor to an existing monitor:\n\npython3 scripts/monitor.py add-competitor 3 \"https://competitor.com/same-product\"\n\nCreates a new monitor in the same group with the same condition."
      },
      {
        "title": "Templates",
        "body": "Pre-built setups for common patterns. Skip the manual config.\n\npython3 scripts/monitor.py template list\npython3 scripts/monitor.py template use price-drop \"https://example.com/product\"\npython3 scripts/monitor.py template use restock \"https://example.com/product\"\npython3 scripts/monitor.py template use sale \"https://example.com/deals\"\n\nAvailable templates:\n\nprice-drop watches for price decreases, snapshots current price as baseline\nrestock looks for \"in stock\", \"available\", \"add to cart\"\ncontent-update tracks page changes with smart diff\nsale watches for \"sale\", \"discount\", \"% off\"\nnew-release watches for new items or versions\n\nEach one pre-configures the condition, interval, and priority."
      },
      {
        "title": "Managing Monitors",
        "body": "python3 scripts/monitor.py list                    # all monitors\npython3 scripts/monitor.py list --group wishlist   # filter by group\npython3 scripts/monitor.py pause 3                 # skip during checks\npython3 scripts/monitor.py resume 3                # re-enable\npython3 scripts/monitor.py remove 3                # delete"
      },
      {
        "title": "Notes and Snapshots",
        "body": "Attach notes to any monitor:\n\npython3 scripts/monitor.py note 3 \"waiting for Black Friday\"\npython3 scripts/monitor.py notes 3\n\nTake a manual snapshot:\n\npython3 scripts/monitor.py snapshot 3\npython3 scripts/monitor.py snapshot 3 --note \"price before sale\"\n\nView history:\n\npython3 scripts/monitor.py history 3\npython3 scripts/monitor.py history 3 --limit 10"
      },
      {
        "title": "Visual Diffs",
        "body": "Side-by-side HTML comparison. Old on the left, new on the right. Green for additions, red for removals, yellow for changes.\n\npython3 scripts/monitor.py diff 3\npython3 scripts/monitor.py screenshot 3\n\ndiff generates the comparison and opens it in your browser. screenshot saves the current content for future diffing."
      },
      {
        "title": "Reports",
        "body": "Weekly summary, formatted for WhatsApp:\n\npython3 scripts/monitor.py report"
      },
      {
        "title": "Groups",
        "body": "python3 scripts/monitor.py groups\n\nLists all groups with monitor counts."
      },
      {
        "title": "Engines and Cloudflare Support",
        "body": "The monitor uses a fetch engine to grab page content. By default (--engine auto), it tries engines in order until one works:\n\ncurl -- fast, no dependencies, works on most sites\ncloudscraper -- handles Cloudflare JS challenges without a full browser\nplaywright -- full headless browser for JS-heavy SPAs\n\nCheck what's available on your system:\n\npython3 scripts/monitor.py engines\n\nForce a specific engine:\n\npython3 scripts/monitor.py watch \"https://example.com\" --engine cloudscraper\npython3 scripts/monitor.py add \"https://example.com\" --engine browser\n\nInstall cloudscraper (recommended for Cloudflare-protected e-commerce sites):\n\npip3 install cloudscraper\n\nThe engine preference is saved per monitor. You can mix engines across monitors."
      },
      {
        "title": "JS Rendering",
        "body": "Sites like Amazon, Best Buy, and most SPAs load content with JavaScript. Default curl fetching won't see it. Add --browser to use Playwright's headless Chromium:\n\npython3 scripts/monitor.py watch \"https://amazon.com/dp/B0EXAMPLE\" --browser\n\nIf Playwright isn't installed, it falls back to curl and warns you. Install with:\n\npip3 install playwright && python3 -m playwright install chromium"
      },
      {
        "title": "Webhooks",
        "body": "Fire a JSON POST when conditions are met or content changes:\n\npython3 scripts/monitor.py add \"https://example.com\" --webhook \"https://hooks.slack.com/services/...\"\n\nUse --webhook multiple times for multiple endpoints. The payload includes monitor_id, label, url, event details (status, condition_met, change_summary, current_price), and timestamp.\n\nWebhooks fire during check whenever something triggers."
      },
      {
        "title": "Export and Import",
        "body": "python3 scripts/monitor.py export > monitors.json\npython3 scripts/monitor.py import monitors.json\n\nImport skips duplicates by URL."
      },
      {
        "title": "GUI Console",
        "body": "python3 scripts/monitor.py gui\n\nOpens ~/.web-monitor/console.html in your browser. Single self-contained HTML file. Shows all monitors, price trends, alert history, groups, and templates. Dark/light mode, filtering, sorting, sparklines. No external dependencies.\n\nAdd --no-open to generate without launching."
      },
      {
        "title": "Condition Syntax",
        "body": "price below 500 or price < 500 alerts when price drops below threshold\nprice above 1000 or price > 1000 alerts when price exceeds threshold\ncontains 'in stock' alerts when text appears on page\nnot contains 'out of stock' alerts when text disappears"
      },
      {
        "title": "Priority Levels",
        "body": "high fires an immediate alert\nmedium is the default\nlow gets batched into digests"
      },
      {
        "title": "Automation with Cron",
        "body": "Set up a cron job to check monitors regularly:\n\nTask: Check all web monitors. Run: python3 <skill_dir>/scripts/monitor.py check\nReport any monitors where status is \"changed\" or \"condition_met\" is true.\nIf nothing changed, stay silent.\n\nRecommended schedule: every 6 hours (0 */6 * * *). For weekly reports, run report on Mondays."
      },
      {
        "title": "Feedback",
        "body": "python3 scripts/monitor.py feedback \"your message\"\npython3 scripts/monitor.py feedback --bug \"something broke\"\npython3 scripts/monitor.py feedback --idea \"wouldn't it be cool if...\"\npython3 scripts/monitor.py debug"
      },
      {
        "title": "Tips",
        "body": "watch is almost always the right starting point. Use add only when you need specific conditions.\n--selector reduces noise. If you only care about the price, point it at #price instead of the whole page.\nGroup related monitors, then use compare to find the best deal across stores.\nUp to 50 snapshots per monitor are kept. Content is capped at 10KB per snapshot.\nPrice targets show progress in both dashboard and check output.\nsnapshot --note before a sale event gives you a clean baseline to diff against.\nFor JS-heavy sites, --browser is not optional. It's required.\nCombine webhooks with Slack or Discord for real-time alerts without polling."
      }
    ],
    "body": "Web Monitor Pro\n\nWatch any web page. Know when it changes.\n\nQuick Start\npython3 scripts/monitor.py quickstart                        # shows suggestions + engine status\npython3 scripts/monitor.py watch \"https://example.com/product\"\npython3 scripts/monitor.py check\n\nFirst Run\n\nUse quickstart on first run. It:\n\nCreates the data directory\nChecks which fetch engines are available (curl, cloudscraper, playwright)\nReturns suggestions for popular monitoring scenarios (price drops, restocks, page changes, sales)\nLists available templates\nShows tips for missing engines\n\nThe agent can use this info to ask the user what they want to monitor and set it up for them.\n\nWhat It Does\nMonitors web pages for content changes, price drops, and restocks\nSmart change summaries (\"Price dropped from $389 to $331, 15% off\")\nVisual side-by-side diffs showing exactly what changed\nPrice history tracking with trends and sparklines\nPrice comparison across multiple stores\nTemplates for common setups (price drop, restock, sale)\nJS rendering via Playwright for dynamic sites\nWebhooks to Slack, Discord, or any endpoint\nGroups, notes, snapshots, exports\nNo API keys. Data in ~/.web-monitor/. Uses curl by default.\nSmart Watch\n\nThe easiest way to start. Point it at a URL and it figures out the rest.\n\npython3 scripts/monitor.py watch \"https://example.com/product\"\n\n\nIt detects whether it's a product page (sets up price monitoring), a stock page (watches availability), or a regular page (tracks content). No flags needed.\n\nAdd options if you want more control:\n\npython3 scripts/monitor.py watch \"https://example.com\" --group wishlist\npython3 scripts/monitor.py watch \"https://example.com\" --browser --webhook \"https://hooks.slack.com/...\"\n\nAdding Monitors\n\nWhen you want full control, use add:\n\npython3 scripts/monitor.py add \"https://example.com/product\" \\\n  --label \"Cool Gadget\" \\\n  --condition \"price below 500\" \\\n  --interval 360 \\\n  --group \"wishlist\" \\\n  --priority high \\\n  --target 3000 \\\n  --browser \\\n  --webhook \"https://hooks.slack.com/...\"\n\n\nAll options (work with both add and watch):\n\n--label/-l name for the monitor\n--selector/-s CSS selector to focus on (#price, .stock-status)\n--condition/-c when to alert (see Condition Syntax below)\n--interval/-i check interval in minutes (default: 360)\n--group/-g category name (\"wishlist\", \"work\")\n--priority/-p high, medium, or low (default: medium)\n--target/-t price target number\n--browser/-b use Playwright for JS-rendered pages\n--webhook/-w webhook URL, repeatable for multiple endpoints\nChecking Monitors\npython3 scripts/monitor.py check                # check all\npython3 scripts/monitor.py check --id 3          # check one\npython3 scripts/monitor.py check --verbose       # include content preview\n\n\nReturns status (changed/unchanged), condition info, price data, and a human-readable change summary. Examples of what summaries look like:\n\n\"Price dropped from $389 to $331 (15% off). Lowest price in 30 days.\"\n\"Back in stock! Was out of stock for 3 days.\"\n\"New content: 'Breaking news: AI model achieves...'\"\n\nWhen changes are detected, an HTML diff is auto-generated. The path appears in the diff_path field.\n\nDashboard\n\nEverything at a glance.\n\npython3 scripts/monitor.py dashboard\npython3 scripts/monitor.py dashboard --whatsapp\n\n\nShows status icons, last check time, days monitored, current prices, target progress, and browser/webhook config. Groups monitors by category.\n\nPrice Trends\npython3 scripts/monitor.py trend 3\npython3 scripts/monitor.py trend 3 --days 30\n\n\nShows direction (rising/dropping/stable), min/max/avg with dates, target progress, and a sparkline.\n\nPrice Comparison\n\nCompare prices across stores in a group:\n\npython3 scripts/monitor.py compare mygroup\npython3 scripts/monitor.py compare --all\n\n\nShows cheapest to most expensive, price history, and the best deal as a percentage below average.\n\nAdd a competitor to an existing monitor:\n\npython3 scripts/monitor.py add-competitor 3 \"https://competitor.com/same-product\"\n\n\nCreates a new monitor in the same group with the same condition.\n\nTemplates\n\nPre-built setups for common patterns. Skip the manual config.\n\npython3 scripts/monitor.py template list\npython3 scripts/monitor.py template use price-drop \"https://example.com/product\"\npython3 scripts/monitor.py template use restock \"https://example.com/product\"\npython3 scripts/monitor.py template use sale \"https://example.com/deals\"\n\n\nAvailable templates:\n\nprice-drop watches for price decreases, snapshots current price as baseline\nrestock looks for \"in stock\", \"available\", \"add to cart\"\ncontent-update tracks page changes with smart diff\nsale watches for \"sale\", \"discount\", \"% off\"\nnew-release watches for new items or versions\n\nEach one pre-configures the condition, interval, and priority.\n\nManaging Monitors\npython3 scripts/monitor.py list                    # all monitors\npython3 scripts/monitor.py list --group wishlist   # filter by group\npython3 scripts/monitor.py pause 3                 # skip during checks\npython3 scripts/monitor.py resume 3                # re-enable\npython3 scripts/monitor.py remove 3                # delete\n\nNotes and Snapshots\n\nAttach notes to any monitor:\n\npython3 scripts/monitor.py note 3 \"waiting for Black Friday\"\npython3 scripts/monitor.py notes 3\n\n\nTake a manual snapshot:\n\npython3 scripts/monitor.py snapshot 3\npython3 scripts/monitor.py snapshot 3 --note \"price before sale\"\n\n\nView history:\n\npython3 scripts/monitor.py history 3\npython3 scripts/monitor.py history 3 --limit 10\n\nVisual Diffs\n\nSide-by-side HTML comparison. Old on the left, new on the right. Green for additions, red for removals, yellow for changes.\n\npython3 scripts/monitor.py diff 3\npython3 scripts/monitor.py screenshot 3\n\n\ndiff generates the comparison and opens it in your browser. screenshot saves the current content for future diffing.\n\nReports\n\nWeekly summary, formatted for WhatsApp:\n\npython3 scripts/monitor.py report\n\nGroups\npython3 scripts/monitor.py groups\n\n\nLists all groups with monitor counts.\n\nEngines and Cloudflare Support\n\nThe monitor uses a fetch engine to grab page content. By default (--engine auto), it tries engines in order until one works:\n\ncurl -- fast, no dependencies, works on most sites\ncloudscraper -- handles Cloudflare JS challenges without a full browser\nplaywright -- full headless browser for JS-heavy SPAs\n\nCheck what's available on your system:\n\npython3 scripts/monitor.py engines\n\n\nForce a specific engine:\n\npython3 scripts/monitor.py watch \"https://example.com\" --engine cloudscraper\npython3 scripts/monitor.py add \"https://example.com\" --engine browser\n\n\nInstall cloudscraper (recommended for Cloudflare-protected e-commerce sites):\n\npip3 install cloudscraper\n\n\nThe engine preference is saved per monitor. You can mix engines across monitors.\n\nJS Rendering\n\nSites like Amazon, Best Buy, and most SPAs load content with JavaScript. Default curl fetching won't see it. Add --browser to use Playwright's headless Chromium:\n\npython3 scripts/monitor.py watch \"https://amazon.com/dp/B0EXAMPLE\" --browser\n\n\nIf Playwright isn't installed, it falls back to curl and warns you. Install with:\n\npip3 install playwright && python3 -m playwright install chromium\n\nWebhooks\n\nFire a JSON POST when conditions are met or content changes:\n\npython3 scripts/monitor.py add \"https://example.com\" --webhook \"https://hooks.slack.com/services/...\"\n\n\nUse --webhook multiple times for multiple endpoints. The payload includes monitor_id, label, url, event details (status, condition_met, change_summary, current_price), and timestamp.\n\nWebhooks fire during check whenever something triggers.\n\nExport and Import\npython3 scripts/monitor.py export > monitors.json\npython3 scripts/monitor.py import monitors.json\n\n\nImport skips duplicates by URL.\n\nGUI Console\npython3 scripts/monitor.py gui\n\n\nOpens ~/.web-monitor/console.html in your browser. Single self-contained HTML file. Shows all monitors, price trends, alert history, groups, and templates. Dark/light mode, filtering, sorting, sparklines. No external dependencies.\n\nAdd --no-open to generate without launching.\n\nCondition Syntax\nprice below 500 or price < 500 alerts when price drops below threshold\nprice above 1000 or price > 1000 alerts when price exceeds threshold\ncontains 'in stock' alerts when text appears on page\nnot contains 'out of stock' alerts when text disappears\nPriority Levels\nhigh fires an immediate alert\nmedium is the default\nlow gets batched into digests\nAutomation with Cron\n\nSet up a cron job to check monitors regularly:\n\nTask: Check all web monitors. Run: python3 <skill_dir>/scripts/monitor.py check\nReport any monitors where status is \"changed\" or \"condition_met\" is true.\nIf nothing changed, stay silent.\n\n\nRecommended schedule: every 6 hours (0 */6 * * *). For weekly reports, run report on Mondays.\n\nFeedback\npython3 scripts/monitor.py feedback \"your message\"\npython3 scripts/monitor.py feedback --bug \"something broke\"\npython3 scripts/monitor.py feedback --idea \"wouldn't it be cool if...\"\npython3 scripts/monitor.py debug\n\nTips\nwatch is almost always the right starting point. Use add only when you need specific conditions.\n--selector reduces noise. If you only care about the price, point it at #price instead of the whole page.\nGroup related monitors, then use compare to find the best deal across stores.\nUp to 50 snapshots per monitor are kept. Content is capped at 10KB per snapshot.\nPrice targets show progress in both dashboard and check output.\nsnapshot --note before a sale event gives you a clean baseline to diff against.\nFor JS-heavy sites, --browser is not optional. It's required.\nCombine webhooks with Slack or Discord for real-time alerts without polling."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/jakes420/web-monitor-pro",
    "publisherUrl": "https://clawhub.ai/jakes420/web-monitor-pro",
    "owner": "jakes420",
    "version": "3.5.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/web-monitor-pro",
    "downloadUrl": "https://openagent3.xyz/downloads/web-monitor-pro",
    "agentUrl": "https://openagent3.xyz/skills/web-monitor-pro/agent",
    "manifestUrl": "https://openagent3.xyz/skills/web-monitor-pro/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/web-monitor-pro/agent.md"
  }
}