honeybee-model-editor — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited honeybee-model-editor (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
queryDescription Use first when the deletion scope is unclear.
Args
target_type: stridentifiers: list | None = Nonefields: list | None = Noneoutput_mode: str = "records"Returns
success: booldata: dict | listcount: int when relevantmissing: listremoveDescription Primary editing tool for destructive object cleanup.
Args
operation: stridentifiers: list | None = Noneoptions: dict | None = NoneReturns
success: boolmessage: strauto_save: dict when relevantremove(operation="all_apertures")remove(operation="all_doors")remove(operation="all_shades")remove(operation="face_objects", identifiers=[...], options={...})Use options for:
aperturesdoorsindoor_shadesoutdoor_shadessub_facesremove(operation="room_shades", identifiers=[...], options={...})remove(operation="process_loads", identifiers=[...], options={...})Room shades options:
indoor_shades: booloutdoor_shades: boolProcess loads options:
process_ids: list — List of process load identifiers to delete from the room. Omit to delete all process loads from the room.remove(operation="schedule", identifiers=[...])remove(operation="schedule_day", identifiers=[...])remove(operation="schedule_type_limit", identifiers=[...])remove(operation="modifier", identifiers=[...])remove(operation="modifier_set", identifiers=[...])remove(operation="sensor_grid", identifiers=[...])remove(operation="view", identifiers=[...])These operations may return blocked references instead of deleting immediately.
remove(operation="all_apertures")
remove(operation="all_doors")remove(operation="all_shades")remove(
operation="face_objects",
identifiers=["Face_1", "Face_2"],
options={"apertures": True, "doors": True, "outdoor_shades": True}
)remove(
operation="room_shades",
identifiers=["Room_1"],
options={"outdoor_shades": True}
)remove(
operation="process_loads",
identifiers=["Room_1"],
options={"process_ids": ["Process_A", "Process_B"]}
)remove(
operation="process_loads",
identifiers=["Room_1"]
)remove(operation="schedule", identifiers=["Office_Occ_Schedule"])remove(operation="sensor_grid", identifiers=["Grid_01"])When a resource is still referenced, deletion is blocked:
# Step 1: Attempt deletion
result = remove(operation="schedule", identifiers=["OfficeOccupancy"])
# result may contain "blocked" with a list of referencing objects
# Step 2: Reassign the referencing rooms/loads to a different schedule
apply(operation="people", target_type="room", identifiers=["Room_1"],
values={"occupancy_schedule_identifier": "AlternativeSchedule"})
# Step 3: Retry deletion
remove(operation="schedule", identifiers=["OfficeOccupancy"])query(
target_type="face",
identifiers=["Face_1"],
fields=["identifier", "apertures", "doors", "indoor_shades", "outdoor_shades"]
)message for quick operation confirmation.results for per-face or per-room detail.removed, removed_count, or remaining_count when returned by model-wide operations.blocked and reference summaries when removal is denied for reusable resources.auto_save when shared-memory writeback occurs.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.