Export Report
OVERALL SCORE
Level 4, Mostly Ready
- AI Discoverability 80 out of 100
- Agent Ease of Use 60 out of 100
- Security & Trust 88 out of 100
- GEO, AIO and AEO 64 out of 100
- SEO 92 out of 100
- Performance 94 out of 100
- Accessibility 85 out of 100
What AI sees of your website
UptimeRobot: Free Website Monitoring Service
Start monitoring in 30 seconds. Use advanced SSL, keyword and cron monitoring. Get notified by email, SMS, Slack and more. Get 50 monitors for FREE!
Next step
Turn this report into a fix workflow
2 failed checks are ready to move into MCP or CLI remediation. Generate a repair prompt, connect the scanner to your coding agent, or open the integration docs before your next rescan.
| Metric | Score | Status | Passed | Failed | Warning | Evidence |
|---|---|---|---|---|---|---|
| AI Discoverability | 80 | Mostly ready | 41 | 1 | 0 | View details |
| Discoverability | 100 | Strong | 10 | 0 | 0 | |
| Content Readiness | 86 | Mostly ready | 28 | 0 | 0 | |
| Bot Access Control | 58 | Needs work | 3 | 1 | 0 | View details |
| Agent Ease of Use | 60 | Needs work | 18 | 4 | 2 | View details |
| API | 92 | Strong | 12 | 0 | 0 | |
| Auth | 48 | Priority fix | 1 | 0 | 0 | |
| MCP | 50 | Needs work | 2 | 0 | 0 | |
| Skill Discovery | 45 | Priority fix | 1 | 3 | 2 | View details |
| Google Agentic Browsing | 67 | Needs work | 2 | 1 | 0 | View details |
| GEO, AIO and AEO | 64 | Needs work | 8 | 0 | 0 | |
| GEO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AEO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| SEO | 92 | Strong | 9 | 0 | 0 | |
| SEO | 92 | Strong | 9 | 0 | 0 | |
| Security & Trust | 88 | Mostly ready | 24 | 0 | 0 | |
| Security & Trust | 88 | Mostly ready | 24 | 0 | 0 | |
| Performance | 94 | Strong | 16 | 0 | 0 | |
| Performance | 94 | Strong | 16 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
Agent Ease of UseSkill DiscoveryEmerging recommendation
Agent Skills index
Agent Skills index failed at "Validate discovery index schema".
70 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
Agent Skills index
Agent Skills index failed at "Validate discovery index schema".
Needs attention
Agent Skills index
Issue
Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.
Details
Why it matters
An Agent Skills index lets agents discover task-specific instructions through a small trusted index, then verify and load only the skill artifacts they need.
Check name
Agent Skills index
Score
30/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish an Agent Skills discovery index that advertises digest-pinned SKILL.md or archive artifacts.
Result
Agent Skills index failed at "Validate discovery index schema".
Validation steps
Validate discovery index schema
Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.
Agent Skills discovery index schema is invalid
Top-level issues
- $schema must be https://schemas.agentskills.io/discovery/0.2.0/schema.json
Skill warnings
[ { "index": 0, "valid": true, "name": "bulk-pause", "type": "skill-md", "description": "Pause (or resume) many UptimeRobot monitors at once — by tag, search term, or state — around a deployment or maintenance window.", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md", "digest": "sha256:103574fd3f608b30fa7e79aa01bd87136a847c7603ee4cbf4c50d7b51bfc48ac", "resolvedUrl": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md", "originClass": "external", "missing": [], "invalid": [], "warnings": [ "description should explain when to use the skill", "artifact URL is cross-origin; clients must treat it as a separate trust boundary" ] }, { "index": 1, "valid": true, "name": "conventions", "type": "skill-md", "description": "Conventions and gotchas for every UptimeRobot MCP tool call — monitor types, URL formats, HEARTBEAT URL handling, discovery-before-writes, pagination, time ranges, error codes, and output style. Use whenever you call any uptimerobot:* tool.", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/conventions/SKILL.md", "digest": "sha256:374f432a0a6c9fdb8d41802278cfbb12907c1842765529a7639d121cdb8a1bd9", "resolvedUrl": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/conventions/SKILL.md", "originClass": "external", "missing": [], "invalid": [], "warnings": [ "artifact URL is cross-origin; clients must treat it as a separate trust boundary" ] }, { "index": 2, "valid": true, "name": "create-api-monitor", "type": "skill-md", "description": "Create an API monitor that calls an HTTP endpoint and runs up to five JSON/header assertions combined with AND/OR logic; alerts when assertions fail.", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-api-monitor/SKILL.md", "digest": "sha256:5bd8432dd21f630c2be6b2ed9d7b0f62034443b665e2d21af646d439f56c8b0a", "resolvedUrl": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-api-monitor/SKILL.md", "originClass": "external", "missing": [], "invalid": [], "warnings": [ "artifact URL is cross-origin; clients must treat it as a separate trust boundary" ] }, { "index": 3, "valid": true, "name": "create-dns-monitor", "type": "skill-md", "description": "Create a DNS monitor that resolves records for a domain and alerts when they change or the DNS server does not respond.", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-dns-monitor/SKILL.md", "digest": "sha256:be85b5fd74a9dfdfcf8d7df3f8862e28686de068331ddc575c3b5970f03008d1", "resolvedUrl": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-dns-monitor/SKILL.md", "originClass": "external", "missing": [], "invalid": [], "warnings": [ "artifact URL is cross-origin; clients must treat it as a separate trust boundary" ] }, { "truncated": true, "omittedCount": 17, "originalCount": 21 } ]Validate skill entries
One or more Agent Skills entries have quality or trust warnings.
One or more skill entries are invalid
Skill entry findings
[ { "index": 0, "valid": true, "name": "bulk-pause", "type": "skill-md", "description": "Pause (or resume) many UptimeRobot monitors at once — by tag, search term, or state — around a deployment or maintenance window.", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md", "digest": "sha256:103574fd3f608b30fa7e79aa01bd87136a847c7603ee4cbf4c50d7b51bfc48ac", "resolvedUrl": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md", "originClass": "external", "missing": [], "invalid": [], "warnings": [ "description should explain when to use the skill", "artifact URL is cross-origin; clients must treat it as a separate trust boundary" ] }, { "index": 1, "valid": true, "name": "conventions", "type": "skill-md", "description": "Conventions and gotchas for every UptimeRobot MCP tool call — monitor types, URL formats, HEARTBEAT URL handling, discovery-before-writes, pagination, time ranges, error codes, and output style. Use whenever you call any uptimerobot:* tool.", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/conventions/SKILL.md", "digest": "sha256:374f432a0a6c9fdb8d41802278cfbb12907c1842765529a7639d121cdb8a1bd9", "resolvedUrl": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/conventions/SKILL.md", "originClass": "external", "missing": [], "invalid": [], "warnings": [ "artifact URL is cross-origin; clients must treat it as a separate trust boundary" ] }, { "index": 2, "valid": true, "name": "create-api-monitor", "type": "skill-md", "description": "Create an API monitor that calls an HTTP endpoint and runs up to five JSON/header assertions combined with AND/OR logic; alerts when assertions fail.", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-api-monitor/SKILL.md", "digest": "sha256:5bd8432dd21f630c2be6b2ed9d7b0f62034443b665e2d21af646d439f56c8b0a", "resolvedUrl": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-api-monitor/SKILL.md", "originClass": "external", "missing": [], "invalid": [], "warnings": [ "artifact URL is cross-origin; clients must treat it as a separate trust boundary" ] }, { "index": 3, "valid": true, "name": "create-dns-monitor", "type": "skill-md", "description": "Create a DNS monitor that resolves records for a domain and alerts when they change or the DNS server does not respond.", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-dns-monitor/SKILL.md", "digest": "sha256:be85b5fd74a9dfdfcf8d7df3f8862e28686de068331ddc575c3b5970f03008d1", "resolvedUrl": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-dns-monitor/SKILL.md", "originClass": "external", "missing": [], "invalid": [], "warnings": [ "artifact URL is cross-origin; clients must treat it as a separate trust boundary" ] }, { "truncated": true, "omittedCount": 17, "originalCount": 21 } ]Verify advertised artifacts
One or more advertised skill artifacts could not be fetched or failed raw-byte digest verification.
Advertised skill artifacts could not be verified
Artifact verification failures
[ { "index": 0, "name": "bulk-pause", "type": "skill-md", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md", "originClass": "external", "statusCode": 200, "contentType": "text/plain; charset=utf-8", "byteLength": 4654, "advertisedDigest": "sha256:103574fd3f608b30fa7e79aa01bd87136a847c7603ee4cbf4c50d7b51bfc48ac", "actualDigest": "sha256:a7d6e1906f63b0b9fecb316eb0de5127b33175eef5cbad299421a70246fd7a61", "digestMatches": false, "content": { "discarded": true, "reason": "[discarded fetched document data]", "originalType": "object", "originalKeys": [ "valid", "warnings", "failures", "security", "quality", "frontmatter" ] } }, { "index": 11, "name": "incident-response", "type": "skill-md", "url": "https://raw.githubusercontent.com/uptimerobot/ai/main/skills/incident-response/SKILL.md", "originClass": "external", "statusCode": 200, "contentType": "text/plain; charset=utf-8", "byteLength": 7355, "advertisedDigest": "sha256:2524b777871d3752bec8427c3295cc53fb2b5956305ed02e81df7d7de7d8a2be", "actualDigest": "sha256:3ffb691cee5d03c172a268e2954c53d5c29542b23c2d0a4a2b11044ced5e1949", "digestMatches": false, "content": { "discarded": true, "reason": "[discarded fetched document data]", "originalType": "object", "originalKeys": [ "valid", "warnings", "failures", "security", "quality", "frontmatter" ] } } ]Validate skill content
description does not clearly state when an agent should activate the skill.
Skill artifact content is invalid
Skill content findings
- description does not clearly state when an agent should activate the skill.
- description does not clearly state when an agent should activate the skill.
- description does not clearly state when an agent should activate the skill.
- description does not clearly state when an agent should activate the skill.
{ "truncated": true, "omittedCount": 2, "originalCount": 6 }
Review skill artifact security
SKILL.md contains prompt-injection-like instructions.
Skill artifacts contain security findings
Agent Skills security findings
- SKILL.md contains prompt-injection-like instructions.
- SKILL.md references external URLs; fetched content is an additional trust boundary (https://mcp.uptimerobot.com/mcp`, https://heartbeat.uptimerobot.com/m, https://...`).
- SKILL.md contains prompt-injection-like instructions.
- SKILL.md references external URLs; fetched content is an additional trust boundary (https://api.example.com/health, https://api.example.com/v1/orders/check).
{ "truncated": true, "omittedCount": 16, "originalCount": 20 }
Evidence log5 steps · 89 lines
Validate discovery index schema [fail]! Agent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.INFOValidate discovery index schemaINFOParse Agent Skills index JSON validJson=true contentTypeCompatible=trueFAILCompare $schema URI actual="https://agentskills.dev/schemas/index.v0.2.0.json" expected="https://schemas.agentskills.io/discovery/0.2.0/schema.json"FAILCompare top-level schema issue count actual=1 expected=0FAILCompare unknown top-level field count actual=0 expected=0FAILAgent Skills index must use $schema https://schemas.agentskills.io/discovery/0.2.0/schema.json.Validate skill entries [warning]! One or more Agent Skills entries have quality or trust warnings.INFOValidate skill entriesWARNCompare advertised skill count actual=21 expected="> 0"WARNCompare valid skill entry count actual=21 expected="same as advertised skill count"WARNSkill entry warning skill={"index":0,"valid":true,"name":"bulk-pause","type":"skill-md","description":"Pause (or resume) many UptimeRobot monitors at once — by tag, search term, or state — around a deployment or maintenance window.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md","digest":"sha256:103574fd3f608b30fa7e79aa01bd87136a847c7603ee4cbf4c50d7b51bfc48ac","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["description should explain when to use the skill","artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":1,"valid":true,"name":"conventions","type":"skill-md","description":"Conventions and gotchas for every UptimeRobot MCP tool call — monitor types, URL formats, HEARTBEAT URL handling, discovery-before-writes, pagination, time ranges, error codes, and output style. Use whenever you call any uptimerobot:* tool.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/conventions/SKILL.md","digest":"sha256:374f432a0a6c9fdb8d41802278cfbb12907c1842765529a7639d121cdb8a1bd9","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/conventions/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":2,"valid":true,"name":"create-api-monitor","type":"skill-md","description":"Create an API monitor that calls an HTTP endpoint and runs up to five JSON/header assertions combined with AND/OR logic; alerts when assertions fail.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-api-monitor/SKILL.md","digest":"sha256:5bd8432dd21f630c2be6b2ed9d7b0f62034443b665e2d21af646d439f56c8b0a","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-api-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":3,"valid":true,"name":"create-dns-monitor","type":"skill-md","description":"Create a DNS monitor that resolves records for a domain and alerts when they change or the DNS server does not respond.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-dns-monitor/SKILL.md","digest":"sha256:be85b5fd74a9dfdfcf8d7df3f8862e28686de068331ddc575c3b5970f03008d1","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-dns-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":4,"valid":true,"name":"create-heartbeat-monitor","type":"skill-md","description":"Create a HEARTBEAT monitor (cron/job monitor) that expects the target to ping a generated URL on a schedule; alerts when expected pings stop arriving.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-heartbeat-monitor/SKILL.md","digest":"sha256:bd39d05df51ebeb72fda79d090bcb2d6fc2e21ae233453534f3d2cb8c7b51a73","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-heartbeat-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":5,"valid":true,"name":"create-http-monitor","type":"skill-md","description":"Create an HTTP monitor in UptimeRobot to check that a URL returns a successful response on an interval.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-http-monitor/SKILL.md","digest":"sha256:6312e052e18d3eded30d933344d18914f2d2a933248c72569f27607d03e8e280","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-http-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":6,"valid":true,"name":"create-keyword-monitor","type":"skill-md","description":"Create a KEYWORD monitor that fetches a URL and alerts when a given keyword appears (or is missing) in the response body.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-keyword-monitor/SKILL.md","digest":"sha256:8ca516577e822791bf23aa7c54ae6da2fd006c6e7a68447eee132772c5ab03c0","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-keyword-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":7,"valid":true,"name":"create-ping-monitor","type":"skill-md","description":"Create a PING monitor that sends ICMP echo requests to a hostname or IP and alerts on packet loss / timeout.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-ping-monitor/SKILL.md","digest":"sha256:2cb19b8d3acdaf8327e92937b5003144767997a24d9ebe12747808bf1b1d6099","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-ping-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":8,"valid":true,"name":"create-port-monitor","type":"skill-md","description":"Create a PORT monitor that opens a TCP connection to a host:port and alerts when the port is not accepting connections.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-port-monitor/SKILL.md","digest":"sha256:a36835be942794ef26445f3919ce412cf79afcf41c36c91bd56436edc1d464fa","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-port-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":9,"valid":true,"name":"create-udp-monitor","type":"skill-md","description":"Create a UDP monitor that sends a UDP packet to a host:port and optionally checks the response keyword or packet-loss threshold.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-udp-monitor/SKILL.md","digest":"sha256:88045a134443edfb3cd5c59fef37cb568f1077f3d499459c92cce7b7644fb216","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-udp-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":10,"valid":true,"name":"errors","type":"skill-md","description":"Handle UptimeRobot MCP errors — codes, meanings, retry policy, and user-facing recovery suggestions.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/errors/SKILL.md","digest":"sha256:fc94651287aef392c8e53ba90f43ea7bc28c1387eb0552487c777312d62feaf2","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/errors/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["description should explain when to use the skill","artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":11,"valid":true,"name":"incident-response","type":"skill-md","description":"End-to-end incident workflow — find what's down, diagnose it, pause flapping monitors, and verify recovery.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/incident-response/SKILL.md","digest":"sha256:2524b777871d3752bec8427c3295cc53fb2b5956305ed02e81df7d7de7d8a2be","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/incident-response/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":12,"valid":true,"name":"incidents","type":"skill-md","description":"List downtime incidents and fetch per-incident checker locations, IPs, logs, and traceroute data.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/incidents/SKILL.md","digest":"sha256:a9d350be579e2ee83197edcd27a1b1e90346d2fb280c2521e009fc2941e188ec","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/incidents/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["description should explain when to use the skill","artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":13,"valid":true,"name":"list-integrations","type":"skill-md","description":"List the alert-contact integrations configured on the UptimeRobot account so you can attach them to new or existing monitors.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/list-integrations/SKILL.md","digest":"sha256:637758b549d7ab49d576a76da2ae71cf7255d4a55e5051e0fd4e6b5c2dc6d931","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/list-integrations/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":14,"valid":true,"name":"manage-monitors","type":"skill-md","description":"List monitors, fetch details, and pause or resume monitors in UptimeRobot.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/manage-monitors/SKILL.md","digest":"sha256:fe56d2f79b4784c3945eece4087f42d84eea21d1950834a42cc973a954d97b1d","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/manage-monitors/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["description should explain when to use the skill","artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":15,"valid":true,"name":"monitor-health-summary","type":"skill-md","description":"Generate a one-shot health snapshot — monitor counts by state, which are currently down, recent incident count, and total downtime — useful as a daily brief or ad-hoc check.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/monitor-health-summary/SKILL.md","digest":"sha256:5f503e9f3573c8debb444eafb80fd0ed8a75146c3f8fb24a4701d408bfab3c46","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/monitor-health-summary/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["description should explain when to use the skill","artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":16,"valid":true,"name":"quick-monitor-setup","type":"skill-md","description":"Create a free UptimeRobot HTTPS uptime monitor for someone using ONLY their email, no UptimeRobot account, no API key, and no MCP/OAuth. The agent calls an unauthenticated proof-of-work-gated API; the owner confirms with one click in an activation email. Use when a user wants monitoring but is not signed in to UptimeRobot and has no API key, the zero-setup path.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/quick-monitor-setup/SKILL.md","digest":"sha256:d220ca7bdd34780b18bb00f0cfde26e59fc0f9edf8549de2744353689f6389c4","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/quick-monitor-setup/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":17,"valid":true,"name":"setup","type":"skill-md","description":"Connect and authenticate the UptimeRobot MCP server (OAuth via mcp-remote), OR diagnose why `uptimerobot:*` MCP tools aren't visible in the current session. Invoke this skill any time you cannot see UptimeRobot tools, before telling the user the MCP is misconfigured — Step 0 detects the most common case (server already connected, tools loaded after session start) and resolves it without re-authenticating. Also invoke on `-31001` auth errors or first-time setup.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/setup/SKILL.md","digest":"sha256:cda5acaa06bc709560cc972eaa4941919d6b1ce2b6c1f5b01254ed5460598ab0","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/setup/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["description should explain when to use the skill","artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":18,"valid":true,"name":"sla-report","type":"skill-md","description":"Generate a per-monitor SLA report for a time range — uptime percentage, total downtime, and incident count per monitor — formatted as Markdown for sharing in Confluence, Slack, or post-mortem docs.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/sla-report/SKILL.md","digest":"sha256:c22ddc259222d7e7d8e6f4ca39a9962ce7add5478e734f41078181d013134e6c","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/sla-report/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":19,"valid":true,"name":"stats","type":"skill-md","description":"Query aggregated monitor statistics (up/down/paused counts, uptime percentage) and per-monitor response-time time series.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/stats/SKILL.md","digest":"sha256:c941627290c06e4f150277bb41713a644d6a19be2eee759c5b95af3f8a28b370","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/stats/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["description should explain when to use the skill","artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNSkill entry warning skill={"index":20,"valid":true,"name":"update-monitor","type":"skill-md","description":"Modify an existing UptimeRobot monitor — rename, change URL/interval, swap alert contacts, retag, tweak HTTP/keyword/API/heartbeat settings, and toggle SSL or domain reminders.","url":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/update-monitor/SKILL.md","digest":"sha256:54371c36b0a30c4ab9f7811e4d26121a7a74111d8f5e774629d8a3d0643fdfb8","resolvedUrl":"https://raw.githubusercontent.com/uptimerobot/ai/main/skills/update-monitor/SKILL.md","originClass":"external","missing":[],"invalid":[],"warnings":["description should explain when to use the skill","artifact URL is cross-origin; clients must treat it as a separate trust boundary"]}WARNOne or more Agent Skills entries have quality or trust warnings.Verify advertised artifacts [fail]! One or more advertised skill artifacts could not be fetched or failed raw-byte digest verification.INFOVerify advertised artifactsFAILCompare artifact fetch count actual=12 expected=21FAILArtifact fetch or digest verification failed name="bulk-pause" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md" statusCode=200 byteLength=4654 advertisedDigest="sha256:103574fd3f608b30fa7e79aa01bd87136a847c7603ee4cbf4c50d7b51bfc48ac" actualDigest="sha256:a7d6e1906f63b0b9fecb316eb0de5127b33175eef5cbad299421a70246fd7a61"PASSArtifact fetched and digest matched name="conventions" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/conventions/SKILL.md" statusCode=200 byteLength=3336 advertisedDigest="sha256:374f432a0a6c9fdb8d41802278cfbb12907c1842765529a7639d121cdb8a1bd9" actualDigest="sha256:374f432a0a6c9fdb8d41802278cfbb12907c1842765529a7639d121cdb8a1bd9"PASSArtifact fetched and digest matched name="create-api-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-api-monitor/SKILL.md" statusCode=200 byteLength=3978 advertisedDigest="sha256:5bd8432dd21f630c2be6b2ed9d7b0f62034443b665e2d21af646d439f56c8b0a" actualDigest="sha256:5bd8432dd21f630c2be6b2ed9d7b0f62034443b665e2d21af646d439f56c8b0a"PASSArtifact fetched and digest matched name="create-dns-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-dns-monitor/SKILL.md" statusCode=200 byteLength=2528 advertisedDigest="sha256:be85b5fd74a9dfdfcf8d7df3f8862e28686de068331ddc575c3b5970f03008d1" actualDigest="sha256:be85b5fd74a9dfdfcf8d7df3f8862e28686de068331ddc575c3b5970f03008d1"PASSArtifact fetched and digest matched name="create-heartbeat-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-heartbeat-monitor/SKILL.md" statusCode=200 byteLength=3312 advertisedDigest="sha256:bd39d05df51ebeb72fda79d090bcb2d6fc2e21ae233453534f3d2cb8c7b51a73" actualDigest="sha256:bd39d05df51ebeb72fda79d090bcb2d6fc2e21ae233453534f3d2cb8c7b51a73"PASSArtifact fetched and digest matched name="create-http-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-http-monitor/SKILL.md" statusCode=200 byteLength=3879 advertisedDigest="sha256:6312e052e18d3eded30d933344d18914f2d2a933248c72569f27607d03e8e280" actualDigest="sha256:6312e052e18d3eded30d933344d18914f2d2a933248c72569f27607d03e8e280"PASSArtifact fetched and digest matched name="create-keyword-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-keyword-monitor/SKILL.md" statusCode=200 byteLength=2920 advertisedDigest="sha256:8ca516577e822791bf23aa7c54ae6da2fd006c6e7a68447eee132772c5ab03c0" actualDigest="sha256:8ca516577e822791bf23aa7c54ae6da2fd006c6e7a68447eee132772c5ab03c0"PASSArtifact fetched and digest matched name="create-ping-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-ping-monitor/SKILL.md" statusCode=200 byteLength=2229 advertisedDigest="sha256:2cb19b8d3acdaf8327e92937b5003144767997a24d9ebe12747808bf1b1d6099" actualDigest="sha256:2cb19b8d3acdaf8327e92937b5003144767997a24d9ebe12747808bf1b1d6099"PASSArtifact fetched and digest matched name="create-port-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-port-monitor/SKILL.md" statusCode=200 byteLength=2277 advertisedDigest="sha256:a36835be942794ef26445f3919ce412cf79afcf41c36c91bd56436edc1d464fa" actualDigest="sha256:a36835be942794ef26445f3919ce412cf79afcf41c36c91bd56436edc1d464fa"PASSArtifact fetched and digest matched name="create-udp-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-udp-monitor/SKILL.md" statusCode=200 byteLength=2445 advertisedDigest="sha256:88045a134443edfb3cd5c59fef37cb568f1077f3d499459c92cce7b7644fb216" actualDigest="sha256:88045a134443edfb3cd5c59fef37cb568f1077f3d499459c92cce7b7644fb216"PASSArtifact fetched and digest matched name="errors" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/errors/SKILL.md" statusCode=200 byteLength=4347 advertisedDigest="sha256:fc94651287aef392c8e53ba90f43ea7bc28c1387eb0552487c777312d62feaf2" actualDigest="sha256:fc94651287aef392c8e53ba90f43ea7bc28c1387eb0552487c777312d62feaf2"FAILArtifact fetch or digest verification failed name="incident-response" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/incident-response/SKILL.md" statusCode=200 byteLength=7355 advertisedDigest="sha256:2524b777871d3752bec8427c3295cc53fb2b5956305ed02e81df7d7de7d8a2be" actualDigest="sha256:3ffb691cee5d03c172a268e2954c53d5c29542b23c2d0a4a2b11044ced5e1949"FAILOne or more advertised skill artifacts could not be fetched or failed raw-byte digest verification.Validate skill content [warning]! description does not clearly state when an agent should activate the skill.INFOValidate skill contentWARNCompare skill artifact content failures actual=0 expected=0 name="bulk-pause" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/bulk-pause/SKILL.md"WARNSkill content validation warning name="bulk-pause" warning="description does not clearly state when an agent should activate the skill."WARNCompare skill artifact content failures actual=0 expected=0 name="conventions" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/conventions/SKILL.md"WARNCompare skill artifact content failures actual=0 expected=0 name="create-api-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-api-monitor/SKILL.md"WARNCompare skill artifact content failures actual=0 expected=0 name="create-dns-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-dns-monitor/SKILL.md"WARNCompare skill artifact content failures actual=0 expected=0 name="create-heartbeat-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-heartbeat-monitor/SKILL.md"WARNCompare skill artifact content failures actual=0 expected=0 name="create-http-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-http-monitor/SKILL.md"WARNSkill content validation warning name="create-http-monitor" warning="description does not clearly state when an agent should activate the skill."WARNCompare skill artifact content failures actual=0 expected=0 name="create-keyword-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-keyword-monitor/SKILL.md"WARNCompare skill artifact content failures actual=0 expected=0 name="create-ping-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-ping-monitor/SKILL.md"WARNSkill content validation warning name="create-ping-monitor" warning="description does not clearly state when an agent should activate the skill."WARNCompare skill artifact content failures actual=0 expected=0 name="create-port-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-port-monitor/SKILL.md"WARNCompare skill artifact content failures actual=0 expected=0 name="create-udp-monitor" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/create-udp-monitor/SKILL.md"WARNSkill content validation warning name="create-udp-monitor" warning="description does not clearly state when an agent should activate the skill."WARNCompare skill artifact content failures actual=0 expected=0 name="errors" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/errors/SKILL.md"WARNSkill content validation warning name="errors" warning="description does not clearly state when an agent should activate the skill."WARNCompare skill artifact content failures actual=0 expected=0 name="incident-response" type="skill-md" url="https://raw.githubusercontent.com/uptimerobot/ai/main/skills/incident-response/SKILL.md"WARNSkill content validation warning name="incident-response" warning="description does not clearly state when an agent should activate the skill."WARNdescription does not clearly state when an agent should activate the skill.Review skill artifact security [fail]! SKILL.md contains prompt-injection-like instructions.INFOReview skill artifact securityFAILCompare security finding count actual=20 expected=0FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references external URLs; fetched content is an additional trust boundary (https://mcp.uptimerobot.com/mcp`, https://heartbeat.uptimerobot.com/m, https://...`)."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references external URLs; fetched content is an additional trust boundary (https://api.example.com/health, https://api.example.com/v1/orders/check)."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references external URLs; fetched content is an additional trust boundary (https://example.com`)."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references external URLs; fetched content is an additional trust boundary (https://heartbeat.uptimerobot.com/m, https://heartbeat.uptimerobot.com/m800123456-abcd1234)."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references external URLs; fetched content is an additional trust boundary (https://api.example.com/health, https://internal.example.com/api/v1/health)."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references external URLs; fetched content is an additional trust boundary (https://app.example.com/login, https://www.example.com/)."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references external URLs; fetched content is an additional trust boundary (https://host.example.com`)."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references shell or code-execution patterns that can modify systems, fetch remote code, or move data."WARNAgent Skills artifact security warning finding="SKILL.md references external URLs; fetched content is an additional trust boundary (https://host:443`)."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."WARNAgent Skills artifact security warning finding="SKILL.md references shell or code-execution patterns that can modify systems, fetch remote code, or move data."FAILUnsafe Agent Skills artifact finding finding="SKILL.md contains prompt-injection-like instructions."FAILSKILL.md contains prompt-injection-like instructions.
AI DiscoverabilityBot Access ControlEstablished
AI bot rules in robots.txt
AI bot rules in robots.txt failed at "Classify AI crawler rules".
69 Fail
AI DiscoverabilityBot Access ControlEstablished
AI bot rules in robots.txt
AI bot rules in robots.txt failed at "Classify AI crawler rules".
Needs attention
AI bot rules in robots.txt
Issue
No explicit User-agent rules were found for major AI crawler tokens.
Details
Why it matters
AI crawler product tokens have different meanings. Explicit robots.txt groups make training, search, and retrieval access policy auditable for compliant crawler operators.
Check name
AI bot rules in robots.txt
Score
31/100
Status
fail
Category
Bot Access Control
Maturity
Established
Goal
Declare deliberate robots.txt rules for major AI training, AI search, user-triggered, and dataset crawlers.
Result
AI bot rules in robots.txt failed at "Classify AI crawler rules".
Validation steps
Classify AI crawler rules
No explicit User-agent rules were found for major AI crawler tokens.
robots.txt lacks explicit AI crawler rules
Evidence log1 step · 6 lines
Classify AI crawler rules [fail]! No explicit User-agent rules were found for major AI crawler tokens.INFOClassify AI crawler rulesINFOParsing User-agent groups and Allow/Disallow records for known AI crawler tokens evaluatedPath="/"INFOEvaluating exact User-agent matches before wildcard fallback exactAiPolicyCount=0 totalCrawlerTokens=18FAILNo explicit AI crawler User-agent groups were found examplesExpected=["GPTBot","OAI-SearchBot","ClaudeBot","Google-Extended","CCBot"]FAILCompare explicit AI crawler coverage actual=0 expected="> 0 explicit non-search AI crawler policies" missingTokens=["GPTBot","OAI-SearchBot","ChatGPT-User","ClaudeBot","Claude-SearchBot","Claude-User","Google-Extended","Applebot-Extended","Amazonbot","Amzn-SearchBot","Amzn-User","PerplexityBot"]INFOResolved effective root-path policy for crawler tokens blocked=0 allowed=21 unspecified=0Agent Ease of UseGoogle Agentic BrowsingBrowser audit
Accessibility tree is not well-formed
100 Fail
Agent Ease of UseGoogle Agentic BrowsingBrowser audit
Accessibility tree is not well-formed
Check name
Accessibility tree is not well-formed
Score
0/100
Status
fail
Device
desktop
Category
Google Agentic Browsing
Fix guidance
A well-formed [accessibility tree](http://goo.gle/lighthouse-agentic-a11y) helps AI agents to navigate and interact with the page.
Evidence
{
"description": "A well-formed [accessibility tree](http://goo.gle/lighthouse-agentic-a11y) helps AI agents to navigate and interact with the page."
}Sign in to see 30 other issues and the full report
Create a free account to unlock every issue, evidence details, exports, and higher free limits.
Fix with MCP or CLI
Use this report as the handoff into remediation. Generate a coding-agent prompt with the failing checks attached, or jump to the MCP and CLI setup docs before your next rescan.
Score history
Public scan score over time
Public reports for this website origin. Select any point or report link to open that canonical report.
| Scan date | Score | Readiness | Report |
|---|---|---|---|
| 76/100 | Level 4, Mostly Ready | Current report |