plugins/claude-code-homeassistant-hermit/skills/ha-integration-health/SKILL.md
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 scheduled check via reflect-scheduled-checks.
npx skillsauth add gtapps/claude-code-hermit ha-integration-healthInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Run the integration-health check via the Python CLI:
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha integration-health
The CLI:
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.total >= 3 AND ratio >= 0.5..claude-code-hermit/state/integration-health-degraded-domains.json — a machine-readable state artifact consumed by ha-analyze-patterns (via silence.py) to suppress overlapping long_unavailable findings.reflect-scheduled-checks routes the findings block through the proposal pipeline. The stdout shape is fixed:
ha-integration-health findings — <date>
Degraded domains: N
- <domain>: <unavailable>/<total> entities unavailable (<percent>%)
If nothing is flagged: No actionable findings. (D domains scanned).
If snapshot is stale or missing and HA is unreachable: No actionable findings. (skipped: snapshot stale, refresh failed — <error>).
If the snapshot exists but can't be parsed: No actionable findings. (skipped: snapshot unreadable — <error>).
Keep stdout to this shape — no prose, no extra sections.
tools
Presence history & tracker-health report — current home/away state, reliability, recent arrival/departure transitions, and activity patterns for person/device_tracker entities. Use when the operator asks about presence history or when a presence-dependent automation (locks, alarm, vacuum, climate) misbehaves.
development
Evening house brief — end-of-day security check, device status, and energy snapshot. Runs as a daily routine at 22:30 or on demand.
tools
Browse and explain the hermit's Home Assistant automations — list by topic, filter by keyword with plain-language YAML explanations, or sort by last-fired. Read-only. Use when the operator asks "what automations do I have / what does this one do / which haven't fired."
tools
On-demand HA-voice brainstorm — reads entity inventory, automation/script listings, and operator intent to surface at most 2 capability-gap ideas, each gated by proposal-triage before becoming a PROP. Invoke when the operator asks "what automations am I missing?", "any coverage gaps?", or "brainstorm improvements". Never runs autonomously.