Install
$ agentstack add skill-markusleben-ha-nova-organize ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
HA NOVA Organize
Scope
Organization and registry metadata only:
- areas: list/create/update/delete
- floors: list/create/update/delete
- labels: list/create/update/delete
- categories: list/create/update/delete
- entity metadata updates: rename, move to area, assign/clear/add/remove labels, assign/remove categories, disable, hide, aliases
- entity category assignment/removal per scope
- device metadata updates: rename, move to area, assign/clear/add/remove labels, disable
Not in scope:
- entity removal
- removing config entries from devices
- device category assignment
- zones, persons, tags
- energy or calendar management
For those surfaces, hand off to ha-nova:fallback.
Bootstrap (once per session)
Verify relay CLI: ha-nova relay health If this fails: ha-nova setup
Relay Contract
Use file-based WS requests only:
ha-nova relay ws --data-fileha-nova relay ws --data-file --out
Registry commands owned here:
config/area_registry/list|create|update|deleteconfig/floor_registry/list|create|update|deleteconfig/label_registry/list|create|update|deleteconfig/category_registry/list|create|update|deleteconfig/entity_registry/get|list|updateconfig/device_registry/list|update
Use search/related when a delete needs a quick impact preview on linked items.
Flow
- Resolve the exact target type and identity.
- areas/floors/labels/categories: use the corresponding
list - every category registry call must include the exact
scope - do not call
config/category_registry/list|create|update|deletewithoutscope - entities: prefer
config/entity_registry/getwhen the entity_id is known - devices: use
config/device_registry/listand match by current name or linked entities
- If multiple candidates remain, ask one blocking question.
- For create/update:
- build the smallest valid payload
- preview the exact fields that will change
- rich metadata owned here:
- area:
name,floor_id,icon,picture,aliases - floor:
name,level,icon,aliases - label:
name,color,icon,description - category:
name,icon, exactscope - category assignment/removal is entity-only in this skill and uses one scope per request
- category assignment uses
categories: {"":""} - category removal for one scope uses
categories: {"": null} - do not send
categories: {}when the goal is to clear one existing scoped category - label updates on entities/devices may be:
- replace all labels
- add labels
- remove labels
- clear labels
- For delete:
- preview impact first
- areas/floors: show linked areas or assignments that will lose placement
- labels: show linked items when quickly resolvable
- categories: show affected entity count and a small example set when resolvable
- require token confirmation
confirm:
- Execute exactly one mutation.
- Read back and verify the requested fields:
- area/floor/label/category: re-list and match by canonical id
- entity/device: re-read the updated registry entry
- category delete: also verify affected entity categories are cleared for that scope
- Report the final state in plain language.
Entity / Device Update Fields
Use only exposed metadata fields:
- entity:
name,new_entity_id,area_id,labels,categories,disabled_by,hidden_by,aliases - device:
name_by_user,area_id,labels,disabled_by
Do not guess unsupported fields.
Output Format
TargetCurrent metadataRequested changeImpactfor deletesVerificationNext step
Default to a compact field summary, not raw registry JSON.
Safety
- Never guess ids.
- Create/update uses natural confirmation after preview.
- Delete uses token confirmation only.
- If the user asks for entity removal, device category assignment, or config-entry detachment, stop and hand off to
ha-nova:fallback.
Guardrails
- One resource at a time.
- One category scope at a time.
- Metadata updates only; no destructive registry admin beyond area/floor/label/category delete.
- Verify the changed field values, not just the WS success response.
- If a delete impact preview is incomplete, say so explicitly before asking for confirmation.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: markusleben
- Source: markusleben/ha-nova
- License: MIT
- Homepage: https://github.com/markusleben/ha-nova
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.