Homelab Service Health Dashboard

SkillAI & models

Unified health dashboard for all configured homelab services. Use when the user wants to check service status, verify credentials work, see which services are reachable, or diagnose connectivity issues. Triggers on: 'check health', 'service status', 'what's running', 'is plex up', 'verify my setup', 'homelab health', or after running /homelab-core:setup.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Homelab Service Health Dashboard skill

What this skill tells your AI

The instructions your AI receives, as published by jmagar/claude-homelab in skills/homelab-health/SKILL.md and read by ahel’s review.

Run the health check script and present results as a clean dashboard.

Run the Check

bash ~/claude-homelab/skills/health/scripts/check-health.sh

Or from the plugin cache (when installed via Claude Code):

bash "${CLAUDE_PLUGIN_ROOT}/skills/health/scripts/check-health.sh"

Present the Dashboard

Parse the JSON output and display as a formatted table:

Service Health Dashboard
========================
Category        Service          Status        URL
--------        -------          ------        ---
Media           plex             ✓ reachable   https://plex.example.com:32400
                radarr           ✓ reachable   https://radarr.example.com
                sonarr           ⚠ unreachable https://sonarr.example.com
                overseerr        ○ not configured
                prowlarr         ✓ reachable   https://prowlarr.example.com
                tautulli         ✓ reachable   https://tautulli.example.com

Downloads       qbittorrent      ✓ reachable   https://qbit.example.com
                sabnzbd          ✓ reachable   https://sabnzbd.example.com

Infrastructure  unraid-server1   ✓ reachable   https://unraid1.example.com/graphql
                unraid-server2   ○ not configured
                unifi            ✓ reachable   https://unifi.example.com
                tailscale        ✓ reachable   (API)

Utilities       gotify           ✓ reachable   https://gotify.example.com
                linkding         ✓ reachable   https://links.example.com
                memos            ⚠ unreachable https://memos.example.com
                bytestash        ○ not configured
                paperless        ✓ reachable   https://paperless.example.com
                radicale         ✓ reachable   https://cal.example.com

Summary: 12 reachable  ·  1 unreachable  ·  5 not configured

Status Icons

IconStatusMeaning
reachableURL responded (any HTTP code except timeout)
unreachableURL configured but timed out or connection refused
not configuredNo URL set in ~/.claude-homelab/.env

Follow-Up Actions

After showing the dashboard, offer context-sensitive help:

  • Unreachable services: "Want me to help diagnose sonarr? I can check if the URL is correct or test the connection."
  • Not configured services: "You have 5 services not configured. Want to set them up now?" → offer to run /homelab-core:setup
  • All reachable: "Everything looks good! All configured services are responding."

Refresh

If the user asks to recheck a specific service, re-run the script and filter the output for that service. Don't run the full check for a single-service query.

Signals

GitHub stars
78
Forks
9
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
homelab-health
Source
github.com/jmagar/claude-homelab