Home Assistant YAML configuration management. Use when editing configuration.yaml, setting up integrations, configuring secrets, managing packages, or troubleshooting Home Assistant configuration issues. Covers core configuration patterns and best practices.
View on GitHublaurigates/claude-plugins
home-assistant-plugin
February 4, 2026
Select agents to install to:
npx add-skill https://github.com/laurigates/claude-plugins/blob/main/home-assistant-plugin/skills/ha-configuration/SKILL.md -a claude-code --skill ha-configurationInstallation paths:
.claude/skills/ha-configuration/# Home Assistant Configuration
## When to Use This Skill
| Use this skill when... | Use ha-automations instead when... |
|------------------------|-----------------------------------|
| Editing configuration.yaml | Creating automation rules |
| Setting up integrations | Writing automation triggers/actions |
| Managing secrets.yaml | Debugging automation logic |
| Organizing with packages | Working with automation blueprints |
| Troubleshooting config errors | Setting up device triggers |
## Core Configuration Files
| File | Purpose |
|------|---------|
| `configuration.yaml` | Main configuration entry point |
| `secrets.yaml` | Sensitive values (passwords, API keys, tokens) |
| `automations.yaml` | Automation rules (usually UI-managed) |
| `scripts.yaml` | Reusable script sequences |
| `scenes.yaml` | Scene definitions |
| `customize.yaml` | Entity customizations |
| `packages/*.yaml` | Modular configuration packages |
## Configuration Structure
### Basic configuration.yaml
```yaml
homeassistant:
name: Home
unit_system: metric
time_zone: Europe/Helsinki
currency: EUR
country: FI
# External files
customize: !include customize.yaml
packages: !include_dir_named packages/
# Core integrations
default_config:
# Text-to-speech
tts:
- platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
```
### Secrets Management
**secrets.yaml:**
```yaml
# API keys
openweathermap_api_key: "abc123def456"
spotify_client_id: "your_client_id"
spotify_client_secret: "your_client_secret"
# Database
recorder_db_url: "postgresql://user:pass@localhost/hass"
# MQTT
mqtt_username: "homeassistant"
mqtt_password: "secure_password"
# Network
latitude: 60.1699
longitude: 24.9384
```
**Reference in configuration.yaml:**
```yaml
weather:
- platform: openweathermap
api_key: !secret openweathermap_api_key
recorder:
db_url: !secret recorder_db_url
```
## Include Directives
| Directive | Descript