Guide · home assistant skills

Home Assistant Skills for Claude Code: Automations Done Right

The most-installed Home Assistant skill for Claude Code is home-assistant-best-practices from homeassistant-ai/skills (8,628 installs). It makes the agent use native triggers, conditions and helpers before templates. For live device control, add aahl's mcp-hass (3,081 installs), which uses Home Assistant's built-in MCP server.

By Skillselion, an Ellelion LLC publication · Updated October 27, 2026 · 4 min read · Stats verified against the live catalog

Home Assistant skills help developers get Claude Code to write automations the way current Home Assistant releases expect, instead of the Jinja-heavy YAML it learned from old forum posts. The most-installed pick is home-assistant-best-practices from homeassistant-ai/skills, with 8,628 installs (skills.sh registry).

Key takeaways

  • home-assistant-best-practices (8,628 installs, 728 GitHub stars) is a rule set: native triggers, conditions and helpers first, templates last, with 15 reference files loaded on demand.
  • claude-office-skills' home-assistant-automation (4,926 installs, 445 GitHub stars) is a library of device and automation templates built around a Home Assistant MCP server.
  • aahl's mcp-hass (3,081 installs) controls devices through Home Assistant's built-in MCP server integration.
  • aahl's hass-builder (1,554 installs) wraps the hab CLI and asks before restarts, backup restores and other risky operations.
  • For ESPHome firmware, nodnarbnitram's esphome-config-helper (136 installs) covers GPIO conflicts and compile errors. More picks sit on the best automation skills page.

Why does Claude Code get Home Assistant automations wrong?

Claude Code gets Home Assistant wrong because the platform changes every month and much of its training data predates those changes. home-assistant-best-practices lists the drift explicitly: purpose-specific triggers such as motion.detected became the default in 2026.7, the color_temp (mireds) light parameter was removed in 2026.3, and add-ons were renamed Apps in 2026.2. Its core principle is to use native constructs wherever possible, because templates "bypass validation, fail silently at runtime, and make debugging opaque." The skill is at metadata version 53, which shows how often its authors revise it (GitHub).

What is the best Home Assistant skill for Claude Code?

home-assistant-best-practices from homeassistant-ai/skills is the best default, with 8,628 installs and 728 GitHub stars (skills.sh registry, GitHub). Install it with:

npx skills add https://github.com/homeassistant-ai/skills --skill home-assistant-best-practices

homeassistant-ai, publisher of the home-assistant-best-practices skill
homeassistant-ai, publisher of the home-assistant-best-practices skill

It runs a 5-step decision workflow before any automation is written, plus a gate for edits to existing config. Step 1 checks for a purpose-specific trigger, then a generic native one, and only then a template. Step 2 swaps template sensors for built-in helpers such as min_max, threshold, derivative and utility_meter. Step 3 picks the automation mode from a 4-row table: restart for a motion light with a timeout, queued for door locks, parallel for independent per-entity actions, single for one-shot notifications. Step 4 uses entity_id over device_id, because a device ID breaks when the device is re-added.

How do you rename entities without breaking automations?

You run an impact analysis before the rename, which is what home-assistant-best-practices enforces in its Step 0 gate. Any change to entity IDs, display names or cross-component references sends the agent to its safe-refactoring reference first. The skill lists failure cases that a registry rename does not fix on its own: UI groups keep the old member in options.entities, and Min/Max helpers store entity IDs in their Config Entry data. Of its 15 reference files, it names safe-refactoring first in the table of what to read and when.

How do you control Home Assistant devices from Claude Code?

Use Home Assistant's own MCP server, which mcp-hass from aahl/skills (3,081 installs) connects with one UI step and one registration command. You add the Model Context Protocol integration under Settings, Devices and services, then register it with mcporter using HASS_BASE_URL and HASS_ACCESS_TOKEN. The agent can then read live state with GetLiveContext and call intents such as HassTurnOn and HassLightSet. The Home Assistant MCP server documentation covers the integration itself, and the MCP explainer covers the protocol.

How do you manage Home Assistant config from the terminal?

hass-builder from aahl/skills (1,554 installs) drives the hab CLI for automations, dashboards, helpers, backups and ESPHome. The skill credits the CLI to Paulus Schoutsen (@balloob), Home Assistant's main maintainer. Its risk gate has 5 steps: read the schema, gather current state, preview with --plan or --dry-run, ask before risky operations, then verify. It names those operations, including system restart, backup restore or delete, and ESPHome flashing, and it tells the agent not to add --force just to skip a prompt.

A complete starter stack

Common pitfalls

  • Copying template YAML without checking your version. home-assistant-automation's light example still sets color_temp: 350, the mireds parameter that home-assistant-best-practices says was removed in 2026.3.
  • Leaving a motion light in single mode. The best-practices skill marks it as an anti-pattern because re-triggers must reset the timer.
  • Letting the agent edit .storage/ files. The skill lists this as an anti-pattern in its 31-row anti-pattern table, since Home Assistant can overwrite or corrupt those files.

Browse the automation category for the wider set of workflow skills.

FAQ

Common questions

What is the best Home Assistant skill for Claude Code?

home-assistant-best-practices from homeassistant-ai/skills, with 8,628 installs and 728 GitHub stars, is the most-installed pick. It puts native triggers and helpers ahead of Jinja templates. See home-assistant-best-practices.

Can Claude Code control Home Assistant devices?

Yes. mcp-hass from aahl/skills (3,081 installs) connects to Home Assistant's built-in MCP server and calls intents such as HassTurnOn and HassLightSet. See mcp-hass.

Which automation mode should a motion light use in Home Assistant?

restart. home-assistant-best-practices (8,628 installs) lists single mode for motion lights as an anti-pattern, because a re-trigger must reset the timer. See home-assistant-best-practices.

Should Home Assistant automations use device_id or entity_id?

entity_id. home-assistant-best-practices (8,628 installs) says device_id breaks when a device is re-added, with an exception for Zigbee2MQTT autodiscovered device triggers. See home-assistant-best-practices.

Is there a Claude Code skill for ESPHome?

Yes. esphome-config-helper from nodnarbnitram/claude-code-extensions (136 installs) covers device templates, GPIO conflicts and compile errors, and hass-builder (1,554 installs) can validate ESPHome configs. See esphome-config-helper.

Ranked by Skillselion - an independent directory of AI-coding tools, not affiliated with Anthropic, OpenAI or Cursor. Tool rankings reflect real adoption (installs, then GitHub stars) from the skills.sh registry and GitHub, last updated October 27, 2026.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.