ha-onboardlisted
Install: claude install-skill LayerTM/ClaudeInHA
Read-only survey. Gather facts about this Home Assistant instance, then write a tight summary into `/homeassistant/CLAUDE.md` so future sessions skip discovery. Never restart or reload during onboarding — this only reads.
First check whether onboarding already happened; if so, refresh the section instead of duplicating it:
```bash
grep -q '^# This instance' /homeassistant/CLAUDE.md 2>/dev/null && echo "ALREADY ONBOARDED — read the existing section, refresh only if stale" || echo "NOT ONBOARDED — proceed"
```
## 1. Core facts (version + location)
```bash
ha core info
curl -sS -H "Authorization: Bearer $SUPERVISOR_TOKEN" http://supervisor/core/api/config \
| jq '{version, location_name, time_zone, latitude, longitude, unit_system, config_dir, integrations: (.components | length)}'
```
## 2. Entities by domain
```bash
# Total entity count
curl -sS -H "Authorization: Bearer $SUPERVISOR_TOKEN" http://supervisor/core/api/states | jq 'length'
# Count per domain, most-populated first
curl -sS -H "Authorization: Bearer $SUPERVISOR_TOKEN" http://supervisor/core/api/states \
| jq -r 'group_by(.entity_id | split(".")[0])
| map({domain: (.[0].entity_id | split(".")[0]), count: length})
| sort_by(-.count) | .[] | "\(.count)\t\(.domain)"'
```
## 3. Integrations (loaded components)
```bash
curl -sS -H "Authorization: Bearer $SUPERVISOR_TOKEN" http://supervisor/core/api/config \
| jq -r '.components[]' | grep -v '\.' | sort
```
## 4. Areas (optional — nee