/ha-integration-health
Detect dropped HA integrations by computing per-domain unavailable-entity ratios from the latest context snapshot. Flags domains where most entities are unavailable, suggesting the integration lost its connection. Runs daily as a routine via reflect --check-id
Claude Code
$ npx -y skills add gtapps/hermitd --skill ha-integration-health --agent claude-code
Codex
$ npx skills add gtapps/hermitd --skill ha-integration-health -a codex -y
Cursor
$ npx skills add gtapps/hermitd --skill ha-integration-health -a cursor -y
Gemini CLI
$ npx skills add gtapps/hermitd --skill ha-integration-health -a gemini-cli -y
GitHub Copilot
$ npx skills add gtapps/hermitd --skill ha-integration-health -a github-copilot -y
OpenCode
$ npx skills add gtapps/hermitd --skill ha-integration-health -a opencode -y
Windsurf
$ npx skills add gtapps/hermitd --skill ha-integration-health -a windsurf -y
SKILL.md
ha-integration-health.SKILL.mdname: ha-integration-health
description: Detect dropped HA integrations by computing per-domain unavailable-entity ratios from the latest context snapshot. Flags domains where most entities are unavailable, suggesting the integration lost its connection. Runs daily as a routine via reflect --check-id ha-integration-health --check hermitd-homeassistant:ha-integration-health.
allowed-tools:
- Bash
HA Integration Health
Purpose
When an HA integration loses its connection (lost WiFi, API change, expired token), its entities go `unavailable`. This skill reads the latest normalized snapshot, groups entities by domain, and flags domains with a high unavailable ratio.
Steps
Run the integration-health check via the CLI:
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha integration-healthThe CLI:
- Checks that `snapshot-ha-normalized-latest.json` exists and is fresh (< 24h). If stale or missing, runs `ha refresh-context` first to bring it up to date, then proceeds with analysis.
- Groups entities by domain prefix, computes unavailable ratios, and flags domains where `total >= 3` AND `ratio >= 0.5`.
- Writes `.hermit/state/integration-health-degraded-domains.json` — a machine-readable state artifact consumed by `ha-analyze-patterns` (via `silence.ts`) to suppress overlapping `long_unavailable` findings.
- Prints one JSON object: `date`, `scanned_domains` and `degraded` (each entry `domain`, `unavailable`, `total`, `percent`), or `{"date","status":"skipped","reason","detail"}` with `reason` `refresh_failed` (snapshot stale or missing and HA unreachable) or `snapshot_unreadable`.
Output contract
reflect --check-id ha-integration-health --check hermitd-homeassistant:ha-integration-health routes the findings block through the proposal pipeline. Render it from the JSON in this fixed shape, one line per `degraded` entry with `percent` to one decimal:
ha-integration-health findings — <date>
Degraded domains: N
- <domain>: <unavailable>/<total> entities unavailable (<percent>%)
If `degraded` is empty: `No actionable findings. (<scanned_domains> domains scanned)`. If `reason` is `refresh_failed`: `No actionable findings. (skipped: snapshot stale, refresh failed — <detail>)`. If `reason` is `snapshot_unreadable`: `No actionable findings. (skipped: snapshot unreadable — <detail>)`.
Keep the output to this shape: no prose, no extra sections.
Read more
name: ha-integration-health description: Detect dropped HA integrations by computing per-domain unavailable-entity ratios from the latest context snapshot. Flags domains where most entities are unavailable, suggesting the integration lost its connection. Runs daily as a routine via reflect --check-id ha-integration-health --check hermitd-homeassistant:ha-integration-health. allowed-tools: - Bash
HA Integration Health
Purpose
When an HA integration loses its connection (lost WiFi, API change, expired token), its entities go `unavailable`. This skill reads the latest normalized snapshot, groups entities by domain, and flags domains with a high unavailable ratio.
Steps
Run the integration-health check via the CLI:
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha integration-healthThe CLI:
- Checks that `snapshot-ha-normalized-latest.json` exists and is fresh (< 24h). If stale or missing, runs `ha refresh-context` first to bring it up to date, then proceeds with analysis.
- Groups entities by domain prefix, computes unavailable ratios, and flags domains where `total >= 3` AND `ratio >= 0.5`.
- Writes `.hermit/state/integration-health-degraded-domains.json` — a machine-readable state artifact consumed by `ha-analyze-patterns` (via `silence.ts`) to suppress overlapping `long_unavailable` findings.
- Prints one JSON object: `date`, `scanned_domains` and `degraded` (each entry `domain`, `unavailable`, `total`, `percent`), or `{"date","status":"skipped","reason","detail"}` with `reason` `refresh_failed` (snapshot stale or missing and HA unreachable) or `snapshot_unreadable`.
Output contract
reflect --check-id ha-integration-health --check hermitd-homeassistant:ha-integration-health routes the findings block through the proposal pipeline. Render it from the JSON in this fixed shape, one line per `degraded` entry with `percent` to one decimal:
ha-integration-health findings — <date> Degraded domains: N - <domain>: <unavailable>/<total> entities unavailable (<percent>%)
If `degraded` is empty: `No actionable findings. (<scanned_domains> domains scanned)`. If `reason` is `refresh_failed`: `No actionable findings. (skipped: snapshot stale, refresh failed — <detail>)`. If `reason` is `snapshot_unreadable`: `No actionable findings. (skipped: snapshot unreadable — <detail>)`.
Keep the output to this shape: no prose, no extra sections.
Run an always-on Claude Code agent on your own machine, for you or your team. Start and orchestrate sessions from chat in any project it can reach. Take over the same session in the Claude app or the CLI.
Other skills on hermitd.
More skills from other plugins.
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
Questions about ha-integration-health.
- Which coding agents can use ha-integration-health?
- ha-integration-health installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

