ha-voicelisted
Install: claude install-skill LayerTM/ClaudeInHA
Assist voice = three stages: **STT** (speech → text) → **conversation agent** (Claude) → **TTS** (text → speech). Claude (the companion integration's agent — it appears in the Assist dropdown as **"Claude Code"**, and declares `supported_languages = MATCH_ALL`, so it never restricts the pipeline language) already understands every language — the only gap for non-English voice is the STT/TTS engines. This wires up a **fully local** pipeline: **Whisper** (STT, multilingual) + **Piper** (TTS) + Claude, in the user's language. The only cloud call is Claude itself, exactly like the text chat.
**Key architecture (verified live 2026-07-09):** install Whisper and Piper **ONCE** (not per language). A single multilingual Whisper + a single Piper serve **all** languages — each Assist assistant (pipeline) carries its own language, which is passed to the engines per request, and Piper downloads the requested voice on demand. So for N languages you create N **assistants**, all pointing at the **same** two engines. Do NOT hard-pin Whisper to one language.
Prefer driving the Supervisor via the console `ha` CLI over raw curl. Add-ons are addressed by **slug**.
## 1. Whisper — speech-to-text (install once, multilingual)
```bash
ha addons | grep -iE 'whisper|faster' # find the slug (usually core_whisper)
ha addons install core_whisper 2>&1 || echo "already installed"
```
In **Settings → Add-ons → Whisper → Configuration**, set:
- **Model:** `small-int8` — multilingual (NOT a `.en` m