honeybee-search-lib — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited honeybee-search-lib (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.
apply or add call would otherwise require guessingsearch_propertiesArgs
category: strkeywords: list | None = Nonevintage: str | None = Noneclimate_zone: str | None = Noneconstruction_type: str | None = Nonebuilding_program: str | None = Noneexact_match: bool = FalseReturns
status: strcategory: strresults: list | dictcount or total_count when relevant| Category | Description |
|---|---|
Construction | Opaque, window, and shade constructions from ASHRAE/NECB libraries |
ConstructionSet | Climate-zone-specific construction sets (requires climate_zone) |
ProgramType | Building program types (Office, Apartment, etc.) |
Schedule | Energy schedules (library + model + session resources) |
ScheduleTypeLimit | Schedule type limits (library + model + session resources) |
Modifier | Radiance modifiers (library + model + session resources) |
ModifierSet | Radiance modifier sets (library + model + session resources) |
ConstructionReturns a dict with keys:
opaque — List of opaque construction identifierswindow — List of window construction identifiersshade — List of shade construction identifiersConstructionSetReturns a list of generated identifiers. Requires climate_zone. Common parameters: vintage (e.g. "2019"), construction_type (e.g. "SteelFramed", "WoodFramed", "Mass").
ProgramTypeReturns a flat list of program type identifiers. Use building_program to filter (e.g. "Office", "MidriseApartment", "Hospital").
Schedule / ScheduleTypeLimit / Modifier / ModifierSetResults may include items from three sources:
library — Built-in Honeybee standardsmodel_resource — Attached to the current modelsession_resource — Created in the current session via addsearch_properties(category="Construction", keywords=["Concrete"])
search_properties(category="Construction", keywords=["Generic"])search_properties(
category="ConstructionSet",
climate_zone="4A",
vintage="2019",
construction_type="SteelFramed"
)search_properties(category="ProgramType", building_program="Office")
search_properties(category="ProgramType", keywords=["Apartment"])search_properties(category="Schedule", keywords=["Office"])
search_properties(category="ScheduleTypeLimit", keywords=["Fraction"])search_properties(category="Modifier", keywords=["glass"])
search_properties(category="ModifierSet", keywords=["Generic"])A common pattern is to search first, then apply the found identifier:
# Step 1: Search for a suitable program type
result = search_properties(category="ProgramType", building_program="Office")
program_id = result["results"][0]
# Step 2: Apply to rooms
apply(
operation="room_attributes",
target_type="room",
identifiers=["Room_1", "Room_2"],
values={"program_type_identifier": program_id}
)
# Step 3: Verify
query(
target_type="room",
identifiers=["Room_1"],
fields=["identifier", "properties.energy.program_type.identifier"]
)apply or add.session_resource or model_resource, prefer that identifier before guessing a library fallback.ConstructionSet, use the generated identifier directly rather than expecting a large list.keywords for fuzzy matching; use exact_match=True only when the exact name is known.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.