Teach your AI agent how to work with Home Assistant
A skill is a playbook for an AI agent: a folder containing SKILL.md and, optionally, supporting files. Install one in a compatible harness such as Claude Code, OpenClaw, Cursor, or Codex, and the agent can consult it when the relevant task arises. This handbook presents 10 Home Assistant skills and 6 popular collections, along with installation, compatibility, authoring, and safety guidance.
What is a skill, and why install one?
Think of an AI agent such as Claude, Codex, Gemini, OpenClaw, or Hermes as a capable new colleague. It can discuss many home systems, but it cannot infer your entity names, area structure, existing Blueprints, or Zigbee topology. A skill is a handover document for the agent: Markdown instructions explaining when and how to perform a particular kind of work.
- Install a community skill: Existing projects cover Home Assistant administration, ESPHome firmware, dashboard design, Blueprint imports, and custom integration development.
- Write your own: Package a household-specific workflow, such as a laundry reminder or weekly energy report. See the SKILL.md specification for a starting point.
A skill is different from an Assist voice assistant, a Home Assistant integration, or a Blueprint. You install it in the AI agent’s environment, not in Home Assistant. Installation alone does not modify Home Assistant, although the skill may direct an authorized agent to do so.
Install a skill in 3 minutes
Anthropic publishes the SKILL.md format in anthropics/skills. SKILL.md-based skills are used with Claude Code, Codex, Gemini CLI, Cursor, OpenCode, OpenClaw, Hermes, and other agent harnesses, but support and installation methods differ. Check the current documentation for your harness, then follow this general process:
-
Open the Skills or Plugins interface
Depending on the harness, this may be a settings panel, a Skills screen, or a local directory such as
~/.codex/skills/. -
Enter the package location
Package syntax is not standardized. These examples show forms that a harness may support; confirm the required syntax in its documentation:
# GitHub repository (most common) git:github.com/komal-SkyNET/claude-skill-homeassistant # Pin a version (tag or commit; recommended in production) git:github.com/anthropics/skills@v1.0.0 # npm package npm:@scope/some-skill # Local path (your own skill or a subdirectory cloned from a monorepo) ~/skills/my-ha-skill -
Start a new session and verify the skill
Many harnesses load skills when a session starts. Open a new session, ask which skills are loaded, and confirm that the one you installed appears.
-
Review the skill before using it
Read SKILL.md in the repository yourself. You can also ask the agent to summarize it without running commands, then identify any requested tools, network access, or Home Assistant changes. This is the first safety rule.
10 selected skills for Home Assistant
These practical options come from Home Assistant-specific repositories and broader collections, ordered from the closest fit for Home Assistant beginners. Review each repository, license, dependency, and permission request before installing it.
| Skill | What it helps you do | Installation spec |
|---|---|---|
| claude-skill-homeassistant ≈791★ |
The leading Home Assistant-specific skill in this snapshot. It can create or edit automations, Blueprints, and dashboards; manage add-ons; read logs; and test templates. It is also the highest-risk option listed here because it can change a live Home Assistant configuration. Review it first, then use a test instance or create and verify a current backup. | git:github.com/komal-SkyNET/claude-skill-homeassistant |
| homeassistant-claude-kit ≈118★ |
An AI-guided, all-in-one toolkit combining automation templates, a mobile-first React dashboard template, and Claude Code skills for configuration work. It suits users who prefer an integrated starting point to assembling separate tools. | git:github.com/dcb/homeassistant-claude-kit |
| aurora-smart-home ≈102★ |
A smart-home skill collection covering Home Assistant, ESPHome, Node-RED, custom integrations, dashboards, and even PCB design. Consider it when the same agent needs guidance for both Home Assistant and ESPHome firmware. | git:github.com/tonylofgren/aurora-smart-home |
| docx / pdf / pptx / xlsx official |
Four official document skills. Household uses include exporting energy analysis to a spreadsheet, storing appliance warranty records as a PDF, producing a weekly report in a document, or preparing a presentation for a community meeting. | git:github.com/anthropics/skills |
| skill-creator official |
Guides an agent through packaging a household workflow—such as a laundry reminder, weekly energy report, or filter-replacement alert—as a new skill. | git:github.com/anthropics/skills |
| claude-homeassistant-plugins ≈26★ |
A marketplace-style collection of Home Assistant plugins, skills, agents, and MCP hooks. Review its individual directories if you are building or extending a Home Assistant plugin. | git:github.com/ESJavadex/claude-homeassistant-plugins |
| ha-nova ≈21★ |
Provides a lightweight relay and LLM skills for Claude Code, Codex, and OpenCode, with a thin layer over Home Assistant API calls. Consider it when you want to share one Home Assistant interface across supported agents. | git:github.com/markusleben/ha-nova |
| HA_Bubble_Skill ≈13★ |
Focuses on building dashboards with Bubble Card, Streamline Card, Sidebar Card, and Mushroom. It includes WCAG color checks and a full set of troubleshooting instructions. Consider it for a polished, accessible dashboard. | git:github.com/johnnyh1975/HA_Bubble_Skill |
| grill-me from mattpocock/skills |
Conducts a detailed requirements interview before starting a large project, such as rewriting all the automations in a home. Its Markdown instructions are portable across agents. | git:github.com/mattpocock/skills |
| defuddle from kepano/obsidian-skills · ≈47,000★ |
Captures web pages as clean Markdown for a household knowledge base—useful for appliance manuals, Home Assistant community solutions, and video transcripts. | git:github.com/kepano/obsidian-skills |
6 popular collections and catalogs
Start with these repositories when you want to browse individual skills or evaluate a larger collection. Review the contents before installing an entire collection.
anthropics/skills
The home of the Agent Skills specification and official templates. Its 19 skills include the document suite (docx/pdf/pptx/xlsx), canvas-design, mcp-builder, and skill-creator. It is a useful first catalog to review for a Home Assistant household.
git:github.com/anthropics/skills
Note: The four document skills are source-available, not open source. Some skills include scripts that require a Python or JavaScript environment.
tonylofgren/aurora-smart-home
The most comprehensive multi-skill smart-home collection in this snapshot, covering home-assistant, esphome, node-red, ha-dashboard-design, ha-integration-dev, hacs, and fabrication-ready hardware design.
git:github.com/tonylofgren/aurora-smart-home
Note: A smaller audience means fewer people may have reviewed it. Because these skills can direct an agent to change your Home Assistant configuration, read each SKILL.md before importing it.
komal-SkyNET/claude-skill-homeassistant
A single, wide-ranging skill for managing Home Assistant. Its README explains how to use Claude Code to change configuration, retrieve logs, test templates, and add automations.
git:github.com/komal-SkyNET/claude-skill-homeassistant
Start with a test instance, or create and verify a full backup first. Pin an @tag in production.
kepano/obsidian-skills
Includes 5 skills: obsidian-markdown, bases, json-canvas, obsidian-cli, and defuddle. The first 4 support an Obsidian household knowledge base; defuddle is also useful without Obsidian.
git:github.com/kepano/obsidian-skills
The obsidian-cli skill requires the CLI to be installed locally. In a Home Assistant add-on container, you will generally work through an accessible vault directory.
mattpocock/skills
Includes grill-me, tdd, diagnosing-bugs, handoff, and teach. Although primarily intended for software work, grill-me and handoff can help plan a complete home-automation rewrite or a Home Assistant setup for a new home. The Markdown instructions are portable across agents.
git:github.com/mattpocock/skills
hesreallyhim/awesome-claude-code
A curated list of Claude Code skills, agents, status lines, developer tools, and plugins. Browse it as a directory, then open the original repository to review anything you plan to install.
# Use as a catalog; installing the entire collection is not recommended
https://github.com/hesreallyhim/awesome-claude-code
Quality varies, so review each project before installing it.
For reference, other narrowly focused or less active Home Assistant projects include nolte/claude-home-assistant (Lovelace, Blueprint, ESPHome, and add-on development), dallanwagz/untether (reverse-engineering cloud-dependent Bluetooth Low Energy devices to create local Home Assistant integrations), and smalltv-ultra-skill (GeekMagic SmallTV Ultra firmware development). Their star counts are low, so consider them when you have a specific matching use case and review them carefully.
Compatibility
Claude Code, Codex, Gemini CLI, Cursor, OpenCode, OpenClaw, Hermes, and other agent harnesses can use SKILL.md-style instructions, but their discovery rules, metadata, tools, and installation methods are not identical. Plain Markdown instructions are usually the most portable. A skill may lose functionality when it:
- Depends on harness-specific features, such as hooks, plugin commands, or subagent delegation. The instructions may remain readable even when the automated behavior is unavailable.
- Requires a particular MCP server or SaaS account. A Home Assistant skill that expects
ha-mcp-woowor the official MCP Server integration cannot use those tools until you configure the connection and permissions. - Includes
scripts/that need an unavailable runtime. A script may require a particular Python package or Node version, especially when the agent runs inside a Home Assistant add-on container.
Safety rules
- Read before installing: Inspect SKILL.md and any referenced files or scripts yourself. If you ask an agent to summarize them, explicitly tell it not to execute anything. Identify every requested tool, command, network connection, secret, and configuration change.
- Back up before configuration changes: Skills such as
claude-skill-homeassistantandaurora-smart-homemay change automations, dashboards, or configuration.yaml. Create and verify a full manual backup under Settings → System → Backups first. - Test on a separate Home Assistant instance: If your production system is complex, evaluate the skill in a clean test container before granting it access to your household system.
- Pin production versions: Use an
@tagor@commitwhen supported. Review upstream changes before upgrading. - Limit access to entities: For Assist, open Settings → Voice assistants → Expose and select only the areas and entities you need. Do not expose locks, alarms, or main power controls until you have reviewed the risks and safeguards. This setting does not restrict a coding agent or MCP server, so configure least-privilege access separately for every connection.
- Treat stars as popularity, not proof of safety: Review permissions and behavior even for popular collections, especially skills that include
scripts/.
SKILL.md specification at a glance
The example below shows the basic structure of a skill. See anthropics/skills for the full specification.
washer-notify/
├── SKILL.md ← Required
└── references/ ← Optional supporting files (load only when needed)
└── ha-service-map.md
# SKILL.md
---
name: washer-notify
description: |
Use this Skill when the user asks whether the washing machine has finished,
whether it is time to collect the laundry, or how to automate a laundry
reminder. Read sensor.washer_power through the Home Assistant API to
determine whether the machine is running, idle, or finished.
license: MIT
compatibility:
agents: [claude-code, opencode, openclaw, hermes]
mcp: [ha-mcp-woow, home-assistant/mcp-server]
allowed-tools: [ha_get_state, ha_get_history, ha_config_set_automation, notify_send]
---
# Laundry reminder Skill
When the user asks about the washing machine, first read the past 15 minutes of
history for sensor.washer_power. If power fell from >100W to <5W and remained
there for at least 3 minutes, report that the cycle is complete. If the machine
is still running, estimate the remaining time using the stated 45-minute
average and clearly label the result as an estimate. Respond in English.
If the user requests an automatic reminder, use ha_config_set_automation to
create an automation based on this logic:
- Trigger when sensor.washer_power remains below 5W for 3 minutes.
- Send a notification through notify.mobile_app_myphone.
Use entity_id references and current Home Assistant automation syntax. Show the
user a YAML summary and obtain approval before applying it. Respond in English.
| Field | Required | Description |
|---|---|---|
name | Yes | Use 1–64 lowercase letters, numbers, or hyphens. |
description | Yes | Explain what the skill does and when to use it. The agent relies on this description when deciding whether the skill applies. Include phrases a user is likely to say. |
license | No | State the license so others can understand the terms for using or modifying the skill. |
compatibility | No | Record the supported agents and MCP servers when sharing the skill across harnesses. |
allowed-tools | No | Where the harness supports it, list the tools the skill may call as one layer of access control. |
Keep SKILL.md concise. Put supporting material in references/, scripts/, or assets/ so the agent loads it only when needed. For a Home Assistant skill, consider adding a service or action map under references/ for the agent to consult before making a call.
FAQ
Why is my installed skill not being used?
description may not match the way you phrased the request. Name it explicitly: “Use claude-skill-homeassistant for this task.”How does a skill differ from a Blueprint, integration, or Assist?
What happens if I install too many skills?
Can I install just one skill from a monorepo?
~/.claude/skills/ where applicable. Alternatively, install it from a local path. Check your harness documentation for the exact location and method.Can a skill damage my Home Assistant configuration?
ha_config_set_* tools can make harmful changes. Create and verify a backup first, test on a nonproduction instance, and require a preview and your explicit approval before applying edits. If something goes wrong, use Settings → System → Backups → Restore with a known-good backup. Without one, recovery may depend on a version-controlled configuration.yaml or another recovery method you configured in advance.How do I write a Home Assistant skill?
skill-creator from anthropics/skills, then ask it to package a workflow such as producing a household weekly report. You can develop a first draft in about 10 minutes, but review every generated instruction and permission carefully. Alternatively, start with the example in the SKILL.md specification section.Take this handbook with you
This handbook is a self-contained HTML file with embedded icons, so you can download and read it offline. Collection details will become outdated; check the online Resource Hub before making an important decision.