Context for developing and debugging Hubitat Elevation apps, drivers, and hub environment — sandbox constraints, lifecycle idioms, capability contracts, plus grounded deploy/log-tail/lint mechanisms.
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Hubitat's two planes behave differently across a multi-hub setup. Conflating them is why "I deployed to the hub" sometimes hits the wrong one.
hub-config skill owns that config.skills/_reference/endpoints.md).POST /login first; the mechanisms must switch to the authenticated path.version integer returned by /app/ajax/code and /driver/ajax/code is bumped on every save and is the concurrency stamp. An update must send the current version.skills/_reference/endpoints.md).version optimistic-concurrency pattern is not code-only. POST /device/update (device rename/edit) carries a per-device version stamp with the identical read-fresh-then-send rule — read it from fullJson immediately before each POST (skills/_reference/endpoints.md).