plugins/claude-code-homeassistant-hermit/skills/ha-setup-house/SKILL.md
Guided build-out of a Home Assistant house — create areas, assign entities and devices, provision helpers, and scaffold starter automations. Thin orchestration of existing CLI commands; all structural writes are gated by ha_safety_mode.
npx skillsauth add gtapps/claude-code-hermit ha-setup-houseInstall 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.
Guided build-out of your Home Assistant house structure. Each step runs existing ha-agent-lab commands — no new subsystem. Every write is gated by ha_safety_mode (strict = proposal, ask = --confirm prompt).
Run all four in parallel and present a summary:
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha list-areas
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha list-entities --registry
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha list-devices
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha list-helpers
Report:
.claude-code-hermit/raw/snapshot-ha-normalized-latest.jsonAsk: "Which rooms or zones would you like to create? (e.g. Living Room, Kitchen, Bedroom 1)"
For each area the operator names:
list-areas output — skip if the area already exists (case-insensitive match on name).${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha create-area "<name>" [--confirm]"ok": true — created; confirm to operator."requires_confirm": true — ha_safety_mode is ask; prompt operator, re-run with --confirm on approval."blocked": true — ha_safety_mode is strict; explain and create a proposal via /claude-code-hermit:proposal-create.After creating all areas, re-run ha list-areas and store the updated area map.
From the unplaced entity list (step 1), ask the operator which entities to assign and to which area.
For each assignment:
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha set-entity-area <entity_id> --area <area_id> [--confirm]
Use the area_id from the list-areas output, not the display name.
Handle requires_confirm / blocked the same as step 2.
From the unplaced device list (step 1), follow the same pattern:
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha set-device-area <device_id> --area <area_id> [--confirm]
Ask: "Do you want to add any input helpers (toggles, counters, schedules, etc.)?"
For each helper:
ha list-helpers --type <type> to check whether a similar helper already exists.ha-build-automation step 3).${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha create-helper <type> '<json>' [--confirm]Supported types: input_boolean, input_number, input_text, input_select, input_datetime, timer, counter, schedule.
Ask: "Would you like to create any starter automations for this house?"
For each automation:
/claude-code-homeassistant-hermit:ha-build-automation — it handles YAML drafting, helper provisioning, simulation, and apply.Run a context refresh so the entity snapshot reflects all changes:
${CLAUDE_PLUGIN_ROOT}/bin/ha-agent-lab ha refresh-context
Print a compact report:
ha-setup-house complete
Areas: N created, M already existed
Entities: N assigned to areas
Devices: N assigned to areas
Helpers: N created
Automations: N scaffolded (via ha-build-automation)
Context: refreshed
Ready to explore? Try /claude-code-homeassistant-hermit:ha-boot
tools
Composes and delivers the daily fitness brief — a forward-looking morning read (readiness + today's plan) or a backward-looking evening read (today's training, or an earned-rest note, + tomorrow's setup) — in the operator's configured voice. Invoke with /claude-code-fitness-hermit:fitness-brief --morning|--evening|--slot <name>. Becomes the plugin's two daily beats — the morning Strava connectivity check and the evening activity sync, RPE binding, and Run deep-dive.
development
Renew the hermit's long-lived Claude login token over the channel, before it expires. Relays a one-time sign-in link to the operator, takes the code back, installs the new token, and restarts. Activates on messages like 'relogin', 'renew my login', 'reauth', 'the login is expiring', or when doctor's credential-expiry check flags setup-token.
development
Synthesizes the past 7 days of archived briefs into a weekly digest — top stories, emerging vs faded themes, category activity, and per-source performance built from archive frontmatter. Delivers to the operator's configured channel and archives a weekly note. Designed as a weekly routine. Invoke with /feed-hermit:weekly-digest.
development
Manage developing story arcs tracked across briefs — add, resolve, and list active arcs in compiled/story-arcs-*.md. Arc Watch keywords drive the feed-brief arc-tagging enrichment. Invoke with /feed-hermit:story-arcs add|resolve|list.