Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
laurigates avatar

Ha Automations

  • 86 installs
  • 49 repo stars
  • Updated August 4, 2026
  • laurigates/claude-plugins

Helps with automation & workflows tasks.

About

ha-automations is a Claude Code skill for automation & workflows. It helps solo builders move faster with AI-assisted development.

  • ha-automations
  • Automation & Workflows
  • AI-coding skill

Ha Automations by the numbers

  • 86 all-time installs (skills.sh)
  • Ranked #865 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/laurigates/claude-plugins --skill ha-automations

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs86
repo stars49
Last updatedAugust 4, 2026
Repositorylaurigates/claude-plugins

What it does

Helps with automation & workflows tasks.

Files

SKILL.mdMarkdownGitHub ↗

Home Assistant Automations

When to Use This Skill

Use this skill when...Use ha-configuration instead when...
Creating automation rulesEditing configuration.yaml
Writing triggers/conditions/actionsSetting up integrations
Working with scripts and scenesManaging secrets
Using blueprintsOrganizing packages
Device trigger setupGeneral YAML configuration

Automation Structure

automation:
  - id: "unique_automation_id"
    alias: "Descriptive Name"
    description: "What this automation does"
    mode: single  # single, restart, queued, parallel

    trigger:
      - platform: state
        entity_id: binary_sensor.motion
        to: "on"

    condition:
      - condition: time
        after: "08:00:00"
        before: "22:00:00"

    action:
      - service: light.turn_on
        target:
          entity_id: light.living_room

Trigger Types

State Triggers

trigger:
  # Basic state change
  - platform: state
    entity_id: binary_sensor.door
    to: "on"
    from: "off"

  # With duration
  - platform: state
    entity_id: binary_sensor.motion
    to: "off"
    for:
      minutes: 5

  # Attribute change
  - platform: state
    entity_id: climate.thermostat
    attribute: current_temperature

Time Triggers

trigger:
  # Specific time
  - platform: time
    at: "07:00:00"

  # Input datetime
  - platform: time
    at: input_datetime.alarm_time

  # Time pattern (every hour)
  - platform: time_pattern
    hours: "*"
    minutes: 0
    seconds: 0

  # Every 15 minutes
  - platform: time_pattern
    minutes: "/15"

Other trigger types (numeric state, sun, device, event, webhook, template, zone) are documented in REFERENCE.md.

Condition Types

State Conditions

condition:
  # Single entity
  - condition: state
    entity_id: binary_sensor.door
    state: "off"

  # Multiple states allowed
  - condition: state
    entity_id: alarm_control_panel.home
    state:
      - armed_home
      - armed_away

  # Check for duration
  - condition: state
    entity_id: binary_sensor.motion
    state: "off"
    for:
      minutes: 10

Time Conditions

condition:
  # Time range
  - condition: time
    after: "08:00:00"
    before: "22:00:00"

  # Weekdays only
  - condition: time
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri

  # Combined
  - condition: time
    after: "09:00:00"
    before: "17:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri

Other condition types (numeric state, sun, template, zone, logical, shorthand) are documented in REFERENCE.md.

Action Types

Service Calls

action:
  # Basic service call
  - service: light.turn_on
    target:
      entity_id: light.living_room
    data:
      brightness_pct: 80
      color_temp: 350

  # Multiple targets
  - service: light.turn_off
    target:
      entity_id:
        - light.bedroom
        - light.bathroom
      area_id: upstairs

Delays and Waits

action:
  - service: light.turn_on
    target:
      entity_id: light.living_room

  # Fixed delay
  - delay:
      seconds: 30

  # Wait for trigger
  - wait_for_trigger:
      - platform: state
        entity_id: binary_sensor.motion
        to: "off"
    timeout:
      minutes: 5
    continue_on_timeout: true

  # Wait for template
  - wait_template: "{{ is_state('light.bedroom', 'off') }}"
    timeout: "00:05:00"

If/Then/Else (Modern)

action:
  - if:
      - condition: state
        entity_id: binary_sensor.motion
        state: "on"
    then:
      - service: light.turn_on
        target:
          entity_id: light.hallway
    else:
      - service: light.turn_off
        target:
          entity_id: light.hallway

For advanced action patterns (choose, repeat, variables, parallel execution), scripts, scenes, and common automation patterns, see REFERENCE.md.

Automation Modes

ModeBehavior
singleIgnore new triggers while running
restartStop current run, start new
queuedQueue up to max runs
parallelRun up to max in parallel
automation:
  - alias: "Motion Light"
    mode: restart
    max: 10  # For queued/parallel
    max_exceeded: silent  # silent, warning, error

Agentic Optimizations

ContextCommand
Find automationgrep -r "alias:" config/automations.yaml
Find triggersgrep -r "platform: state" config/ --include="*.yaml"
List scriptsgrep -r "^ [a-z_]*:" config/scripts.yaml
Find scenesgrep -r "^ - name:" config/scenes.yaml
Check automation IDsgrep -r "^ - id:" config/automations.yaml

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.