Skip to content
Automation
Skill

/ha-apply-change

Validate and apply a generated HA automation or script YAML with safety checks and optional reload. Use after building or modifying an automation.

From plugin
claude-code-hermit
7488 skills11 agents
Install
$ npx -y skills add gtapps/claude-code-hermit --skill ha-apply-change --agent claude-code

How it fires

How this skill 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.
  • Slash command/ha-apply-change

Context preview

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

Validate and apply a generated HA automation or script YAML with safety checks and optional reload. Use after building or modifying an automation.

SKILL.md

ha-apply-change.SKILL.md
name: ha-apply-change
description: Validate and apply a generated HA automation or script YAML with safety checks and optional reload. Use after building or modifying an automation.
allowed-tools:
  - Bash
  - Read
  - Write

Apply HA Change

Steps

1. **Pre-check**: Run `${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha policy-check <artifact_path>` to verify safety. Read the `decision` field in the JSON output:

  • `"deny"` (strict mode): stop and explain why. Create a proposal via `/claude-code-hermit:proposal-create`.
  • `"ask"` (ask mode): include the sensitive entities in the preview in step 2.
  • `"allow"`: proceed to step 2.

2. **Preview**: Present the artifact, policy result, affected entities, and reload domain. A changed artifact or target requires a fresh preview.

3. **Validate and apply**: Run `${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha validate-apply <artifact_path> --reload automation` (or `script`).

  • This runs HA config check, **pushes the config to HA via REST**, then reloads the domain.
  • The artifact must include `id:` at the top level — if missing, the CLI derives an ID from the alias or filename and warns in the output. A derived ID drifts if the alias is renamed, creating a duplicate.

4. **Post-apply**: Check the JSON output for `creation_ok` and read `.claude-code-hermit/raw/audit-ha-apply-latest.md`.

  • `creation_ok: true` — config was pushed and verified via REST. Reload picks it up immediately.
  • `creation_ok: false` + message contains "YAML mode" — HA is in YAML config mode (403). Tell the operator to place the generated YAML in their HA config directory and reload manually.
  • `creation_ok: false` + other message — push failed with a validation error from HA. Show the error message and suggest fixing the YAML.
  • If overall successful: update your auto memory if this automation introduces a new pattern.

Safety

  • The apply path only reloads `automation` and `script` domains.
  • A `deny` policy verdict stops the apply; an `ask` verdict requires approval covering the sensitive entities.
  • The operator must confirm before any reload happens.
Read more
Ships withclaude-code-hermit

If you know Claude Tag, the idea will feel familiar: hand Claude work through a channel, such as Discord, Telegram, or your custom integration, and get results back there.

Get the whole plugin

Other skills on claude-code-hermit.