Pluggedin Stack Ops
VeriTeknik/pluggedin-app
A skill your agent uses when deploying, restarting, verifying or rolling back the containerised plugged.in production stack, when the site returns 404 or 5xx after a deploy or git operation, or when…
Edits, validates, deploys and verifies Home Assistant YAML configuration over SSH, hass-cli or MCP, including automations and Lovelace dashboards.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install komal-SkyNET/claude-skill-homeassistant home-assistant-manager --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/komal-SkyNET/claude-skill-homeassistant.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/home-assistant-manager .claude/skills/home-assistant-manager && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "home-assistant-manager" agent skill from https://github.com/komal-SkyNET/claude-skill-homeassistant/tree/main/skills/home-assistant-manager into .claude/skills/home-assistant-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant-manager", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/komal-SkyNET/claude-skill-homeassistant/tree/main/skills/home-assistant-managerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install komal-SkyNET/claude-skill-homeassistant home-assistant-manager --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/komal-SkyNET/claude-skill-homeassistant.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/home-assistant-manager .agents/skills/home-assistant-manager && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "home-assistant-manager" agent skill from https://github.com/komal-SkyNET/claude-skill-homeassistant/tree/main/skills/home-assistant-manager into .agents/skills/home-assistant-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant-manager", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install komal-SkyNET/claude-skill-homeassistant home-assistant-manager --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/komal-SkyNET/claude-skill-homeassistant.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/home-assistant-manager .cursor/skills/home-assistant-manager && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "home-assistant-manager" agent skill from https://github.com/komal-SkyNET/claude-skill-homeassistant/tree/main/skills/home-assistant-manager into .cursor/skills/home-assistant-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant-manager", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/komal-SkyNET/claude-skill-homeassistant.git --path skills/home-assistant-manager--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install komal-SkyNET/claude-skill-homeassistant home-assistant-manager --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/komal-SkyNET/claude-skill-homeassistant.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/home-assistant-manager .gemini/skills/home-assistant-manager && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "home-assistant-manager" agent skill from https://github.com/komal-SkyNET/claude-skill-homeassistant/tree/main/skills/home-assistant-manager into .gemini/skills/home-assistant-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant-manager", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install komal-SkyNET/claude-skill-homeassistant home-assistant-managerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/komal-SkyNET/claude-skill-homeassistant.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/home-assistant-manager .github/skills/home-assistant-manager && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "home-assistant-manager" agent skill from https://github.com/komal-SkyNET/claude-skill-homeassistant/tree/main/skills/home-assistant-manager into .github/skills/home-assistant-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant-manager", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install komal-SkyNET/claude-skill-homeassistant home-assistant-manager --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/komal-SkyNET/claude-skill-homeassistant.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/home-assistant-manager .opencode/skills/home-assistant-manager && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "home-assistant-manager" agent skill from https://github.com/komal-SkyNET/claude-skill-homeassistant/tree/main/skills/home-assistant-manager into .opencode/skills/home-assistant-manager/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "home-assistant-manager", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
home-assistant-managerEdits, validates, deploys and verifies Home Assistant YAML configuration over SSH, hass-cli or MCP, including automations and Lovelace dashboards.
The skill treats the repository as the Home Assistant `/config` directory, connected through git to the instance, and sets out one deploy pipeline: edit YAML locally, validate with `ha core check`, commit and push, pull on the instance, then reload or restart and verify from logs, traces and entity state. For quick loops, such as dashboards, it allows copying files straight over with `scp` and reloading before committing.
It compares access routes: SSH `ha` always works, `hass-cli` needs `HASS_SERVER` and `HASS_TOKEN` set before the session, and an MCP server, either the official integration or the community ha-mcp, is preferred when present. Guidance says when the slow config check can be skipped for an isolated edit and when it must run, namely before a restart or for `configuration.yaml`. The agent edits only YAML and Markdown files and never reads or writes `.env` or `secrets.yaml`, using `!secret` references instead. Reference notes cover automations and dashboards.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2112679. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
sshgitscppython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use ssh, git and scp, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
HASS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Home Assistant Manager loads about 1.8k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 801 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
(project CLAUDE.md, `~/.ssh/config`, or ask) and if it isn't recorded in the project`.yaml`/`.yml`/`.md`. Never read/write `.env` or `secrets.yaml`; use `!secret`.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from komal-SkyNET/claude-skill-homeassistant at commit 2112679, republished under its MIT licence (© komal-SkyNET). 801 words, ~1,779 tokens.
.claude/skills/home-assistant-manager/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.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.root@homeassistant.local 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 the
shell 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.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 root@homeassistant.local "ha core check" (slow, ~30-60s — see "when to
skip" below).git add … && git commit -m "…" && git push.ssh root@homeassistant.local "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 root@homeassistant.local:/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 root@homeassistant.local "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 root@homeassistant.local "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 ask
the 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 are
strings; '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 root@homeassistant.local "ha core check"
ssh root@homeassistant.local "ha core restart"
ssh root@homeassistant.local "cd /config && git pull" # make pushed changes live
# Logs
ssh root@homeassistant.local "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 root@homeassistant.local:/config/ && hass-cli service call automation.reload© komal-SkyNET, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in skills/home-assistant-manager of komal-SkyNET/claude-skill-homeassistant.
Open the folder on GitHubat commit 2112679
Home Assistant Manager next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Home Assistant Manager this skillkomal-SkyNET/claude-skill-homeassistant | 967 | — | ~1.8k | Automated safety check: Warn | MIT | |
| Pluggedin Stack OpsVeriTeknik/pluggedin-app | 103 | — | ~1.3k | Automated safety check: Notes | MIT | |
| Foremergenaw103/foremerge | 538 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Zed Configwcygan/dotfiles | 194 | — | ~930 | Automated safety check: Pass | None | |
| Edt MCP Ready To DeployDitriXNew/EDT-MCP | 296 | — | ~1.6k | Automated safety check: Pass | AGPL-3.0 | |
| RenderLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.8k | Automated safety check: Pass | MIT |
VeriTeknik/pluggedin-app
A skill your agent uses when deploying, restarting, verifying or rolling back the containerised plugged.in production stack, when the site returns 404 or 5xx after a deploy or git operation, or when…
naw103/foremerge
Coordinate parallel coding agents with Foremerge's local Git-compatible CLI and MCP server.
wcygan/dotfiles
Zed editor configuration expert. An agent skill from wcygan/dotfiles.
DitriXNew/EDT-MCP
The final "definition of done" / ready-to-deploy checklist for EDT-MCP — the ordered gate to run when a piece of work is finished, before declaring it done or merging.
LeoYeAI/openclaw-master-skills
Deploy and operate apps on Render (Blueprint + one-click Dashboard deeplink, same flow as Codex render-deploy).
n8n-io/n8n
Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance.
Works with
Categories
Edits, validates, deploys and verifies Home Assistant YAML configuration over SSH, hass-cli or MCP, including automations and Lovelace dashboards. The skill treats the repository as the Home Assistant `/config` directory, connected through git to the instance, and sets out one deploy pipeline: edit YAML locally, validate with `ha core check`, commit and push, pull on the instance, then reload or restart and verify from logs, traces and entity state. For quick loops, such as dashboards, it allows copying files straight over with `scp` and reloading before committing.
Home Assistant Manager fits situations like: editing Home Assistant automations, scripts, scenes or templates; deploying configuration changes and deciding between a reload and a restart; building or adjusting a Lovelace dashboard; checking from logs and traces that an automation change actually worked.
Run `npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a claude-code`. Or copy the skill folder (skills/home-assistant-manager in komal-SkyNET/claude-skill-homeassistant) into .claude/skills/home-assistant-manager in your project. Claude Code loads it when a task matches its description.
Run `npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a codex`. Or copy the skill folder (skills/home-assistant-manager in komal-SkyNET/claude-skill-homeassistant) into .agents/skills/home-assistant-manager in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add komal-SkyNET/claude-skill-homeassistant --skill home-assistant-manager -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/home-assistant-manager, .gemini/skills/home-assistant-manager, .github/skills/home-assistant-manager and .opencode/skills/home-assistant-manager in your project.
Going by SKILL.md and its folder, Home Assistant Manager needs the command-line tools its instructions call (ssh, git, scp and python3) and credentials named HASS_TOKEN. Our summary lists: A Home Assistant instance reachable over SSH, hass-cli or an MCP server; The Home Assistant config directory kept in a git repository.
SKILL.md contains no URLs. Its commands use ssh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
Home Assistant Manager is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Home Assistant Manager: Pluggedin Stack Ops (VeriTeknik/pluggedin-app, 103 stars), Foremerge (naw103/foremerge, 538 stars), Zed Config (wcygan/dotfiles, 194 stars) and Edt MCP Ready To Deploy (DitriXNew/EDT-MCP, 296 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
komal-SkyNET (a GitHub user) maintains it in komal-SkyNET/claude-skill-homeassistant, which has 967 GitHub stars. The repository was last updated on July 4, 2026.
Source: komal-SkyNET/claude-skill-homeassistant on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.