Agent skill

Home Assistant Automation Builder

by autonomous-ai in autonomous-ai/openharness

Turns a home-automation request into standard, testable automations.yaml, run against Home Assistant Core's real triggers and verified with its own trace tool.

MITAuto-check passedProductivity & Automation

Install Home Assistant Automation Builder

skills CLI
$ npx skills add autonomous-ai/openharness --skill home-assistant -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install autonomous-ai/openharness home-assistant --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/store/agents/home-assistant/skills/home-assistant .claude/skills/home-assistant && rm -rf skills-src

Use ~/.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/

Facts

Skill name
home-assistant
GitHub stars
1.2k
Token cost
~1.2k tokens
SKILL.md length
614 words
Files
9 (incl. scripts, references)
Skills in repo
100
Repo updated
First seen
Licence
MIT

At a glance

Turns a home-automation request into standard, testable automations.yaml, run against Home Assistant Core's real triggers and verified with its own trace tool.

  • Turning a plain-language automation request into standard Home Assistant YAML
  • SKILL.md covers Build, inspect and deliver and Scope and installation boundary
  • Runs JavaScript and Shell scripts from its folder; calls bash and node
  • Writing test assertions for an automation's normal and non-firing cases

What it does

Produces a standard `automations.yaml` file, a testable brief with a fixture inventory recorded in `project.json`, and a portable installation kit as the actual deliverables, not a diagram or a preview-only dashboard, since Habitat's own interface must be served by its tools rather than opened as a static file. When the user has no real devices, it uses explicitly labeled example entities instead, and if the user supplies existing YAML it is kept and preserved rather than replaced outright, with consequential choices like manual overrides and timeout behavior clarified only when they actually matter.

A dedicated scenarios reference governs the test model, built from Home Assistant Core's actual triggers, conditions, templates and actions rather than a simplified, homegrown stand-in, with a bundled hallway example serving only as an editable starting point rather than defining the system's limits. Test assertions are designed from the brief before the implementation is touched, covering normal operation and the non-firing cases where guards matter, such as interruption, debounce, a missing sensor, or a manual takeover, and checking the exact call sequence, target, timing and final state rather than just whether something ran.

A single build script runs the actual Core test suite, keeps a checked copy of the delivered automation under an output folder, and separately exercises the studio's draft round trip, native trace, ZIP download and desktop and mobile layout inside a real Chromium browser, recording its evidence to dedicated harness log files. A faster CLI-only build script exists for iterating, but it deliberately leaves browser readiness unverified.

When your agent uses it

  • Turning a plain-language automation request into standard Home Assistant YAML
  • Writing test assertions for an automation's normal and non-firing cases
  • Verifying a built automation with Home Assistant Core's native trace tool
  • Delivering a portable installation kit for a Home Assistant automation

Example prompts

  • “Build an automation that turns on the porch light at sunset, with a test for the no-sensor case.”
  • “Here's my existing automations.yaml — add a new motion-triggered scene without touching the rest.”
  • “Run the full build and check the native trace for this automation.”

Requirements

  • Home Assistant Core
  • Node.js
  • Chromium, for the browser verification step

What it can do on your machine

Read from SKILL.md and the folder at commit cc4983e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 7 files in scripts/ (JavaScript and Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Home Assistant Automation Builder loads about 1.2k tokens when it runs, and up to ~2.5k if it reads all its reference files. Until then it costs about 62 tokens; SKILL.md has 614 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.5k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

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); the scripts in this folder are not scanned.

SKILL.md

The full file from autonomous-ai/openharness at commit cc4983e, republished under its MIT licence (© autonomous-ai). 614 words, ~1,177 tokens.

Download SKILL.mdSave it as .claude/skills/home-assistant/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
home-assistant
description
Turn home-automation requirements into editable Home Assistant YAML, tested what-if scenarios, native Core traces and a reviewed installation kit in Habitat. Use for automation authoring and revision, not unrequested device control.

Build an automation people can use

The deliverable is standard automations.yaml, a testable brief and fixture inventory in project.json, and a portable installation kit—not a diagram or a preview-only dashboard. Habitat's index.html is served by tools/serve.mjs; opening it as a static file is insufficient.

Start with the desired outcome and constraints. If the user has no devices, use explicitly labeled example entities. If they provide existing YAML, keep a copy and preserve unrelated entries; do not replace their installation configuration. Clarify consequential choices such as manual overrides, thresholds and timeout behavior when needed, but do not require hardware for a device-free project.

Read references/scenarios.md when creating or changing the test model. Use actual Core triggers, conditions, templates and actions; do not translate them into a homegrown interpreter. Support a new user request with its own entity inventory and meaningful cases. The hallway starter is an editable starting point, not the definition of this harness.

Design assertions from the brief before adjusting the implementation. Cover normal operation and important non-firing cases where guards matter; include interruption, bounce, missing sensor or manual takeover when relevant. Assert exact call sequence, target, timing and important final states. A complete suite requires each automation to finish with a service call in at least one case; this is minimum coverage, not exhaustive proof.

Build, inspect and deliver

From the workspace:

sh
bash "$HA_SKILLS/home-assistant/scripts/build-automations.sh"

This runs the actual Core suite, preserves a checked delivery in output/, then tests the studio's draft round trip, native trace, ZIP download and desktop/mobile layout in Chromium. It records source/runtime-bound evidence in .harness/last-run.json and .harness/browser-proof.json. Setup installs pinned Python/Core and browser runtimes; it does not connect to a home. Use node tools/build.mjs for a quick CLI-only check while iterating; it intentionally leaves browser readiness false.

Inspect expected versus actual calls and Core traces, and look at the generated desktop/mobile screenshots. Change the automation to satisfy the intended behavior, not the test to excuse a bug. Rebuild after every substantive revision. For a new workflow, also reopen the saved JSON or exported ZIP in a fresh directory and rerun it; the user must be able to continue their work without the original workspace.

Deliver the editable project, automations.yaml, readable report, evidence, entity checklist and INTEGRATION.md. Explain the behavior, how the user can revise it, the significant scenarios checked, and the remaining limits. Browser edits are unsaved drafts until Save to workspace; saves preserve history and reject concurrent source changes. Any source/runtime edit invalidates checked output. Failed checks preserve the last useful delivery and clear readiness. Never write a passing verdict manually.

Show full SKILL.md (189 more words)Show less

Scope and installation boundary

Core 2026.9.3 executes real automation logic, local services/helpers and native traces. Time and light/fan/switch device I/O are test doubles; registries are non-persistent. A green result does not verify physical devices, a real installation, restart/restore, network failures or notifications on a phone. Do not claim an unsupported adapter was tested or silently omit it. See PROJECT.md for the supported fixture/trigger types and limits.

Keep each rule's stable ID and initial_state: false; only the isolated runner enables its own copy. That line also disables the imported automation at each real startup until deliberately removed/changed after review. Real installation requires a backup, matching IDs/units/capabilities/helpers/time zone, merging only reviewed entries, that installation's own configuration check, and supervised tests including important non-firing behavior. Run actions alone does not test triggers or conditions.

No URL/token entry, discovery, real service call or deployment is part of this workflow. Such actions require separate user authorization. Reports include source text, states and notes; remind the user to review them before sharing. If a native test, adapter or runtime is unavailable, report the precise limit, keep the draft, and do not relabel it as verified.

© autonomous-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references) in store/agents/home-assistant/skills/home-assistant of autonomous-ai/openharness.

  • SKILL.md
  • references/scenarios.md
  • scripts/build-automations.sh
  • scripts/build.mjs
  • scripts/dashboard.html
  • scripts/dashboard.js
  • scripts/legacy-configuration.yaml
  • scripts/legacy-proof.json
  • scripts/model.mjs

Open the folder on GitHubat commit cc4983e

Compare with similar skills

Home Assistant Automation Builder 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.

Home Assistant Automation Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Home Assistant Automation Builder this skillautonomous-ai/openharness1.2k—~1.2kAutomated safety check: PassMIT
Home Assistant Managerkomal-SkyNET/claude-skill-homeassistant967—~1.8kAutomated safety check: WarnMIT
Skyvern Browser AutomationSkyvern-AI/skyvern23k1 repos~2.9kAutomated safety check: PassAGPL-3.0
N8n CLIn8n-io/n8n207k—~3kAutomated safety check: PassCustom licence
CUAWright Web Task Automationmicrosoft/CUAWright6k—~2kAutomated safety check: NotesMIT
Skyvern Browser AutomationSkyvern-AI/skyvern23k—~1.9kAutomated safety check: PassAGPL-3.0

Similar skills

  • Home Assistant Manager

    komal-SkyNET/claude-skill-homeassistant

    Edits, validates, deploys and verifies Home Assistant YAML configuration over SSH, hass-cli or MCP, including automations and Lovelace dashboards.

    967 GitHub stars~1.8k tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check: warnings
  • Skyvern Browser Automation

    Skyvern-AI/skyvern

    Picks the right Skyvern CLI command for a web task, from quick yes/no checks to reusable multi-page workflows, instead of falling back to plain page fetching.

    23k GitHub starsUsed in 1 repo~2.9k tokens
    Productivity & AutomationAuto-check passed
  • N8n CLI

    n8n-io/n8n

    Official

    Use the n8n CLI to manage workflows, credentials, executions, and more on an n8n instance.

    207k GitHub stars~3k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Official

    Solves web tasks by driving a local Playwright browser one bash command at a time, saving a reusable script, screenshots and an action log for each run.

    6k GitHub stars~2k tokensUpdated 4 days ago
    Productivity & AutomationAuto-check: notes
  • Skyvern Browser Automation

    Skyvern-AI/skyvern

    Automates websites with Skyvern's AI browser agent to fill forms, extract data, download files, log in and run multi-step workflows through SDKs, REST, MCP or a CLI.

    23k GitHub stars~1.9k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Piece Builder

    activepieces/activepieces

    Build and edit Activepieces pieces (integrations) — creating new pieces, adding actions or triggers, or fixing bugs in existing ones.

    25k GitHub stars~3.1k tokensUpdated today
    Productivity & AutomationAuto-check: notes

More from autonomous-ai/openharness

All 100 skills in this repo
  • G-code Slicer Tool

    autonomous-ai/openharness

    Slices 3D mesh files into printer-profiled plain G-code through real slicer CLIs, with backend discovery, input inspection, dry runs and static validation.

    1.2k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Score Music Composer

    autonomous-ai/openharness

    Turns a musical brief into LilyPond concert-pitch music, checked parts for each instrument and a playable practice pack.

    1.2k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • OrcaSlicer 3MF and G-code Workflow

    autonomous-ai/openharness

    Turns an STL and explicit printer and material requirements into compared OrcaSlicer plans, an editable 3MF project, checked G-code and a portable handoff.

    1.2k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Sheets and Docs Report Builder

    autonomous-ai/openharness

    Builds an editable DOCX report, a formula-driven XLSX workbook and a fresh LibreOffice PDF preview from one structured source file, then checks them together.

    1.2k GitHub stars~708 tokensUpdated today
    Auto-check passed
  • Bambu Labs

    autonomous-ai/openharness

    Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain .gcode, using Bambu LAN FTPS/MQTT handoffs.

    1.2k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check: warnings
  • CAD Viewer Launcher

    autonomous-ai/openharness

    Starts a local CAD Viewer server for a directory of CAD, robot-description or DXF files and returns a live review link, reusing a running instance when one already serves that directory.

    1.2k GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Works with

Questions about Home Assistant Automation Builder

What does Home Assistant Automation Builder do?

Turns a home-automation request into standard, testable automations.yaml, run against Home Assistant Core's real triggers and verified with its own trace tool. json`, and a portable installation kit as the actual deliverables, not a diagram or a preview-only dashboard, since Habitat's own interface must be served by its tools rather than opened as a static file. When the user has no real devices, it uses explicitly labeled example entities instead, and if the user supplies existing YAML it is kept and preserved rather than replaced outright, with consequential choices like manual overrides and timeout behavior clarified only when they actually matter.

When should I use Home Assistant Automation Builder?

Home Assistant Automation Builder fits situations like: turning a plain-language automation request into standard Home Assistant YAML; writing test assertions for an automation's normal and non-firing cases; verifying a built automation with Home Assistant Core's native trace tool; delivering a portable installation kit for a Home Assistant automation.

How do I install Home Assistant Automation Builder in Claude Code?

Run `npx skills add autonomous-ai/openharness --skill home-assistant -a claude-code`. Or copy the skill folder (store/agents/home-assistant/skills/home-assistant in autonomous-ai/openharness) into .claude/skills/home-assistant in your project. Claude Code loads it when a task matches its description.

How do I install Home Assistant Automation Builder in Codex?

Run `npx skills add autonomous-ai/openharness --skill home-assistant -a codex`. Or copy the skill folder (store/agents/home-assistant/skills/home-assistant in autonomous-ai/openharness) into .agents/skills/home-assistant in your project. Codex loads it when a task matches its description.

Can I use Home Assistant Automation Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add autonomous-ai/openharness --skill home-assistant -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, .gemini/skills/home-assistant, .github/skills/home-assistant and .opencode/skills/home-assistant in your project.

What does Home Assistant Automation Builder need to run?

Going by SKILL.md and its folder, Home Assistant Automation Builder needs JavaScript and a shell for the scripts in its folder and the command-line tools its instructions call (bash and node). Our summary lists: Home Assistant Core; Node.js; Chromium, for the browser verification step.

Does Home Assistant Automation Builder access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Home Assistant Automation Builder safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Home Assistant Automation Builder use?

Home Assistant Automation Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Home Assistant Automation Builder use?

About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.

What are the alternatives to Home Assistant Automation Builder?

Skills that share tags, products or a category with Home Assistant Automation Builder: Home Assistant Manager (komal-SkyNET/claude-skill-homeassistant, 967 stars), Skyvern Browser Automation (Skyvern-AI/skyvern, 23k stars), N8n CLI (n8n-io/n8n, 207k stars) and CUAWright Web Task Automation (microsoft/CUAWright, 6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Home Assistant Automation Builder?

autonomous-ai (a GitHub organization) maintains it in autonomous-ai/openharness, which has 1,210 GitHub stars. The repository holds 100 skills in this directory. The repository was last updated on October 10, 2026.

Source: autonomous-ai/openharness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.