xiaolisted
Install: claude install-skill dacrypt/xiao
# xiao — Xiaomi Vacuum CLI Skill
The `xiao` CLI controls a Xiaomi Robot Vacuum X20+ via Xiaomi Cloud. Full
reference lives in [`AGENTS.md`](../../../AGENTS.md) at the repo root — **read
that first** for canonical commands, intent mapping, and error recovery.
## Prerequisites
Before any command will succeed:
1. `pip install xiao-cli && playwright install chromium` (once per machine).
2. `xiao setup cloud` completed — produces `config.toml`.
3. Chromium on port `18800` with an active `account.xiaomi.com` session:
```bash
chromium --remote-debugging-port=18800 --user-data-dir=~/.xiao-chromium
```
## Workflow for any user request
1. **Parse intent.** Check the "Intent mapping" table in `AGENTS.md`.
2. **Resolve room IDs** with `xiao map rooms` before any `xiao clean -r <id>`.
Never guess. IDs are per-vacuum and regenerate when the Xiaomi Home app
re-maps the house.
3. **Run the command.** Prefer `--json` for status-type commands so you can
parse deterministically:
```bash
xiao status --json
xiao consumables --json
```
4. **On error**, apply the recovery protocol in `AGENTS.md#error-recovery`
before asking the user:
- Exit `77` or stderr contains `token`/`401` → retry once; if still bad,
`xiao cloud-login` and retry.
- Exit `2` or stderr says "Cloud mode enabled but not configured" → guide
user through `xiao setup cloud`.
- `Cannot connect to browser CDP on port 18800` → launch the Chromium
instance described above and