Skip to content
Automation
Agent

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
hermitd
8414 skills14 agents

Claude Code

> /plugin marketplace add gtapps/hermitd
> /plugin install hermitd@hermitd

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__homeassistant__GetLiveContext
  - mcp__homeassistant__GetDateTime
  - mcp__homeassistant__llm__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 operator's language unless a CLAUDE file instruction names another
  • **Descriptions**: explain the purpose in the operator's language unless a CLAUDE file instruction names another
  • **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. Check CLAUDE file instructions for an automation-naming language; otherwise use the operator's language for `alias` and `description`. 2. Read `.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 `.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 `.hermit/config.json` (absent in valid config = `ask`).
  • `strict` (explicit): 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
@gtapps
Ships withhermitd

Run an always-on Claude Code agent on your own machine, for you or your team. Start and orchestrate sessions from chat in any project it can reach. Take over the same session in the Claude app or the CLI.

8489 skills14 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
84
Star history of gtapps/claude-code-hermit on GitHub, a chart by star-history.com

Other agents on hermitd.

plugin-validator

plugin-validator

Agent

Validates a single plugin's structure in the monorepo — checks plugin.json consistency, skill frontmatter, hook matcher syntax,…

@gtapps@gtappsInstall Agent
source-fetcher

source-fetcher

Agent

Fetches web/RSS sources from feed-sources.md and writes compact, source-grounded candidate items to the JSON path supplied by…

@gtapps@gtappsInstall Agent
strava-data-cruncher

strava-data-cruncher

Agent

Lightweight Haiku subagent for bulk Strava data aggregation — weekly load, zone distribution, efficiency trends. Returns compact…

@gtapps@gtappsInstall Agent
ha-pattern-analyst

ha-pattern-analyst

Agent

Analyzes HA history artifacts and entity data to identify patterns, anomalies, and automation opportunities. Cheap and fast —…

@gtapps@gtappsInstall Agent
ha-safety-reviewer

ha-safety-reviewer

Agent

Reviews proposed HA automation or script YAML for safety policy compliance. Read-only — never modifies files or actuates devices.…

@gtapps@gtappsInstall Agent
issue-sanitizer

issue-sanitizer

Agent

Sanitizes a draft GitHub issue (title + body) before it's filed publicly. Strips anything personal or specific to the operator's…

@gtapps@gtappsInstall Agent

More agents from other plugins.

BUILT_IN_TOOLS

BUILT_IN_TOOLS

Agent

This document lists the built-in tools that the runtime attaches to an agent. It explains what each tool does and when the…

n8n12d209k
@n8n-io@n8n-ioInstall Agent
aris-fanout-leaf

aris-fanout-leaf

Agent

Read-only leaf worker for one bounded ARIS fan-out shard. Never delegates, writes files, or renders verdicts.

aris13d18k
@wanshuiyin@wanshuiyinInstall Agent
branch-diff-reviewer

branch-diff-reviewer

Agent

Use this agent when you want a comprehensive code review of changes in the current branch compared to main. This includes…

windmill12d18k
@windmill-labs@windmill-labsInstall Agent
GLOBAL

GLOBAL

Agent

本文件包含所有 Agent 必须遵守的通用规则。各 Agent 的 SOUL.md 可覆盖此处设定。

edict6w17k
@cft0808@cft0808Install Agent

Questions about ha-automation-builder.

Which coding agents can use ha-automation-builder?
ha-automation-builder installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.