ha-esphome-voice-satellite-addlisted
Install: claude install-skill nolte/claude-home-assistant
# HA ESPHome Voice Satellite Add
Spec: `spec/claude/ha-esphome-voice-satellite-add/en.md` (EN canonical) / `spec/claude/ha-esphome-voice-satellite-add/de.md` (DE translation). Grounding specs: `spec/ha/esp32-s3-box/en.md` §Audio binding / §Voice-assistant binding (device side) and `spec/ha/assist-pipeline/en.md` (Home Assistant side).
Binds the voice path of one device per invocation, and states plainly which half of the result lives in Home Assistant rather than in the YAML.
## Why this is a skill, not an agent
- **Mid-flow approval is the contract (decisive):** the board generation, the wake-word placement, and the engine consequences are decisions with hardware and privacy weight — a wrong codec pair addresses ICs that are not on the board, and server-side wake word means satellites stream continuously.
- **Two-sided result:** the device YAML is written here, the pipeline is configured by the operator in Home Assistant; that handover is a conversation, not a report.
- **Counter-dimension considered:** the pin and codec lookup per generation is mechanical (agent bias), but it is inseparable from the "which generation is actually in hand" question the operator answers; skill wins.
## When this skill activates
The user wants an ESPHome device to hear and speak — "mach die Box zum Assist-Satelliten", "add wake word to this device", "wire the microphone and speaker".
## When NOT to activate
- what the screen shows during a pipeline run → `ha-esphome-display-author`
- a