← ClaudeAtlas

ha-entity-description-maplisted

Generates EntityDescription tuple lists for an HA Custom Integration platform module from a datapoint table or API-schema JSON, plus matching strings.json and icons.json entries. Activate on phrasings like "add sensors from this datapoint list", "generate EntityDescriptions from this CSV", "add binary_sensors for the alert types", "erweitere die Sensor-Plattform um folgende Datapoints". Do not activate for greenfield scaffolding (use ha-integration-scaffold) or when the platform file does not yet exist.
nolte/claude-home-assistant · ★ 1 · Data & Documents · score 68
Install: claude install-skill nolte/claude-home-assistant
# HA EntityDescription Mapper Spec: `spec/claude/ha-entity-description-map/en.md` (EN canonical) / `spec/claude/ha-entity-description-map/de.md` (DE translation). ## Why this is a skill, not an agent - **Per-datapoint operator decisions (decisive):** mapping a datapoint table to EntityDescription tuples requires judgement calls (device class, unit, enabled-by-default) that are confirmed in the conversation, not fired off blind. - **Output flows back naturally:** the generated tuple list and strings/icons entries are reviewed and iterated inline before they land. - **Counter-dimension considered:** the generation step is mechanical and self-contained (agent bias), but a wrong device-class guess multiplied over a whole table is expensive — the confirm-as-you-go dialogue outweighs isolation. ## When this skill activates Use this skill when the user wants to add datapoints (sensors, binary sensors, buttons, numbers, selects, switches, calendars, todos) to an existing platform file in declarative `EntityDescription` form. ## When NOT to activate - greenfield scaffold → `ha-integration-scaffold` - platform file missing → run scaffold first, then come back - custom state-class definitions → manual code edit - multi-platform generation in one call → call this skill once per platform ## Hard rules 1. **Never overwrite existing entries.** Conflict on `EntityDescription.key` aborts with the conflicting key quoted. 2. **Never invent translations.** Non-English translations land