Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/uptimerobot/ai/statsnpx skills add uptimerobot/ai --skill statsgit clone --depth 1 https://github.com/uptimerobot/aiWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00024 | $0.00888 |
| Opus 5 | $0.00012 | $0.00444 |
| Sonnet 5 | $0.00005 | $0.00178 |
| Haiku 4.5 | $0.00002 | $0.00089 |
Grade A, and why
stats scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Stats
Preflight — read first. If you cannot see any
uptimerobot:*MCP tools in your tool list, invoke theuptimerobot:setupskill before doing anything else. Do not tell the user the MCP is misconfigured —setup's Step 0 detects the common case (server connected, tools loaded after session start) and resolves it without re-keying.
Two tools:
get-monitor-stats— account-wide aggregated counts and uptime percentage.get-response-times— per-monitor response-time time series.
Both take a timeRange (see format below).
Time range format
Accepted by both tools and by list-incidents:
- Relative:
"1h"–"90d"(e.g."24h","7d","30d"). - Absolute ISO 8601 interval:
"2024-01-01T00:00:00Z/2024-01-31T23:59:59Z". Start must be before end, range must be 1h–90d.
Default is "7d" when omitted.
Get monitor stats
{ "timeRange": "7d" }
Returns account-wide aggregates:
- Counts of monitors in each state (
up,down,paused,notStarted). - Overall uptime percentage across all active monitors.
- Incident counts and total downtime duration for the range.
- Plan-level monitor cap vs. current usage.
Use this to answer "how's everything looking?" or "what's our uptime this week?".
Get response times
{
"monitorId": 800123456,
"timeRange": "24h",
"bucketSize": 300
}
Parameters:
monitorId— required.timeRange— same format as above.bucketSize— seconds per bucket for aggregation. Smaller buckets → finer granularity and more data points. Omit to let the server pick a default based on the range.
Response includes time series with min / max / average / p95 per bucket, plus overall summary stats for the range.
Examples
Last 24 hours, 5-minute buckets:
{ "monitorId": 800123456, "timeRange": "24h", "bucketSize": 300 }
Last 30 days, default bucket size:
{ "monitorId": 800123456, "timeRange": "30d" }
Custom range for incident post-mortem:
{
"monitorId": 800123456,
"timeRange": "2025-04-10T14:00:00Z/2025-04-10T18:00:00Z",
"bucketSize": 60
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 101 lines · 24 tokens per session scan A c941627290c0
stats is a skill published in the GitHub repository uptimerobot/ai (24 stars, last pushed 20d ago), licensed MIT. It adds 24 tokens to every session and 888 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
html-ppt-zhangzara-long-table
OpenDesign's unit-economics and BYOK cost model: the assumptions, the sensitivity, and why it scales. Built as a decision-grade data & finance deck for CFO, investors.
greptimedb-development-docker-image
Builds a development-only GreptimeDB Docker image from a local debug binary for local-cluster testing, and optionally pushes it to a development registry. Use when the user asks to package, build, tag, publish, or cross-build a non-release GreptimeDB or GreptimeDB Enterprise image for debugging.
greptimedb-fuzz-ci-failure-investigation
Investigate a failed GreptimeDB fuzz CI target link by downloading GitHub Actions job logs plus fuzz artifacts such as kind logs, monitor dumps, and CSV dumps, then correlate the failure with local GreptimeDB source code. Use when the user provides a failed fuzz CI target/job URL or asks to diagnose GreptimeDB fuzz CI…
api-endpoints
Adding or changing API operations in @repo/operations. One source of truth (defineOperation + a Zod schema) becomes an HTTP endpoint, an OpenAPI operation, an MCP tool, TS + Python SDK methods, a latitude CLI command, and an in-process agent tool — descriptions and contracts must be written with all of these readers…
fix-datadog-issues
Find, triage, and fix production errors captured by Datadog Error Tracking, then open a PR. Use when asked to look at "Datadog issues/incidents/errors", "find and fix bugs from Datadog", investigate the most-frequent or newest production errors, or work a specific Datadog Error Tracking issue.
database-postgres
Drizzle schema, repositories, RLS, SqlClient wiring, Postgres migrations, psql / reset, or platform mappers (toDomain / toInsertRow).