home-assistant — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited home-assistant (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP integration, Assist API limits, and YAML schemas.
cannot be retrieved via live search.
true and false for booleans. Strictly prohibit the use of True, False, yes, no,on, or off to maintain YAML 1.2 compliance and prevent parsing errors.
[1, 2] or{key: value} in YAML files.
"string"). Implicitly mark null values instead of using ~ or null.available. Always prefer UI-configured Helpers over raw template: YAML to ensure syntax validation and reliable backups.
entity_id exclusively over device_id in all triggers, conditions, and actions. Device IDs break silently if adevice is removed and re-added to the Zigbee/Z-Wave/Wi-Fi network.
numeric_state) instead of template conditions. Native conditions are validated at loadtime rather than runtime, preventing silent failures.
wait_for_trigger with state triggers instead of polling the state bus withwait_template.
.storage/ directory. Use the HA REST orWebSocket API to interact with internal states to prevent database corruption.
mode: restart for motion-triggered automations rather than mode: single to ensure lighting timers resetproperly upon continuous movement.
administrative or security entities (locks, garage doors, alarm panels) to the MCP client to prevent unauthorized autonomous actuation.
/api/mcp) using a Long-Lived Access Token (LLAT) scoped specifically for the LLMagent, or use OAuth if the client supports it.
stdio transport, explicitly define thearchitecture to route through an mcp-proxy, as HA natively implements the Streamable HTTP (SSE) protocol for its MCP server.
polling from the LLM.
notifications per 24 hours to prevent the AI from spamming user devices.
HTTP 429 Too Many Requests gracefully in any external scripts or MCP clients querying the HA REST API byimplementing exponential backoff.
domain.location_device_property for entity IDs (e.g., sensor.living_room_temperature,light.bedroom_ceiling).
binary_sensor.front_door_contact notbinary_sensor.fd_c).
area registry rather than encoding the area in the entity ID multiple times.secrets.yaml; reference them in configuration with!secret key_name.
secrets.yaml to version control; add it to .gitignore.automated backups.
from the HA host).
integrations.
docs/INTEGRATIONS.md with purpose, version, and the reason a native integration was insufficient.
| Type | When to Use |
|---|---|
| Blueprint | Reusable automation template that non-developers can instantiate with parameters (e.g., motion-triggered light with configurable timeout). |
| Automation | Single-use, complex automation with specific device targets that does not need to be reused. |
| Script | Reusable sequence of actions called by multiple automations or triggered manually via the dashboard. |
config/blueprints/automation/ and version-control them.conditions behaved as expected.
relying on real hardware triggers.
automation YAML.
Define a notification priority taxonomy and route accordingly:
| Priority | Trigger Example | Delivery Method |
|---|---|---|
| Critical | Smoke alarm, CO alarm, intrusion | Phone call + push + persistent notification |
| High | Door left open, unusual energy spike | Push notification + persistent notification |
| Normal | Arriving home, daily summary | Push notification |
| Low | Device status update, routine event | Persistent notification only |
priority input parameter; call it from all automations insteadof hardcoding notify.* targets.
in a specific release (e.g., # Requires HA 2024.10+).
the production instance.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.