jmagar/claude-homelab

homelab-health

Unified health dashboard for all configured homelab services.

First seen Apr 19, 2026

Installation

$ npx skills add jmagar/claude-homelab --skill homelab-health

Summary

  • 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.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from jmagar/claude-homelab · top by installs.

npx skills add jmagar/claude-homelab

Browse all from jmagar/claude-homelab

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 78
License LICENSE
Default branch main
Open issues 5
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,216 B
  • docs SUMMARY.md 378 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 17 installs

SKILL.md

Homelab Service Health Dashboard

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

Icon Status Meaning
reachable URL responded (any HTTP code except timeout)
unreachable URL configured but timed out or connection refused
not configured No 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.