modules/programs/agents/shared/skills/uptime-kuma/SKILL.md
Manage Uptime Kuma monitors, tags, notifications, maintenance windows, and status pages. Use when the user asks about uptime monitoring, service health, adding monitors, checking status, or managing alerts.
npx skillsauth add MichaelVessia/nixos-config uptime-kumaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage the self-hosted Uptime Kuma instance via kuma-cli (wrapper around the
kuma binary from autokuma). All commands output JSON by default.
Variables from sops-nix secrets:
KUMA_URL - Base URL of Uptime Kuma instanceKUMA_USERNAME - Login usernameKUMA_PASSWORD - Login passwordThe kuma-cli wrapper passes these automatically as --url, --username,
--password flags.
Run kuma-cli --help for top-level commands. Run
kuma-cli <command> --help or kuma-cli <command> <subcommand> --help for
details.
kuma-cli monitor list --pretty
Parse with jq for a summary:
kuma-cli monitor list | jq '.[] | {id, name, type, active, url}'
kuma-cli monitor get ID --pretty
Monitors are defined as JSON files. Create a temp file and pass it:
cat > /tmp/monitor.json <<'EOF'
{
"type": "http",
"name": "My Service",
"url": "https://example.com",
"interval": 60,
"maxretries": 3
}
EOF
kuma-cli monitor add /tmp/monitor.json
Common monitor types:
http - HTTP(S) endpoint (fields: url, method, maxredirects, accepted_statuscodes)ping - ICMP ping (fields: hostname)port - TCP port check (fields: hostname, port)keyword - HTTP + check for keyword (fields: url, keyword)group - Group container for other monitors (fields: name)docker - Docker container (fields: docker_host, docker_container)dns - DNS record check (fields: hostname, dns_resolve_server, dns_resolve_type)To add a monitor to a group, set "parent": GROUP_ID in the JSON.
When adding a monitor to a group, first list monitors to find group IDs, then use AskUserQuestion to confirm which group.
Get the current config, modify it, and pass it back:
kuma-cli monitor get ID > /tmp/monitor.json
# Edit /tmp/monitor.json as needed
kuma-cli monitor edit /tmp/monitor.json
kuma-cli monitor delete ID
kuma-cli monitor pause ID
kuma-cli monitor resume ID
kuma-cli tag list --pretty
kuma-cli tag get ID --pretty
cat > /tmp/tag.json <<'EOF'
{
"name": "production",
"color": "#DC3545"
}
EOF
kuma-cli tag add /tmp/tag.json
kuma-cli tag edit /tmp/tag.json
kuma-cli tag delete ID
Tags are assigned to monitors via the monitor's tags array in its JSON config.
kuma-cli notification list --pretty
kuma-cli notification add /tmp/notification.json
kuma-cli notification edit /tmp/notification.json
kuma-cli notification delete ID
kuma-cli maintenance list --pretty
cat > /tmp/maintenance.json <<'EOF'
{
"title": "Scheduled maintenance",
"strategy": "manual",
"active": true
}
EOF
kuma-cli maintenance add /tmp/maintenance.json
kuma-cli maintenance pause ID
kuma-cli maintenance resume ID
kuma-cli status-page list --pretty
kuma-cli status-page get SLUG --pretty
kuma-cli status-page add /tmp/status-page.json
kuma-cli status-page edit /tmp/status-page.json
kuma-cli status-page delete SLUG
--pretty for human-readable output.--format yaml for YAML output.jq for filtering and formatting.add and edit commands accept JSON/YAML file paths as arguments, or
read from stdin.tools
User guide for the local squash-safe `stack` CLI for stacked PR/MR repair on GitHub and GitLab. Use when someone asks how to inspect, track, sync, merge, document, or undo stacked pull requests / merge requests in squash-merge repositories. Prefer this tool over GitHub's `gh stack` command for this workflow.
tools
Control herdr from inside it. Manage workspaces and tabs, split panes, spawn agents, read output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1).
development
Inspect my self-hosted AutoCaliWeb library. Use when the user asks about AutoCaliWeb, books in Calibre, OPDS status, recent imports, shelves, catalog stats, or wants to search the ebook library.
data-ai
Subscribe a YouTube channel in TubeArchivist, queue its top videos by views from recent uploads, wait for the first file, scan Jellyfin, and rename + lock the channel folder to a friendly display name. Use when the user says "add a youtube channel", "subscribe to <channel>", or wants a curated TubeArchivist + Jellyfin import for a creator.