# Uptime Self Healer

> Detect down services in Uptime Kuma and automatically restore them using Container Manager or Portainer

- Skill: `knuckles-team/uptime-self-healer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add knuckles-team/uptime-self-healer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/knuckles-team/uptime-self-healer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Knuckles-Team (https://skillmd.com/u/knuckles-team)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/knuckles-team/uptime-self-healer

---


# Uptime Kuma Self-Healer Workflow

Query Uptime Kuma monitor lists for inactive/down status metrics, auto-resolve targeting strategies, and invoke container, stack, or host interventions to heal services.

## Steps

### Step 0: read-monitor-states [skill: uptime-kuma-agent]
Retrieve current states for all configured system monitors using `uptime_kuma_monitors` with `action='get_monitors'`.

### Step 1: confirm-healing [skill: user-interaction]
Scan the response payloads to isolate monitors returning down/offline statuses (e.g., status 0). Request confirmation from the user to launch a targeted self-healing execution.
Depends On: Step 0

### Step 2: diagnose-container [skill: container-manager-mcp]
Locate and inspect the associated container cluster on the target host. Retrieve recent container event log files using `container_manager_mcp` to diagnose crash loops or startup faults.
Depends On: Step 1

### Step 3: portainer-agent
Query the Portainer environment and stack details associated with the down monitor to assess stack-level configurations.
Depends On: Step 1

### Step 4: restore-container [skill: container-manager-mcp]
Trigger service restoration commands. Restart the target container using `docker_restart_container` via `container-manager-mcp` or redeploy the corresponding stack via `portainer-agent`.
Depends On: Step 2, Step 3

### Step 5: verify-monitor-recovery [skill: uptime-kuma-agent]
Verify recovery by pulling the latest status check heartbeats via `uptime_kuma_status` with `action='get_heartbeats'` to confirm the monitor transitions back to active (online).
Depends On: Step 4

### Step 6: report-recovery [skill: user-interaction]
Deliver the final uptime status validation report showing the successful self-healing and recovery timeline.
Depends On: Step 5

## Execution

Run this workflow as a dependency-ordered DAG. Steps with no unmet `depends_on` run in parallel; dependents run after their prerequisites complete.

- **Run first (in parallel):** Step 0 — read-monitor-states; Step 1 — confirm-healing; Step 2 — diagnose-container; Step 3 — portainer-agent; Step 4 — restore-container; Step 5 — verify-monitor-recovery; Step 6 — report-recovery

**Execution:** If graph-os is reachable, offload the whole DAG via `graph_orchestrate action=execute_workflow` (or the `kg-delegate` skill) for true parallel/swarm execution. Otherwise execute the steps natively in dependency order: run steps with no unmet `depends_on` in parallel, then their dependents.

