Downloads

Downloads.

Designer LLM prompt templates, the five canonical example records, the JSON Schema, and the Go reference validator.

On this page

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.

Try a sample .ulc 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 →

  • Pattern A

    Standard

    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).

    Download erco-quintessence-30416-023.ulc
  • Pattern B

    Standard

    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).

    Download selux-aya-pole-sr-ho-3000k.ulc
  • Pattern C

    Standard

    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).

    Download lumenpulse-lumenfacade-loi-12-rgb-30x60-ts0.ulc
  • Pattern C

    Standard

    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).

    Download lumenpulse-lumenfacade-loi-12-rgbw30k-10x60-ts2-5.ulc
  • Pattern D

    Core

    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).

    Download vode-nexa-suspended-807-so-3500k-90cri-hl-black-48in.ulc

Learn more about the four authoring patterns →

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

Schema level 0.8.0 · Draft 2020-12

Download ulc.json

Browse the schema with field-level documentation →

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.

ulc v0.8.1

Released June 23, 2026

Release notes on GitHub →

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.gz

    1.5 MiB

    Download →

    SHA-256: 256005327cd5688098e21153cdb46e5e2e5171760749eda5438f9467cb264517

  • macOS · Intel (amd64)

    ulc_0.8.1_darwin_amd64.tar.gz

    1.6 MiB

    Download →

    SHA-256: 48213961fb00db43b96e9f56c3047e1df31c5a0b75f7727174ebae4f44787aa8

  • Linux · arm64

    ulc_0.8.1_linux_arm64.tar.gz

    1.5 MiB

    Download →

    SHA-256: 1bfc1a1bab8e2e21f4c1a093f450f18b6035130aa341a0b2af5a7f38cf95b5b8

  • Linux · amd64

    ulc_0.8.1_linux_amd64.tar.gz

    1.6 MiB

    Download →

    SHA-256: b23eb7937dbfa366c7d96bc97a06a25e300faab9455aea5fbab6b5a72e0a3092

  • Windows · arm64

    ulc_0.8.1_windows_arm64.zip

    1.5 MiB

    Download →

    SHA-256: 99ac007ff59c66f2722acfb48e53534ee2573690ae7241c3a8f558734000e847

  • Windows · amd64

    ulc_0.8.1_windows_amd64.zip

    1.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.