Designer LLM prompt templates
Five ready-to-use prompts. Paste one into ChatGPT, Claude, or Gemini, attach a .ulc.json file, and you get back a clean spec sheet, an apples-to-apples comparison, a schedule-ready table, a VE sanity check, or a trace of where every value came from. Need a file to try them on? Grab a sample below.
Prompt 1
Render a .ulc file as a spec sheet
Read the attached `.ulc.json` file. Render it as a clean spec sheet with sections for product identity, electrical, optical / photometric, physical, and accessories. Call out any fields that are missing or flagged as unknown. If a SHA-256 source-file hash is present, note which source file each measured attribute traces back to.
Prompt 2
Compare two .ulc files
Read the two attached `.ulc.json` files. Compare them on CRI, CCT range, wattage, optical accessory options, mounting kit, IP rating, and dim-to-warm behavior. Flag any field where the products diverge materially or where one declares the field and the other does not. End with a one-paragraph recommendation framed around which product fits a [project type] application.
Prompt 3
Extract attributes for a luminaire-schedule line
Read the attached `.ulc.json` files. For each file, extract [CRI, CCT options, optical accessories, mounting kit, IP rating]. Return the result as a luminaire-schedule-ready table with one row per product and one column per attribute. Note any product missing any of the requested attributes.
Prompt 4
Sanity-check a VE package
Read the two attached `.ulc.json` files: the original specified product and the VE-proposed alternative. Compare them on CRI, CCT, wattage, optical distribution, mounting type, dimming method, and any field flagged as missing or unknown. Explicitly state whether the VE alternative matches the original design intent on each compared field. End with a flag list of fields where the VE alternative deviates materially.
Prompt 5
Pull the source-file provenance for an attribute
Read the attached `.ulc.json` file. For each measured attribute (CRI, CCT, wattage, photometric distribution, IP rating, optical accessories), identify which source file (PDF, IES, or LDT) the value traces back to via the per-field provenance + SHA-256 hash. Return the answer as a list mapping attribute to source file.
Canonical example records
Five reference records across the four manufacturer authoring patterns, built from real manufacturer spec sheets. These are the files you drop into the prompts above.
Each record's conformance level is computed by the reference builder from the data the record carries, not self-declared. How conformance is graded →
-
ERCO Quintessence · recessed downlight
Single-SKU cutsheet model.
To reach Full: zonal lumens, measurement uncertainty and corrections, instrumentation depth, and TM-30 detail (accredited test report).
Downloaderco-quintessence-30416-023.ulc→ -
Selux Aya · exterior pole
Configurator with applicability blocks; 54,000 SKUs compressed into 21 records.
To reach Full: measurement uncertainty and corrections, a method-backed lumen-maintenance projection, and TM-30 detail (accredited test report).
Downloadselux-aya-pole-sr-ho-3000k.ulc→ -
Lumenpulse Lumenfacade · RGB façade
Per-IES model with provenance classes for measured, simulated, and extended-photometry records.
To reach Full: zonal lumens, measurement uncertainty and corrections, and a method-backed lumen-maintenance projection (accredited test report).
Downloadlumenpulse-lumenfacade-loi-12-rgb-30x60-ts0.ulc→ -
Lumenpulse Lumenfacade · RGBW façade
Per-IES color-mixing variant: CRI and TM-30 are waived, while the white point still carries a CCT.
To reach Full: zonal lumens, measurement uncertainty and corrections, and a method-backed lumen-maintenance projection (accredited test report).
Downloadlumenpulse-lumenfacade-loi-12-rgbw30k-10x60-ts2-5.ulc→ -
Vode Nexa · suspended linear pendant
Per-foot linear-scaling model.
To reach Standard: a MacAdam SDCM step (from the datasheet, per ANSI C78.377). To reach Full: zonal lumens, measurement uncertainty and corrections, a method-backed lumen-maintenance projection, and TM-30 detail (accredited test report).
Downloadvode-nexa-suspended-807-so-3500k-90cri-hl-black-48in.ulc→
JSON Schema
The ULC schema, written to JSON Schema Draft 2020-12, served at /schema/ulc.json with the application/schema+json content type.
Point any Draft 2020-12 library at this file to validate records, no extra configuration needed. Conformant records declare ulc_version 0.8.0, the current schema level.
ulc.json
ulc.json →
Go reference validator
The canonical reference implementation: ulc, a single-file Go binary that validates records against the schema, verifies source-file hashes, regenerates the index block, and converts a manufacturer workbook into validated records with ulc from-sheet. Released via GitHub Releases on the spec repository.
Pick the binary for your platform. Each download is accompanied by the full SHA-256 checksum for integrity verification.
-
macOS · Apple Silicon (arm64)
ulc_0.8.1_darwin_arm64.tar.gz1.5 MiB
Download →SHA-256: 256005327cd5688098e21153cdb46e5e2e5171760749eda5438f9467cb264517
-
macOS · Intel (amd64)
ulc_0.8.1_darwin_amd64.tar.gz1.6 MiB
Download →SHA-256: 48213961fb00db43b96e9f56c3047e1df31c5a0b75f7727174ebae4f44787aa8
-
Linux · arm64
ulc_0.8.1_linux_arm64.tar.gz1.5 MiB
Download →SHA-256: 1bfc1a1bab8e2e21f4c1a093f450f18b6035130aa341a0b2af5a7f38cf95b5b8
-
Linux · amd64
ulc_0.8.1_linux_amd64.tar.gz1.6 MiB
Download →SHA-256: b23eb7937dbfa366c7d96bc97a06a25e300faab9455aea5fbab6b5a72e0a3092
-
Windows · arm64
ulc_0.8.1_windows_arm64.zip1.5 MiB
Download →SHA-256: 99ac007ff59c66f2722acfb48e53534ee2573690ae7241c3a8f558734000e847
-
Windows · amd64
ulc_0.8.1_windows_amd64.zip1.6 MiB
Download →SHA-256: 7837d52380e80e1d15e7adca42ce30318e818523447c4f560a171e9e180d0057
Install instructions
macOS / Linux: Mark the downloaded file executable: chmod +x ulc-<platform>-<arch>. Move it onto your PATH, for example /usr/local/bin/ulc. Run ulc --version to confirm.
Windows: Download the .exe. Add the containing directory to your PATH environment variable. Open a new terminal and run ulc --version to confirm.
Previous releases
The five most-recent stable releases are listed below with version, release date, and a link to the release notes on GitHub. For the full release history, see the Releases page on the spec repository.