From uptime
This skill should be used when the user asks to "audit monitoring", "optimize checks", "review check coverage", "fill monitoring gaps", "what am I monitoring", "find missing monitors", "update a check", "change check interval", "change contact group", "review my checks", or wants to assess monitoring completeness, fix configuration issues, or modify existing checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/uptime:monitoring-optimizationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Workflow for reviewing existing monitoring, identifying gaps, optimizing configuration, and managing checks.
Workflow for reviewing existing monitoring, identifying gaps, optimizing configuration, and managing checks.
Gather the full picture:
get_account_usage: plan limits and current consumption (check slots, per-type limits).list_checks: all checks with types, targets, and status.list_tags: how checks are grouped.list_contacts: verify notification routing exists.All four calls are independent and can run in parallel.
Organize checks by target domain:
For each domain, compare against recommended coverage:
Critical gaps (should almost always exist):
Important gaps:
Nice-to-have gaps:
Check for suboptimal configurations:
| Issue | Detection | Recommendation |
|---|---|---|
| Sensitivity = 1 | sensitivity field on location-based checks | Increase to >= 2 to reduce false positives |
| Very long intervals | interval > 10 for HTTP checks | Consider 1-5 min for critical services |
| No contact group | Empty contact_groups | Assign a contact group or checks alert silently |
| No escalation rules | Missing escalations on critical checks | Add escalation so unacknowledged alerts intensify |
| All checks same locations | Same locations array everywhere | Diversify to catch regional issues |
| Paused checks | is_paused: true | Verify if intentional or forgotten |
| No tags | Empty tags | Add domain-based tags for organization |
| No Group check per domain | Checks exist but no aggregate | Create Group with tag-based auto-selection |
| No maintenance windows | Critical checks with no scheduled maintenance | Set up windows for known maintenance periods |
| IPv4-only on dual-stack | use_ip_version = IPv4 on IPv6-capable targets | Consider ANY or explicit IPv6 checks |
Scan existing check addresses for known third-party domains (e.g. api.stripe.com, *.auth0.com). These are dependencies that should have CloudStatus monitoring.
For each detected dependency without a CloudStatus check, recommend adding one.
Structure the audit report as:
Use update_check to modify check properties in place. Only specified fields change; omitted fields retain current values.
get_check to see existing configuration.update_check with only the fields that need to change.get_check again to confirm.| Field | Notes |
|---|---|
interval | Minutes between checks. Some types have minimums (e.g. Page Speed >= 1440). |
locations | Probe locations. Only for location-based checks; never set on auto-located types. |
sensitivity | Number of confirming locations before alerting. Use >= 2. |
contact_groups | Array of contact group names/IDs. |
is_paused | true to pause, false to resume. |
tags | Replaces the full tag list. Include existing tags you want to keep. |
list_checks with tag filter to get the target set.update_check calls in parallel.get_check.Scheduled maintenance is preferred over manual pausing:
Use manual pausing only for unplanned, one-off situations.
Escalations are separate from contact groups. They define how alerts intensify:
Verify critical checks have both a contact group and escalation rules.
Common issues:
example.com, Example.com, exampleRecommend: one tag per registered domain, optional tags for environment and team.
| Service tier | HTTP interval | DNS interval | Other intervals |
|---|---|---|---|
| Critical (revenue-generating) | 1 min | 5 min | 5-10 min |
| Standard (internal tools) | 5 min | 10 min | 10-30 min |
| Low priority (informational) | 10 min | 30 min | 60 min |
| Auto-located (SSL, WHOIS, etc.) | - | - | 60-1440 min |
Use delete_check only for permanent removal. Deletion is irreversible; check history is lost. Prefer pausing for temporary deactivation.
get_contact type parsing: may fail with integer/string type mismatch on the id parameter. Use list_contacts as a workaround.Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub uptime-com/uptime-skills --plugin uptime