honeybee-louver-adder — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited honeybee-louver-adder (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.
aperture-adder first.query(target_type="aperture", fields=["identifier", "parent"], output_mode="list")addArgs
operation: strtarget_type: str — Must be "aperture"identifiers: list | None = Noneparams: dict | None = NoneReturns
success: boolmessage: strresults: list — Each item has shade_identifiers listing the created shadesnot_found: listauto_save: dict when relevantlouversGeneral louver constructor. Most flexible.
Params
| Param | Type | Default | Description |
|---|---|---|---|
depth | float | required | Louver depth (m) |
louver_count | int | None | Number of louvers |
distance | float | None | Distance between louvers (alternative to count) |
offset | float | 0 | Distance from aperture edge |
angle | float | 0 | Tilt angle (degrees) |
contour_vector | list | None | Direction for louver layout |
flip_start_side | bool | False | Start from opposite side |
indoor | bool | False | Place louvers on indoor side |
tolerance | float | None | Geometry tolerance |
base_name | str | None | Base name for shade identifiers |
louvers_by_countUse when the number of louvers is known.
Params
louver_count — Number of louversdepth — Depth (m)louverslouvers_by_distance_betweenUse when spacing is known.
Params
distance — Spacing between louvers (m)depth — Depth (m)max_count — Optional maximum countlouversadd(
operation="louvers_by_count",
target_type="aperture",
identifiers=["Aperture_1"],
params={"louver_count": 5, "depth": 0.5}
)add(
operation="louvers_by_distance_between",
target_type="aperture",
identifiers=["Aperture_1", "Aperture_2"],
params={"distance": 0.3, "depth": 0.4}
)add(
operation="louvers",
target_type="aperture",
identifiers=["Aperture_3"],
params={
"depth": 0.25,
"louver_count": 4,
"angle": 30,
"indoor": True
}
)shade_identifiers from results[i] when later shade query or removal is likely.results to explain per-aperture success when processing many apertures.query(target_type="shade", ...) or removed via remove(operation="all_shades").~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.