← ClaudeAtlas

ha-esphome-display-authorlisted

Authors the on-screen content of an ESPHome display device per spec/ha/esp32-s3-box-display — fixing the rendering path (display with pages and lambdas, or lvgl, never mixed), then emitting a page for every reachable state including the degraded ones, the single redraw script that update_interval: never requires, the layout-zone geometry, fonts with explicit size and bounded glyph sets, images with explicit type and resize in the form matching the config's min_version, id-carrying colours, and lambdas guarded against unavailable values and zero divisors. Records the measured truncation budget and the framebuffer and asset flash cost. Activate on "design the screen for my ESPHome device", "add a page to the box display", or equivalent German requests. Do not activate for the panel's hardware binding (ha-esphome-config-augment), for where the values come from (ha-esphome-binding-add), for the voice pipeline (ha-esphome-voice-satellite-add), or for a Divoom Pixoo display (ha-pixoo-solution).
nolte/claude-home-assistant · ★ 1 · AI & Automation · score 71
Install: claude install-skill nolte/claude-home-assistant
# HA ESPHome Display Author Spec: `spec/claude/ha-esphome-display-author/en.md` (EN canonical) / `spec/claude/ha-esphome-display-author/de.md` (DE translation). Grounding specs: `spec/ha/esp32-s3-box-display/en.md` (rendering, canonical for the 320×240 panel) and `spec/ha/esp32-s3-box/en.md` §Display binding (the hardware side, referenced not repeated). Authors what is on the screen and where — the pages, the redraw discipline, and the geometry — for one display of one device per invocation. ## Why this is a skill, not an agent - **Mid-flow approval is the contract (decisive):** the rendering-path choice is expensive to reverse (page lambdas and widget trees share no code, so switching later is a rewrite of the whole UI), and the state-to-page mapping is a design conversation, not a derivation. - **Iterated visual work in the current context:** layouts are adjusted in rounds — a zone moved, a font size dropped, a string truncated — which is main-thread territory. - **Counter-dimension considered:** the asset and memory budgeting is mechanical enough to isolate (agent bias), but it feeds directly back into the layout decisions being discussed; skill wins. ## When this skill activates The user wants content on an ESPHome device's panel — "was soll auf dem Display der Box stehen", "add a page for the timer", "design the idle screen" — for a device whose display is already bound. ## When NOT to activate - the panel's hardware binding (SPI pins, `model:` preset, `invert_co