From claude-code-homeassistant-hermit
Detects pending Home Assistant updates (Core, OS, Supervisor, add-ons, HACS) via update.* entities and surfaces actionable proposals. Runs daily as a scheduled check.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-code-homeassistant-hermit:ha-update-checkThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Home Assistant surfaces pending updates as `update.*` entities — one domain covering Core, OS/Supervisor, add-ons, and HACS integrations, each carrying `installed_version`/`latest_version`/`release_summary`/`release_url`. This skill lists what's pending and reports it in a fixed format the proposal pipeline can fan out into per-update proposals.
Home Assistant surfaces pending updates as update.* entities — one domain covering Core, OS/Supervisor, add-ons, and HACS integrations, each carrying installed_version/latest_version/release_summary/release_url. This skill lists what's pending and reports it in a fixed format the proposal pipeline can fan out into per-update proposals.
Native fields only — no web fetch for breaking-change detail (keeps this check cheap; fetch on accept if that's ever needed). HA-native skipped_version is honored: an update the operator skipped in the HA UI stays quiet here too.
Run the update check via the CLI:
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha updates
The CLI:
update.* entities where state == "on" (an update is pending) and the pending version hasn't been skipped in HA.core (HA Core), os (Operating System), supervisor, addon, or hacs. Core/OS/Supervisor are recognized by their well-known entity_ids; add-ons are recognized by the native backup capability they advertise (HA's supported_features BACKUP bit), which HACS/custom-integration updates lack; anything without it aggregates into the hacs bucket rather than risking noise.reflect --scheduled-checks routes the findings block through the proposal pipeline. The stdout shape is fixed:
ha-update-check findings — <date>
Updates pending: N
- [core] Home Assistant Core: 2026.6.3 → 2026.7.1 — <release_url>
- [addon] Mosquitto broker: 6.4 → 6.5 — <release_url>
- [hacs] 7 HACS updates pending
If nothing is pending: No actionable findings. (no updates pending).
If HA is unreachable: No actionable findings. (skipped: <error>).
Keep stdout to this shape — no prose, no extra sections. Each proposal title should carry the concrete target version (e.g. [ha-update] HA Core → 2026.7.1) — that keeps same-version re-emits byte-identical so proposal-triage reliably suppresses repeats; Core/OS/Supervisor and each add-on become individual proposals, all pending HACS updates aggregate into one.
If ha_update_auto_apply is enabled in .claude-code-hermit/config.json, route acceptance through /claude-code-homeassistant-hermit:ha-apply-update rather than applying directly — it enforces the tier rule (add-ons/HACS may auto-apply; Core/OS/Supervisor always wait for an explicit operator go-ahead). If the flag is absent or false, the proposal is purely advisory: resolve it once the operator has applied the update themselves in the HA UI.
npx claudepluginhub p/gtapps-claude-code-homeassistant-hermit-plugins-claude-code-homeassistant-hermitChecks pending Home Assistant updates (core, OS, apps, integrations, device firmware) and installs them with safety gates via HA NOVA Relay.
Applies Home Assistant updates surfaced by ha-update-check, enforcing tier rules: auto-applies add-ons/HACS when configured, prompts operator for Core/OS/Supervisor.
Builds and manages Home Assistant configurations using the hab CLI, automating tasks like dashboard edits, automation creation, backups, and ESPHome operations.