
StudioLights
Controls Aputure and amaran studio lights via the amaran Desktop WebSocket API: named...
Install
npx skills add danielmiessler/LifeOS --skill StudioLights -g -a claude-code -y- Repository
- danielmiessler/LifeOS19.7k
- Category
- Media
- Updated
- 8d ago
- License
- MIT
- Context cost
- Lightabout 925 tokens
- Runs scripts
- Yes, review before use
What it does
Controls Aputure and amaran studio lights via the amaran Desktop WebSocket API: named scenes, per-light brightness and color temp, save the current state. USE WHEN lights recording, lights normal, recording lights, set lights for recording, studio lights, light scene, dim the key light, set the lights, lights too bright, save this lighting, green screen lights. NOT FOR house/Hue lights or thermostat (a home-control skill), studio audio, or video editing.
StudioLights
Deterministic control of a studio lighting rig through amaran Desktop's local WebSocket API (ws://127.0.0.1:33782/ws, protocol v2, the same local API the official Bitfocus Companion module uses). The tool auto-launches amaran Desktop if it isn't running.
Ideal State
- Every lighting change runs through
Tools/Lights.tsagainst the rig the USER tree'sdevices.jsonandscenes.jsondefine; no fixture, name or level is assumed from this skill. - Done is said only when the lights themselves read back the requested state.
- A saved scene restores exactly the levels saved under its name, whether "recording", "normal" or any later caller asks for it.
Intent Routing
| Intent | Trigger | File |
|---|---|---|
| Control | "recording", "set the lights", "light scene", "dim X", "save this lighting" | Intents/Control.md |
| File | Read when |
|---|---|
Setup.md | first-time setup: amaran Desktop, finding node IDs, and writing devices.json and scenes.json |
Data & Config
The rig lives in the USER tree, never in this skill: LIFEOS/USER/CUSTOMIZATIONS/SKILLS/StudioLights/devices.json holds each fixture's name, node ID, model and whether it has color temperature, and scenes.json holds the saved scenes. Free-form notes about the rig (where each light stands, what each scene is for, which Shortcut or macro calls a scene by name) go in Config.md in the same folder; the tool never reads it. First-time setup, including how to find node IDs and a worked example of a voice trigger, is in Setup.md.
Tools/Lights.ts exits with an error pointing at Setup.md when devices.json is missing; Lights.ts devices lists the node IDs to put in it and runs before the file exists. The tool finds that folder from its own skill folder's name, so the skill folder and its USER folder must share a name.


