Skip to content
Back to skills

Homelab Health

ASecurity

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.

  • 73 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 26, 2026
ai-agentsgobashapi

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add jmagar/claude-homelab --skill homelab-health --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Homelab Health?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Homelab Health
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jmagar-homelab-health/badge)](https://www.skillsdirectory.com/skills/jmagar-homelab-health)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: homelab-health
description: "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."
---

# Homelab Service Health Dashboard

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

## Run the Check

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

Or from the plugin cache (when installed via Claude Code):
```bash
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.

Files in this skill

  • SKILL.md3.1 KB
  • scripts/check-health.sh4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.