Skill

ha-scripts

Home Assistant YAML scripts — callable, reusable action sequences with optional parameters. Use when creating a script, defining a reusable sequence, or adding parameterized fields to a script.

From home-assistant-dev
Install
1
Run in your terminal
$
npx claudepluginhub l3digitalnet/claude-code-plugins --plugin home-assistant-dev
Tool Access

This skill uses the workspace's default tool permissions.

Skill Content

Home Assistant YAML Scripts

Scripts are reusable, callable action sequences — unlike automations they have no trigger and must be called explicitly.

YAML Style Rules

  • 2-space indentation (never tabs)
  • Lowercase booleans: true / false
  • Entity IDs: domain.entity_name (lowercase, underscores)

Script Template

script:
  morning_routine:
    alias: "Morning Routine"
    mode: single  # single | restart | queued | parallel
    fields:
      brightness:
        description: "Light brightness percentage"
        default: 100
        selector:
          number:
            min: 0
            max: 100
    sequence:
      - action: light.turn_on
        target:
          area_id: kitchen
        data:
          brightness_pct: "{{ brightness }}"
      - delay:
          seconds: 2
      - action: media_player.play_media
        target:
          entity_id: media_player.kitchen_speaker
        data:
          media_content_id: "good_morning_playlist"
          media_content_type: "playlist"

Calling a Script

# From an automation
- action: script.morning_routine
  data:
    brightness: 80

# From the UI: Developer Tools → Actions → script.morning_routine

When to Use Scripts vs Automations

Use CaseChoose
Triggered by an event or state changeAutomation
Called by multiple automationsScript
Complex reusable logicScript
One-off response to a triggerAutomation

Related Skills

  • Automations → ha-yaml-automations
  • Blueprints → ha-blueprints
Stats
Parent Repo Stars3
Parent Repo Forks0
Last CommitFeb 19, 2026