#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.

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
950GitHub stars
19stars in 7 days
1skill in this repository
29commits in 30 days

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

Aug 2, 2026Nov 7, 2026950

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

5,183 tokens

When the skill is activated

Reference documents

63,826 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Decision Workflow
  2. Critical Anti-Patterns
  3. Reference Files

Files

  • ../../.claude-plugin/marketplace.jsonasset610 bytes
  • ../../.claude-plugin/plugin.jsonasset320 bytes
  • SKILL.mdcore22,936 bytes
  • SKILL.mdcore22,936 bytes
  • references/appdaemon.mddoc18,382 bytes
  • references/automation-actions.mddoc23,093 bytes
  • references/backups.mddoc13,002 bytes
  • references/blueprint-guide.mddoc14,656 bytes
  • references/dashboard-cards.mddoc4,574 bytes
  • references/dashboard-guide.mddoc31,666 bytes
  • references/device-control.mddoc16,732 bytes
  • references/domain-docs.mddoc1,621 bytes
  • references/examples.yamlasset11,626 bytes
  • references/helper-selection.mddoc51,467 bytes
  • references/safe-refactoring.mddoc18,413 bytes
  • references/scenes.mddoc3,640 bytes
  • references/template-guidelines.mddoc30,139 bytes
  • references/triggers-and-conditions.mddoc32,222 bytes
  • references/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 GitHub

Skills 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

  1. #928 on Nov 2
  2. #932 on Nov 3
  3. #933 on Nov 4
  4. #932 on Nov 5
  5. #931 on Nov 6
  6. #935 since Nov 7
76 earlier periods
  1. #701 on Aug 2
  2. #695 on Aug 8
  3. #703 on Aug 9
  4. #732 on Aug 10
  5. #735 from Aug 12 to Aug 13
  6. #730 on Aug 14
  7. #703 on Aug 15
  8. #724 on Aug 16
  9. #733 on Aug 17
  10. #748 on Aug 18
  11. #735 on Aug 19
  12. #733 on Aug 21
  13. #740 on Aug 23
  14. #759 on Aug 24
  15. #767 on Aug 25
  16. #752 on Aug 26
  17. #763 on Aug 27
  18. #788 on Aug 28
  19. #724 on Aug 29
  20. #727 on Aug 30
  21. #761 on Sep 2
  22. #770 on Sep 3
  23. #749 on Sep 4
  24. #729 on Sep 5
  25. #758 on Sep 6
  26. #771 on Sep 7
  27. #793 on Sep 8
  28. #776 on Sep 9
  29. #790 on Sep 10
  30. #759 on Sep 12
  31. #760 on Sep 13
  32. #788 on Sep 14
  33. #778 on Sep 15
  34. #788 on Sep 16
  35. #785 on Sep 17
  36. #771 on Sep 18
  37. #751 on Sep 19
  38. #763 on Sep 20
  39. #785 on Sep 21
  40. #794 on Sep 23
  41. #763 on Sep 24
  42. #733 on Sep 25
  43. #731 on Sep 26
  44. #759 on Sep 27
  45. #774 on Sep 28
  46. #806 on Sep 29
  47. #791 on Sep 30
  48. #734 on Oct 1
  49. #750 on Oct 2
  50. #731 on Oct 3
  51. #760 on Oct 4
  52. #771 on Oct 5
  53. #772 on Oct 6
  54. #787 on Oct 7
  55. #831 on Oct 8
  56. #797 on Oct 9
  57. #778 on Oct 10
  58. #777 on Oct 11
  59. #799 on Oct 12
  60. #807 on Oct 13
  61. #817 on Oct 14
  62. #805 on Oct 15
  63. #811 on Oct 16
  64. #771 on Oct 17
  65. #751 on Oct 18
  66. #794 on Oct 19
  67. #803 on Oct 20
  68. #812 on Oct 21
  69. #791 on Oct 22
  70. #796 on Oct 23
  71. #757 on Oct 24
  72. #911 on Oct 25
  73. #918 on Oct 28
  74. #924 on Oct 29
  75. #926 from Oct 30 to Oct 31
  76. #925 on Nov 1

Before you install

Network or broad shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

  • Network accessline 334
    entity_id: media_player.living_room_speaker     data:       media_content_id: "https://example.com/audio.mp3"
  • Network accessline 335
    data:       media_content_id: "https://example.com/audio.mp3"       media_content_type: music
  • Network accessline 336
    media_content_id: "https://example.com/audio.mp3"

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

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/home-assistant-best-practices/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/home-assistant-best-practices/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/home-assistant-best-practices/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.

homeassistant-ai/skills: #935 on hotskills, 950 stars

[![homeassistant-ai/skills on hotskills](https://hotskills.dev/badge/homeassistant-ai-skills.svg)](https://hotskills.dev/skill/homeassistant-ai-skills/)