← ClaudeAtlas

ha-esphome-package-authorlisted

Authors or reshapes exactly one shared ESPHome package under common/ per spec/ha/esphome-project-structure — cutting a concern out of duplicated device blocks, giving it a substitution interface with a defaults fallback, adding the id keys devices need to override a component, resolving a one-device deviation through !extend / !remove instead of a near-duplicate package, promoting a repeated override into a defaulted parameter, and pinning or vendoring a remote package. Reads every consumer first and states the merge consequences before writing. Activate on "factor this into a package", "parameterise the board package", "two configs share this block", or equivalent German requests. Do not activate to lay out the repository (ha-esphome-fleet-scaffold), to add a block to one device (ha-esphome-config-augment), to create a device file (ha-esphome-config-scaffold), or to audit the architecture (ha-esphome-fleet-reviewer).
nolte/claude-home-assistant · ★ 1 · AI & Automation · score 68
Install: claude install-skill nolte/claude-home-assistant
# HA ESPHome Package Author Spec: `spec/claude/ha-esphome-package-author/en.md` (EN canonical) / `spec/claude/ha-esphome-package-author/de.md` (DE translation). Grounding spec: `spec/ha/esphome-project-structure/en.md` §Package architecture, §Parameterisation, §Deviating without forking, §Remote packages. Owns one shared package per invocation: how it is cut, what its parameter interface is, and how a deviating device consumes it without forking it. ## Why this is a skill, not an agent - **Mid-flow approval is the contract (decisive):** where the concern boundary runs, which variables become the package's public interface, and whether a deviation is an `!extend` or a new parameter are judgement calls the operator confirms — and each one is a breaking change for existing consumers if it is wrong. - **Quick, targeted change in the current context:** one file under `common/` plus the consuming device files, iterated in conversation. - **Counter-dimension considered:** reading every consumer of the package before writing is a bounded fan-out that could be isolated (agent bias), but the resulting interface decision must be discussed, not reported; skill wins. ## When this skill activates The user wants shared ESPHome configuration to become or stay one well-cut package — "das gehört ins gemeinsame Package", "make the board package take a parameter for the update interval", "box-02 needs the base package without `captive_portal`". ## When NOT to activate - the repository tr