skills/hass-builder/SKILL.md
A skill to build and manage Home Assistant configurations. Use when using the Home Assistant Builder (`hab`) CLI to inspect, create, update, delete, operate, or troubleshoot Home Assistant resources; when a user mentions hab, Home Assistant CLI automation, Lovelace/dashboard edits, helpers, automations, scripts, backups, ESPHome, or Home Assistant operations from a terminal.
npx skillsauth add aahl/skills hass-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A CLI utility designed for LLMs to build and manage Home Assistant configurations.
The script scripts/hab.sh is a wrapper script that supports automatic installation, please replace all hab commands with the command scripts/hab.sh.
The home-assistant-build-cli project is built and released by Paulus (@balloob), the main maintainer of Home Assistant, who is also the founder of the Open Home Foundation that owns Home Assistant.
alias hab='scripts/hab.sh'
hab guide list
hab guide auth
hab schema overview
hab capability probe
Then read the topic and command schema for the specific workflow:
| Task | First commands |
| --- | --- |
| Discovery / inventory | hab guide discovery; hab schema entity list |
| Automation / script / scene | hab guide automation; hab schema automation create --json |
| Dashboard / Lovelace | hab guide dashboard; hab schema dashboard card create --json |
| Helpers | hab guide helpers; hab helper types --json |
| Calendar / to-do | hab guide calendar-todo |
| Backups / system / network | hab guide operations; hab schema system restart |
| ESPHome | hab guide esphome; hab schema esphome validate --json |
For a simple authenticated read, hab auth status plus the relevant schema is enough.
Use --json whenever Claude or another program will parse output. JSON success and error responses are envelopes; inspect these fields before continuing:
successdataerror.code, error.details.suggested_fixwarnings, partial_result, missing_sectionsverification_commands, next_suggested_commandsESPHome streaming commands such as build, validate, upload, run, and logs may emit NDJSON events in JSON mode instead of one final envelope.
Inspect before changing state:
--plan or --dry-run when supported.get/list command.Always ask for explicit user confirmation before operations that can cause downtime, data loss, connectivity loss, or hardware changes: system restart, backup restore/delete, network configure/apply, Thread dataset changes, integration enable/disable/reload, ESPHome upload/run/update/erase-flash, and any delete with --force.
Do not add --force just to make a command non-interactive. Use it only after the user has approved the exact operation.
Commands that accept data usually support:
| Method | Use when | Pattern |
| --- | --- | --- |
| --data / -d | Short JSON payloads | hab automation create id -d '{...}' --json |
| --file / -f | Larger YAML/JSON payloads | hab automation update id -f automation.yaml |
| stdin heredoc | Multi-line payload without temp file | hab automation create id <<'EOF' |
Prefer files or heredocs for large automations and dashboards so quoting does not corrupt JSON/YAML.
# Authentication and instance checks
hab auth status
hab overview
hab capability probe
# Entity inventory
hab entity list --domain light
hab entity get light.kitchen --device --related
hab search related entity light.kitchen
# Safe mutation preview
hab schema area create --json
hab area create "Kitchen" --plan
hab area create "Kitchen"
# Automation creation
hab guide automation
hab schema automation create --json
hab automation create kitchen_motion_light -d '{"alias":"Kitchen motion light","triggers":[{"trigger":"state","entity_id":"binary_sensor.kitchen_motion","to":"on"}],"conditions":[],"actions":[{"action":"light.turn_on","target":{"entity_id":"light.kitchen"}}]}' --dry-run
# Operations
hab guide operations
hab system health --json
hab system restart --plan
hab backup list
hab backup delete <backup_id> --plan
When answering a user asking for hab commands:
| Mistake | Better approach |
| --- | --- |
| Guessing command flags from memory | Run hab schema <command> --json first |
| Parsing text output | Use --json and inspect envelope fields |
| Creating resources without inventory | list/get/search related first |
| Skipping mutation preview | Use --plan or --dry-run when supported |
| Using --force for convenience | Confirm the exact risky operation first |
| Treating ESPHome JSON as one object | Handle NDJSON stream events for streaming commands |
| Ignoring verification_commands | Run them or explain why not |
tools
中国国家统计局公开数据查询技能,当用户想查询经济、CPI、GDP、人口、房价指数等数据时触发。
data-ai
Text-to-speech conversion using GLM-TTS service via the `uvx zai-tts` command for generating audio from text. Use when (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, podcast, driving, cooking). (3) Using pre-cloned voices for speech.
tools
查询中国地区的天气预报,支持15天及逐小时预报、各种生活指数
content-media
Transcribe audio files using Qwen ASR. Use when the user sends voice messages and wants them converted to text.