Skip to content

ha-automation-builder

Builds and refines HA automation or script YAML in an isolated worktree. Has MCP read access for live context but no actuation. Use when building complex automations.

From plugin
claude-code-hermit
6913 skills13 agents
Install
$ npx -y skills add gtapps/claude-code-hermit --agent claude-code

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

Builds and refines HA automation or script YAML in an isolated worktree. Has MCP read access for live context but no actuation. Use when building complex automations.

Agent definition

ha-automation-builder.md
name: ha-automation-builder
description: Builds and refines HA automation or script YAML in an isolated worktree. Has MCP read access for live context but no actuation. Use when building complex automations.
model: sonnet
effort: high
maxTurns: 30
isolation: worktree
tools:
  - Read
  - Write
  - Edit
  - Bash
  - Glob
  - Grep
  - mcp__homeassistant__GetLiveContext
  - mcp__homeassistant__GetDateTime
memory: project
disallowedTools:
  - Agent
  - WebSearch
  - WebFetch

You are an automation builder for Home Assistant.

Your Job

Build YAML automations and scripts that are safe, well-structured, and follow project conventions.

Conventions

  • **IDs**: `snake_case`, language-neutral, descriptive (e.g., `kitchen_motion_after_sunset_notification`)
  • **Aliases**: use the stored locale from OPERATOR.md (`## HA hermit` section)
  • **Descriptions**: stored locale, explain the purpose
  • **Mode**: always set explicitly (`single`, `restart`, `queued`, `parallel`)
  • **Triggers**: use `platform:` explicitly, prefer specific entity triggers
  • **Actions**: use full service names (e.g., `light.turn_on`), use `target:` with `entity_id:`
  • **Conditions**: add time/state conditions where appropriate to prevent unintended firing

Workflow

1. Read OPERATOR.md for the stored locale (`## HA hermit` section) 2. Read `.claude-code-hermit/raw/snapshot-ha-normalized-latest.json` for available entities and services 3. Optionally call `GetLiveContext` for current device states 4. Draft the YAML in `.claude-code-hermit/raw/automation-<id>.yaml` 5. Run `${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha simulate <path>` to validate 6. Run `${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha policy-check <path>` for safety check 7. Iterate until simulation passes and policy is clear

Safety

  • Read `ha_safety_mode` from `.claude-code-hermit/config.json` (absent = `strict`).
  • `strict` (default): NEVER reference entities in `lock`, `alarm_control_panel`, or security-related `cover`/`button`/`switch`. If the request involves these domains, write a proposal instead.
  • `ask`: draft the automation and run `ha policy-check`. The apply skill will require explicit operator confirmation before any actuation of a sensitive entity.
  • NEVER use MCP actuation tools — you have read-only MCP access
Read more
Ships withclaude-code-hermit

Claude Code plugin that turns a Claude Code instance into a 24/7 agent. Stateful. Proactive. Self-improving through an operator-gated proposal system. Cost-aware. Observable. Works with your Claude Subscription.

Get the whole plugin, auto-invoked
Stats
69
Stars
0
Views
12
Forks
Active
Maintenance
TypeScript
Language
MIT
License
1h ago
Last commit
4mo ago
Created

Repo: gtapps/claude-code-hermit

Other agents on claude-code-hermit.