#935 by GitHub stars
homeassistant-ai/skills
Home Assistant (HA) best practices. Load first, before answering or exploring, on any HA request. TRIGGER THIS SKILL WHEN: - Creating or editing automations, scripts, scenes, dashboards, blueprints - Choosing template sensors, helpers, or Jinja macros - Restructuring triggers, conditions, or modes;
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/home-assistant-best-practices/SKILL.md
Week of Nov 2, 2026 · +6 / −6 lines
Before Not checked yet → After Network or broad shell
f3875c2ac2ab → 166defa51c60
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → f3875c2ac2ab
No earlier version was observed for comparison.
Verified commit 166defa51c606b3c77d45a9b29a459d1f993f357
git clone --filter=blob:none --no-checkout https://github.com/homeassistant-ai/skills.git .hotskills/homeassistant-ai-skills && git -C .hotskills/homeassistant-ai-skills checkout --detach 166defa51c606b3c77d45a9b29a459d1f993f357
# Copy each selected skill directory from .hotskills/homeassistant-ai-skills into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/homeassistant-ai/skills.git .hotskills/homeassistant-ai-skills && git -C .hotskills/homeassistant-ai-skills checkout --detach 166defa51c606b3c77d45a9b29a459d1f993f357
# Copy each selected skill directory from .hotskills/homeassistant-ai-skills into .agents/skills/<skill-name>/Heat
7.0- Star growth, last 7 daysAhead of 91% of tracked repositories
- Star growth, last 24 hoursAhead of 87% of tracked repositories
- Rank movement, last 7 daysAhead of 46% of tracked repositories
- Commits, last 30 daysAhead of 86% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- home-assistant-best-practices
skills/home-assistant-best-practices
How it works
home-assistant-best-practices
When your agent uses it
Home Assistant (HA) best practices. Load first, before answering or exploring, on any HA request. TRIGGER THIS SKILL WHEN: - Creating or editing automations, scripts, scenes, dashboards, blueprints - Choosing template sensors, helpers, or Jinja macros - Restructuring triggers, conditions, or modes; button, remote, or event-entity automations - Renaming entities or migrating device_id to entity_id - Looking up card types or domain docs; writing AppDaemon apps - Deleting or restoring a backup, or upgrading Core or the OS SYMPTOMS: - Jinja2 templates where native options exist - device_id used instead of entity_id - Entity IDs changed without checking consumers - Wrong automation mode chosen - Raw sensor or hard-coded value used where a helper belongs - Direct .storage edits or automation lookups there; generated YAML - User told to edit configuration.yaml for UI integrations - Hardcoded Blueprint entities or skipped selectors - Existing state changed with no recovery path - Jinja copy-pasted between templates
What it loads into context
Frontmatter
262 tokensAlways available to the agent
SKILL.md
5,183 tokensWhen the skill is activated
Reference documents
63,826 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Decision Workflow
- Critical Anti-Patterns
- Reference Files
Files
../../.claude-plugin/marketplace.jsonasset610 bytes../../.claude-plugin/plugin.jsonasset320 bytesSKILL.mdcore22,936 bytesSKILL.mdcore22,936 bytesreferences/appdaemon.mddoc18,382 bytesreferences/automation-actions.mddoc23,093 bytesreferences/backups.mddoc13,002 bytesreferences/blueprint-guide.mddoc14,656 bytesreferences/dashboard-cards.mddoc4,574 bytesreferences/dashboard-guide.mddoc31,666 bytesreferences/device-control.mddoc16,732 bytesreferences/domain-docs.mddoc1,621 bytesreferences/examples.yamlasset11,626 bytesreferences/helper-selection.mddoc51,467 bytesreferences/safe-refactoring.mddoc18,413 bytesreferences/scenes.mddoc3,640 bytesreferences/template-guidelines.mddoc30,139 bytesreferences/triggers-and-conditions.mddoc32,222 bytesreferences/yaml-only-integrations.mddoc4,071 bytes
Read SKILL.md
# Home Assistant Best Practices
**Core principle:** Use native Home Assistant constructs wherever possible. Templates bypass validation, fail silently at runtime, and make debugging opaque.
**No tool reaches the HA API?** Do not stop to ask for access. If you can drive a browser on the HA web UI, make the change there, but first show the user the exact change and wait for their OK before you save: approving a click does not show them what it writes. Otherwise give the user the complete config to create in the UI (for an automation, the YAML for the editor's **Edit in YAML** mode; for a helper, its form fields), and name the entity IDs you assumed. Config that can only be written in YAML is edited with the File editor app (or in the config folder on a Container install): keep a copy of the file first, then check the configuration and run the matching reload in the **YAML** tab of **Tools** (named **Developer Tools** before 2026.8; restart if it isn't listed).
**A feature marked with a release (2026.5+) depends on the instance's version.** Read it before choosing: `version` in `GET /api/config`, or **Settings → About** in the UI. On that release or later, use the feature and do not offer the older way as an equal choice. If you cannot read the version, assume a current release and name the older fallback with the version it needs.
**Read the matching reference before you answer.** This page only summarizes the files in [Reference Files](#reference-files); the exact keys, fields and working examples are in them. Read every file whose row matches the task, and only those: do not load all reference files upfront.
## Decision Workflow
Follow this sequence when creating any automation:
View the complete source on GitHubSkills included
- home-assistant-best-practices
Repository facts
- License
- MIT
- Created
- Jan 30, 2026
- Last pushed
- Oct 29, 2026
- Forks
- 38
- Open issues
- 0
- Project activity
- Active
Rank over the last 12 weeks
Now #935 · best #724 · down 104 in 30 days
- #928 on Nov 2
- #932 on Nov 3
- #933 on Nov 4
- #932 on Nov 5
- #931 on Nov 6
- #935 since Nov 7
76 earlier periods
- #701 on Aug 2
- #695 on Aug 8
- #703 on Aug 9
- #732 on Aug 10
- #735 from Aug 12 to Aug 13
- #730 on Aug 14
- #703 on Aug 15
- #724 on Aug 16
- #733 on Aug 17
- #748 on Aug 18
- #735 on Aug 19
- #733 on Aug 21
- #740 on Aug 23
- #759 on Aug 24
- #767 on Aug 25
- #752 on Aug 26
- #763 on Aug 27
- #788 on Aug 28
- #724 on Aug 29
- #727 on Aug 30
- #761 on Sep 2
- #770 on Sep 3
- #749 on Sep 4
- #729 on Sep 5
- #758 on Sep 6
- #771 on Sep 7
- #793 on Sep 8
- #776 on Sep 9
- #790 on Sep 10
- #759 on Sep 12
- #760 on Sep 13
- #788 on Sep 14
- #778 on Sep 15
- #788 on Sep 16
- #785 on Sep 17
- #771 on Sep 18
- #751 on Sep 19
- #763 on Sep 20
- #785 on Sep 21
- #794 on Sep 23
- #763 on Sep 24
- #733 on Sep 25
- #731 on Sep 26
- #759 on Sep 27
- #774 on Sep 28
- #806 on Sep 29
- #791 on Sep 30
- #734 on Oct 1
- #750 on Oct 2
- #731 on Oct 3
- #760 on Oct 4
- #771 on Oct 5
- #772 on Oct 6
- #787 on Oct 7
- #831 on Oct 8
- #797 on Oct 9
- #778 on Oct 10
- #777 on Oct 11
- #799 on Oct 12
- #807 on Oct 13
- #817 on Oct 14
- #805 on Oct 15
- #811 on Oct 16
- #771 on Oct 17
- #751 on Oct 18
- #794 on Oct 19
- #803 on Oct 20
- #812 on Oct 21
- #791 on Oct 22
- #796 on Oct 23
- #757 on Oct 24
- #911 on Oct 25
- #918 on Oct 28
- #924 on Oct 29
- #926 from Oct 30 to Oct 31
- #925 on Nov 1
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 4, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 1 note
skills/home-assistant-best-practices/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 25 network referencesin 6 files: home-assistant-best-practices/references/blueprint-guide.md:40 home-assistant-best-practices/references/domain-docs.md:8 home-assistant-best-practices/references/dashboard-cards.md:26 and 3 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- No access to secrets
- No requests to vote in Hot
Show all 25 signals by file
.claude-plugin/plugin.json
- Network accessline 3
"description": "Agent skills for Home Assistant: best practices for automations, helpers, templates, scenes, blueprints, device control, dashboards, AppDaemon, and backups.", "version": "0.56.0", "repository": "https://github.com/homeas - Network accessline 4
"version": "0.56.0", "repository": "https://github.com/homeassistant-ai/skills", "license": "MIT" - Network accessline 5
"repository": "https://github.com/homeassistant-ai/skills",
skills/home-assistant-best-practices/references/blueprint-guide.md
- Network accessline 40
domain: automation # required: automation | script | template author: Your Name # optional source_url: https://github.com/you/ha-blueprints/blob/main/motion_light.yaml - Network accessline 41
author: Your Name # optional source_url: https://github.com/you/ha-blueprints/blob/main/motion_light.yaml homeassistant: - Network accessline 42
source_url: https://github.com/you/ha-blueprints/blob/main/motion_light.yaml - Network accessline 194
domain: automation author: Your Name source_url: https://github.com/you/ha-blueprints/blob/main/motion_light.yaml - Network accessline 195
author: Your Name source_url: https://github.com/you/ha-blueprints/blob/main/motion_light.yaml homeassistant: - Network accessline 196
source_url: https://github.com/you/ha-blueprints/blob/main/motion_light.yaml
skills/home-assistant-best-practices/references/dashboard-cards.md
- Network accessline 26
| Use | URL | |-----|-----| | To read with a tool that opens URLs | `https://raw.githubusercontent.com/home-assistant/home-assistant.io/refs/heads/current/source/_dashboards/{page}.markdown` | - Network accessline 27
|-----|-----| | To read with a tool that opens URLs | `https://raw.githubusercontent.com/home-assistant/home-assistant.io/refs/heads/current/source/_dashboards/{page}.markdown` | | To give the user as a link | `https://www.home-assistant.io - Network accessline 28
| To read with a tool that opens URLs | `https://raw.githubusercontent.com/home-assistant/home-assistant.io/refs/heads/current/source/_dashboards/{page}.markdown` | - Network accessline 29
| To give the user as a link | `https://www.home-assistant.io/dashboards/{page}/` |
skills/home-assistant-best-practices/references/device-control.md
skills/home-assistant-best-practices/references/domain-docs.md
- Network accessline 8
https://raw.githubusercontent.com/home-assistant/home-assistant.io/refs/heads/current/source/_integrations/{domain}.markdown - Network accessline 18
https://raw.githubusercontent.com/home-assistant/home-assistant.io/refs/heads/current/source/_triggers/{trigger}.markdown - Network accessline 19
https://raw.githubusercontent.com/home-assistant/home-assistant.io/refs/heads/current/source/_conditions/{condition}.markdown - Network accessline 20
https://raw.githubusercontent.com/home-assistant/home-assistant.io/refs/heads/current/source/_actions/{action}.markdown - Network accessline 23
`{trigger}`/`{condition}`/`{action}` use `<domain>.<name>` (e.g. `motion.detected`, `zone.in_zone`, `light.turn_on`). Rendered pages live at `https://www.home-assistant.io/triggers/<domain>.<name>/` (same pattern for `/conditions/` and `/ac
skills/home-assistant-best-practices/references/template-guidelines.md
- Network accessline 67
# REST sensor with JSON response rest: - resource: "http://api.example.com/data" - Network accessline 68
rest: - resource: "http://api.example.com/data" sensor: - Network accessline 69
- resource: "http://api.example.com/data" - Network accessline 369
**Follow HA's 2-space indentation rule ([HA YAML Style Guide](https://developers.home-assistant.io/docs/documenting/yaml-style-guide/)).** In template blocks, list items under `sensor:` / `binary_sensor:` are indented 2 spaces relative to t
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 22 facts
- Network access in code of documentationhome-assistant-best-practices/references/blueprint-guide.md:40Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/blueprint-guide.md:41Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/blueprint-guide.md:42Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/blueprint-guide.md:194Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/blueprint-guide.md:195Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/blueprint-guide.md:196Low confidence
- Network access in prose of documentationhome-assistant-best-practices/references/dashboard-cards.md:26Low confidence
- Network access in prose of documentationhome-assistant-best-practices/references/dashboard-cards.md:27Low confidence
- Network access in prose of documentationhome-assistant-best-practices/references/dashboard-cards.md:28Low confidence
- Network access in prose of documentationhome-assistant-best-practices/references/dashboard-cards.md:29Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/device-control.md:334Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/device-control.md:335Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/device-control.md:336Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/domain-docs.md:8Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/domain-docs.md:18Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/domain-docs.md:19Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/domain-docs.md:20Low confidence
- Network access in prose of documentationhome-assistant-best-practices/references/domain-docs.md:23Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/template-guidelines.md:67Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/template-guidelines.md:68Low confidence
- Network access in code of documentationhome-assistant-best-practices/references/template-guidelines.md:69Low confidence
- Network access in prose of documentationhome-assistant-best-practices/references/template-guidelines.md:369Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/home-assistant-best-practices/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/home-assistant-best-practices/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/home-assistant-best-practices/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/home-assistant-best-practices/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/homeassistant-ai-skills/)