Manage Home Assistant configuration safely and fast — edit and deploy YAML (automations, blueprints, scripts, scenes, templates, MQTT), validate with ha core check, deploy via git or rapid scp, reload-vs-restart correctly, verify changes from logs, traces and entity state, and build Lovelace dashboards. Use for any Home Assistant config, automation, template, or dashboard work over SSH/hass-cli/MCP.
npx skills add https://github.com/komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager
Operate a remote Home Assistant instance precisely: make a change, get it live, prove it
worked. Optimize for the fewest safe round-trips.
/config dir, git-connected to the instance.Edits aren't live until pulled on the instance.
[email protected] in examples is a placeholder. Resolve the real user/host once(project CLAUDE.md, ~/.ssh/config, or ask) and if it isn't recorded in the project
CLAUDE.md yet, add it so future sessions skip this step.
hass-cli (REST), SSH ha, or an MCP server (see below)..yaml/.yml/.md. Never read/write .env or secrets.yaml; use !secret.ha — always works, needs no local env. Use for ha core check|restart|logs|info.hass-cli (REST) — state/service calls, but needs HASS_SERVER/HASS_TOKEN in theshell *before* the session starts. If they're unset, hass-cli falls back to the wrong
host (localhost) and errors — don't retry, check [ -n "$HASS_TOKEN" ] once, then use
SSH or MCP instead.
juggling. Official mcp_server integration (HA core ≥2025.2) or community ha-mcp
(richer, 80+ tools). Use it instead of shelling out when present.
Changes are not live until step 4.
ssh [email protected] "ha core check" (slow, ~30-60s — see "when toskip" below).
git add … && git commit -m "…" && git push.ssh [email protected] "cd /config && git pull".Rapid iteration: skip git and scp straight to the instance, then reload — good for
dashboards and tight test loops. Commit to git only once stable.
scp automations.yaml [email protected]:/config/ → reload.
When to skip ha core check: it parses the whole config and is slow. For an isolated
YAML edit you're confident in, a domain reload surfaces errors faster and the logs tell
you immediately. Always run it before a *restart* or for configuration.yaml changes.
| Change | Action |
|--------|--------|
| automations, scripts, scenes, groups, template entities, themes | reload the domain (hass-cli service call automation.reload, etc.) |
| configuration.yaml core, new integrations, platform sensors (min/max), MQTT sensor/binary_sensor platforms, dashboard registry (lovelace_dashboards) | restart (ssh … "ha core restart", ~30s) |
Prefer reload. Never restart without a passing ha core check. Before risky changes
(core configuration.yaml surgery, removing an integration), snapshot first — it's cheap:
ssh [email protected] "ha backups new --name pre-<change>".
hass-cli service call automation.trigger --arguments entity_id=automation.<id>
(or call the service via MCP). This bypasses conditions by default — it proves the
actions, not the gate. To test conditions too, pass skip_condition: false or exercise
the real trigger, then read the automation's trace in the UI.
ssh [email protected] "ha core logs | grep -iE '<name>|error' | tail -20".
Good: Running automation actions, Executing step …. Bad: `Invalid data for
call_service, TypeError, Template variable warning, Error executing script`.
hass-cli state get <entity>), or askthe user for notification-type actions.
HA 2024.10 renamed the keys; legacy syntax still works but don't emit it in new code:
top-level triggers:/conditions:/actions: (plural), trigger: not platform: inside a
trigger, action: not service: for calls. Every automation gets a stable id: (traces
and UI editing need it) plus an alias.
Full automation reference (syntax table, mode: behavior, blueprints, trace debugging,
pitfalls) → read reference/automations.md when writing or
debugging automations.
states('sensor.x') | int(0) < 7. Bare states arestrings; '5' < 7 raises TypeError. Provide a default (int(0)) so startup None
doesn't error.
state_attr(...) returns None if the entity/attr is missing — guard it.Lovelace dashboards live in .storage/lovelace.* (JSON). UI edits show on a browser refresh;
direct file edits (scp/git) may not appear until a ha core restart — HA caches the
lovelace store in memory. Adding a *new* dashboard to .storage/lovelace_dashboards also needs
a restart. scp + refresh is the fast loop; validate JSON first:
python3 -m json.tool .storage/lovelace.x > /dev/null. After deploying, **validate the UI
visually in the browser** (see the reference) — logs/state won't catch a broken card or a
mis-sorted popup.
Full dashboard reference (view types, card catalog, template cards, tablet layout,
pitfalls, debugging) → read reference/dashboards.md when doing
UI work. Modern HA: native sections view (drag-drop grid, badges, heading cards) and
feature-rich tile cards now cover most needs without custom cards; reach for Mushroom
only when you want its specific look.
# Validate / apply
ssh [email protected] "ha core check"
ssh [email protected] "ha core restart"
ssh [email protected] "cd /config && git pull" # make pushed changes live
# Logs
ssh [email protected] "ha core logs | grep -iE 'error|<name>' | tail -20"
# State / services (needs env loaded, or use MCP)
hass-cli state get <entity>
hass-cli service call <domain>.reload
hass-cli service call automation.trigger --arguments entity_id=automation.<id>
# Rapid deploy
scp <file>.yaml [email protected]:/config/ && hass-cli service call automation.reload
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.
Advanced GitHub Actions workflow automation with AI swarm coordination, intelligent CI/CD pipelines, and comprehensive repository management
Google Cloud Platform CLI - manage GCP resources including Compute Engine, Cloud Run, GKE, Cloud Functions, Storage, BigQuery, and more.
Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems. Masters REST/GraphQL/gRPC APIs, event-driven architectures, service mesh patterns, and modern backend frameworks. Handles service boundary definition, inter-service communication, resilience patterns, and observability. Use PROACTIVELY when creating new backend services or APIs.
Run Python code in the cloud with serverless containers, GPUs, and autoscaling. Use when deploying ML models, running batch processing jobs, scheduling compute-intensive tasks, or serving APIs that require GPU acceleration or dynamic scaling.
Aspire skill covering the Aspire CLI, AppHost orchestration, service discovery, integrations, MCP server, VS Code extension, Dev Containers, GitHub Codespaces, templates, dashboard, and deployment. Use when the user asks to create, run, debug, configure, deploy, or troubleshoot an Aspire distributed application.
Audits Python + BigQuery pipelines for cost safety, idempotency, and production readiness. Returns a structured report with exact patch locations.
Microsoft Store Developer CLI (msstore) for publishing Windows applications to the Microsoft Store. Use when asked to configure Store credentials, list Store apps, check submission status, publish submissions, manage package flights, set up CI/CD for Store publishing, or integrate with Partner Center. Supports Windows App SDK/WinUI, UWP, .NET MAUI, Flutter, Electron, React Native, and PWA applications.
Take komal-skynet/home-assistant-manager from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.