> uptime-robot
Monitor website uptime with UptimeRobot. Use when a user asks to monitor website availability, get alerts when a site goes down, create a public status page, or set up HTTP/ping/port monitoring.
curl "https://skillshub.wtf/TerminalSkills/skills/uptime-robot?format=md"UptimeRobot
Overview
UptimeRobot monitors websites, APIs, and servers every 5 minutes (free) or 60 seconds (paid). Sends alerts via email, SMS, Slack, Telegram, webhook when something goes down. Includes public status pages.
Instructions
Step 1: API Setup
// lib/uptime.ts — Manage monitors via UptimeRobot API
const API_KEY = process.env.UPTIMEROBOT_API_KEY!
const BASE_URL = 'https://api.uptimerobot.com/v2'
// Create a new HTTP monitor
await fetch(`${BASE_URL}/newMonitor`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
api_key: API_KEY,
friendly_name: 'Production API',
url: 'https://api.example.com/health',
type: 1, // 1=HTTP, 2=keyword, 3=ping, 4=port
interval: 300, // check every 5 minutes (seconds)
alert_contacts: 'contact_id_1-contact_id_2',
}),
})
Step 2: Get Monitor Status
// Check all monitors
const response = await fetch(`${BASE_URL}/getMonitors`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
api_key: API_KEY,
response_times: 1,
response_times_limit: 24, // last 24 response times
}),
})
const { monitors } = await response.json()
// status: 0=paused, 1=not checked, 2=up, 8=seems down, 9=down
Step 3: Status Page
Create a public status page at status.uptimerobot.com or embed on your domain. Configure in UptimeRobot dashboard → Status Pages.
Guidelines
- Free tier: 50 monitors, 5-minute intervals, email alerts.
- Pro ($7/mo): 1-minute intervals, SMS, more monitors, advanced alerts.
- For self-hosted alternative, use Uptime Kuma (open-source, unlimited).
- Combine with Uptime Kuma for internal monitoring, UptimeRobot for external.
> related_skills --same-repo
> zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
> zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
> xero-accounting
Integrate with the Xero accounting API to sync invoices, expenses, bank transactions, and contacts — and generate financial reports like P&L and balance sheet. Use when: connecting apps to Xero, automating bookkeeping workflows, syncing accounting data, or pulling financial reports programmatically.
> windsurf-rules
Configure Windsurf AI coding assistant with .windsurfrules and workspace rules. Use when: customizing Windsurf for a project, setting AI coding standards, creating team-shared Windsurf configurations, or tuning Cascade AI behavior.