← Files Sken.ioARCHIVED FILE

plugin.json

8.13 KB · Nov 13, 2026 · 00:10 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "sken-io",
  "version": "1.0.0",
  "description": "Monitor any web page for content or visual changes and get told what changed.",
  "author": {
    "name": "Sken.io",
    "email": "info@sken.io",
    "url": "https://sken.io"
  },
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Sken.io",
        "shortDescription": "Website change monitoring",
        "longDescription": "Sken.io watches web pages for you and tells you when they change.\n\nDescribe a page and what matters on it in plain language, and Sken.io starts monitoring it: the price on a product listing, a competitor's pricing table, a careers page, a booking calendar, a supplier's terms. You pick how often it looks, from once a minute to once a day.\n\nEvery check is a real browser loading the real page, so Sken.io keeps a screenshot of the page before and after each change, with the changed area highlighted. That means you can ask what changed and get an actual answer about the page, instead of a link telling you to go and look yourself.\n\nYou can also review recent changes across everything you monitor, pause or retarget a monitor, group monitors by project, and send alerts on to e-mail, Slack, Discord, Google Chat, webhooks or Zapier so your team hears about a change even when you are not in a chat.\n\nRequires a Sken.io account. Monitoring uses the check allowance on that account, and the connector reports how much of it is left when you ask.",
        "developerName": "Sken.io",
        "category": "Productivity",
        "capabilities": [
          "Read",
          "Write"
        ],
        "websiteURL": "https://sken.io",
        "supportURL": "https://sken.io/contact",
        "privacyPolicyURL": "https://sken.io/privacy-policy",
        "termsOfServiceURL": "https://sken.io/terms-of-service",
        "defaultPrompt": [
          "Watch a product page for me and tell me when the price drops",
          "What changed on the pages I am monitoring this week?",
          "Send my change alerts to Slack"
        ],
        "brandColor": "#6938EF",
        "brandColorDark": "#7A5AF8",
        "composerIcon": "./assets/icon.png",
        "composerIconDark": "./assets/icon.png",
        "logo": "./assets/logo.png",
        "logoDark": "./assets/logo.png"
      },
      "onboardingSkill": "./skills/setup/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Start monitoring a web page using a plain-language description of what to watch.",
              "prompt": "Watch https://sken.io/pricing for me and tell me if the price of any plan changes. Check it once an hour.",
              "tools_triggered": "sken_account_info, sken_create_job",
              "expected_behavior": "A new monitoring job is created and the assistant confirms what it set up: the URL, an AI watched area describing the plan prices, and an hourly interval. The reply includes the new job id and name. Because no notification channel is attached by default, the assistant says so instead of implying an alert will arrive."
            },
            {
              "description": "Review what changed across all monitored pages.",
              "prompt": "What changed on the pages I am monitoring in the last 7 days?",
              "tools_triggered": "sken_list_jobs, sken_list_changes",
              "expected_behavior": "A list of the changes detected on the demo account, newest first, each one naming the monitored page, the date it was detected and a link to the diff-highlighted screenshot. For at least one change the assistant looks at that screenshot and says what actually changed on the page. Pages with no changes in the window are reported as unchanged rather than omitted."
            },
            {
              "description": "Organise monitors into a group.",
              "prompt": "Create a group called Competitors and put the Sken.io Pricing monitor into it.",
              "tools_triggered": "sken_list_groups, sken_create_group, sken_list_jobs, sken_update_job",
              "expected_behavior": "The assistant checks the existing groups, creates a group named Competitors and returns its id, then assigns the named monitor to it. The reply confirms which monitor was moved and into which group."
            },
            {
              "description": "Route change alerts to an e-mail address.",
              "prompt": "Add an e-mail notification channel for skenioapp@gmail.com and send a test message so I know it works.",
              "tools_triggered": "sken_list_integration_types, sken_create_integration, sken_test_integration",
              "expected_behavior": "The assistant looks up the available channel types, creates an e-mail channel for that address and sends a test notification through it. The reply names the channel and its id and reports the result of the test send, reporting a failure plainly if the message did not go out. No mailbox access is needed; the confirmation comes from the API response."
            },
            {
              "description": "Check account usage and pause a monitor.",
              "prompt": "How many points do I have left, how many monitors are running, and which one changes most often? Pause that one.",
              "tools_triggered": "sken_account_info, sken_stats_by_job, sken_list_jobs, sken_update_job",
              "expected_behavior": "The assistant reports the current plan, remaining points and the number of active monitors, names the monitor with the most detected changes and pauses it. The reply confirms by name which monitor was paused and that it will not consume points until it is resumed."
            }
          ],
          "negative": [
            {
              "description": "A one-off factual lookup that needs a current answer, not a monitor. The model should answer from web search and not create a monitoring job.",
              "prompt": "How much does a PlayStation 5 cost on Amazon right now?"
            },
            {
              "description": "A one-off data extraction from a page, which is scraping rather than change monitoring. Sken.io detects changes over time and exports its own monitoring history, not arbitrary page content, so the model should read the page itself.",
              "prompt": "Go to https://sken.io/pricing, pull out every plan name and price, and put them in a spreadsheet for me."
            },
            {
              "description": "The word watch used about media rather than about a web page. Creating a monitor would do something the user never asked for and consume account points.",
              "prompt": "Watch this YouTube video for me and summarise the main points: https://www.youtube.com/watch?v=dQw4w9WgXcQ"
            }
          ]
        },
        "demo_recording_url": "https://sken.io/public/chatgpt_plugin_demo.mp4",
        "commerce": false,
        "commerce_description": "The connector does not sell anything and does not link users out to any purchase. No payment endpoint is exposed as a tool and no tool returns a checkout or pricing link. A Sken.io account is required and is created on sken.io before the connector is used."
      },
      "publication": {
        "release_notes": "First release of the Sken.io connector.\n\n- Set up monitoring by describing a page in plain language. Say what matters on it, for example \"the price of the main product\" or \"the list of open roles\", and Sken.io watches that, with no CSS selector or XPath to maintain.\n- Ask what changed across everything you monitor and get an answer based on the before and after screenshots of the page, with a link to the diff-highlighted image.\n- Choose how often each page is checked, from once a minute to once a day, and pause or retarget a monitor when it is no longer useful.\n- Organise monitors into groups, and see how much of your check allowance is left and which pages change most often.\n- Send change alerts to e-mail, Slack, Discord, Google Chat, webhooks or Zapier, and send a test message to confirm the channel works.\n- Take a one-off screenshot of any URL to preview a page before monitoring it."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: c1914b0fbe5d57eb9280b9bda942a5bc086299754969e56b0e5dd76e21831b6b