calesthio/lighting-direction
Provider-independent lighting direction for AI-generated images, video clips, ads, film scenes, avatars, product shots, interviews, beauty work, and social content. Use when an agent must specify, translate, maintain, troubleshoot, or QA motivated lighting, key/fill/back/rim/practical lights, hard or soft light, color temperature, exposure, contrast, time-of-day, continuity, reference strategy, or safety/accessibility risks in generated media.
npx skills add https://github.com/calesthio/generative-media-skills --skill lighting-direction
Use lighting as story structure, not decoration. State what the audience should understand from the light, then specify the visible lighting behavior that an image or video model can render: source motivation, direction, quality, color, contrast, exposure, falloff, catchlights, separation, practicals, and continuity.
This skill is provider-independent. Translate the guidance into the syntax of the chosen image, video, avatar, or composition tool after reading that tool's own instructions.
Use these labels in plans, prompts, and reviews when claims matter:
Do not present a heuristic as a universal law. ARRI's lighting handbook explicitly frames hard-versus-soft choices as judgment calls rather than right/wrong rules, while documenting that physical source size and diffusion strongly affect shadow softness.
Before writing a prompt, answer five questions:
If any answer is unknown, make a conservative assumption and label it.
Documented fact: Motivated lighting reads as coming from a realistic source inside the scene; practical lights are visible in-frame sources such as lamps, candles, or monitors. Rosco's film-lighting vocabulary gives examples of hidden daylight-balanced fixtures reading as window sun and warm fixtures reading as lamp light.
Direction for agents:
Documented fact: ARRI defines the key as the primary subject light; fill as light used to lift shadows created by the key; separation/hair light as a way to visually separate subject from background; and background light as a way to add texture, color, or separation. ASC cinematographer Stephen H. Burum describes the key as setting exposure and creating shadow, texture, roundness, and three-dimensionality.
Use role names only when they clarify visible behavior:
Avoid asking for "three-point lighting" by itself. Instead describe the visible result: "soft key from camera-left at 45 degrees, weak fill near camera, narrow warm rim on hair, background two stops darker."
Documented fact: ARRI's handbook states that light quality is characterized by the shadow edge and is determined by the physical size of the acting source, not intensity; larger or more diffused sources generally produce softer light. It also notes that soft light is forgiving for people but harder to control because spill can contaminate the background.
Use these promptable cues:
Production heuristic: If generated portraits look flat, do not merely ask for "cinematic." Add a directional key, reduced fill, negative fill, or a darker background plane.
Documented fact: IES defines correlated color temperature (CCT) as the blackbody temperature whose chromaticity most closely resembles the source. IES defines color rendering index (CRI) as a measure of object color shift under a light compared with a reference source of comparable color temperature. ARRI's handbook describes tungsten fixtures as 3200K and warm relative to daylight, and stresses white-balancing for the subject area.
For generative prompts, Kelvin numbers are useful but not sufficient. Pair numbers with perceived color and motivation:
Production heuristic: When asking for accurate product, food, makeup, or skin color, include "neutral white balance, high color fidelity, no colored cast on the product/skin unless specified." For mood pieces, allow color bias but protect brand-critical colors.
Documented fact: Film/video lighting practice distinguishes key exposure, fill level, background level, and shadow detail; Burum emphasizes that day/night differences often come from the volume of highlights and blacks, not simply overexposure or underexposure. Rosco describes lighting ratio as key-to-fill comparison, with higher ratios creating more contrast.
For AI generation, express ratios as stops or plain-language shadow density:
Avoid "underexposed face" unless the story requires it. Prefer "face at key exposure with darker environment" or "skin one stop under with catchlights preserved."
Documented fact: Rosco summarizes the inverse-square law: light intensity decreases with the square of distance. For generated media, this matters as a visible cue even if the model is not physically simulating light.
Promptable cues:
Use this structure when the model accepts natural-language prompting. Omit irrelevant fields, but preserve the order of thinking.
Provider-independent prompt fragment:
Lighting direction: motivated late-afternoon window light from camera-left, large soft source with gentle wrap, key side at normal exposure, fill side about two stops darker with negative fill, warm practical lamp visible in the background but not clipping, subtle cool rim from the window edge, background one stop under, natural skin texture, single clean catchlight, no flat front flash, no random colored light.
Do not hand the model an unlabeled moodboard and hope it infers lighting. Extract the lighting plan:
Use references ethically and operationally:
Treat these as starting points, not formulas.
Goal: trustworthy face, readable eyes, dimensional background, stable continuity.
Prompt cues:
calm premium interview lighting, large soft key from camera-left slightly above eye level, gentle shadow on camera-right cheek, weak near-lens fill, subtle hair light separating dark blazer from charcoal background, warm defocused practical lamp behind subject, face at natural exposure, clean catchlights, no flat webcam lighting, no blown forehead.
Goal: flattering shape without erasing facial structure or product truth.
Production heuristic: For avatars, add "consistent catchlights, stable face illumination, no flickering exposure between frames."
Goal: shape, material, color, and edge readability.
Documented fact: Broncolor notes that ecommerce setups must handle variation in product color, size, and glossiness, and describes clean background/reflection consistency as a business efficiency concern.
Prompt cues:
studio product lighting on a white seamless set, large diffused softbox reflection across the left side of the glossy bottle, narrow black-card edge defining the right contour, clean white background with soft floor reflection, neutral daylight-balanced color, label evenly readable, controlled highlights, no random environment reflections, no blown logo.
Goal: motivated mood and depth.
Goal: believable time-of-day.
For generated video, specify whether the sun direction remains constant as the camera moves.
Goal: readable low light without arbitrary colored mush.
Create a lighting bible before generating shot 2:
Scene lighting bible:
- Time: late afternoon interior.
- Motivation: large window camera-left; warm table lamp in background camera-right.
- Key: soft window key, slightly above eye level, camera-left.
- Fill: negative fill camera-right; cheek shadow two stops under.
- Rim/background: subtle cool rim from window edge; background one stop under face.
- Color: neutral skin, warm practical glow, no neon.
- Continuity: same shadow direction in wide, medium, close-up; practical lamp remains visible or implied; face exposure stable.
For close-ups, allow sweetening but keep the same apparent source direction. If a model changes light direction between cuts, regenerate with explicit "same source direction as previous shot" and restate the bible.
Diagnose lighting failures by visible symptom:
When iterating, change one lighting variable at a time unless the output is fundamentally wrong. Keep seeds/reference frames when the provider supports them.
Documented fact: W3C WCAG guidance warns that flashing content above three flashes per second, when large/bright enough, can trigger seizures; it also notes saturated red flashing is a special concern.
Apply this to generated media:
Review the output frame by frame when video is involved:
Production intent: 8-second generated clip for a suspense trailer, interior hallway, no explicit violence.
Direction:
An 8-second cinematic tracking shot down a narrow apartment hallway at night. Lighting is motivated by a warm practical table lamp visible at the far end and cool moonlight leaking through blinds from camera-left. The warm lamp creates a small pool of amber light on the floor and wall; the rest of the hallway falls into deep but readable shadow. Hard striped moonlight crosses the wall and briefly rims the subject's shoulder as they pass, while the face remains mostly in silhouette with one small catchlight. Low-key contrast, background blacks rich but not crushed, no random neon colors, no strobe, no flicker, no overexposed lamp shade. Keep the cool window direction consistent during the camera move.
Why it is structured this way: the prompt states motivation, direction, hard/soft quality, exposure, color contrast, action continuity, and safety constraints.
Likely failure modes: model adds colorful cyberpunk light; lamp clips to white; subject face becomes fully front-lit; moon stripes move inconsistently.
User complaint: "The watch looks expensive, but the face is unreadable and the metal reflects a messy room."
Revision direction:
Regenerate as a controlled studio product shot. Keep the luxury watch angle and black background, but replace environmental reflections with a clean reflected setup: long white strip softbox reflection along the left metal case edge, narrow black flag reflection defining the right case edge, soft overhead card for readable dial detail, small crisp highlight on the crystal that does not cover the logo or hands. Neutral white balance, premium low-key contrast, background fully clean, no room reflections, no blown dial, no distorted logo.
Why it is structured this way: glossy objects show the reflected environment, so the repair specifies what should be reflected rather than only asking for "better lighting."
Production intent: three social clips from one generated avatar/expert setup.
Lighting bible:
Lighting bible for all shots:
- Premium editorial interview, dark teal office background.
- Large soft key from camera-left, slightly above eye level, natural skin texture.
- Fill side one and a half stops darker, not crushed.
- Small warm practical lamp behind camera-right, visible as soft bokeh, not a face key.
- Subtle cool rim on hair from camera-left rear.
- One clean catchlight per eye; no exposure flicker; no color temperature shifts across cuts.
- Background remains darker than the face and never competes with the speaker.
Shot prompt:
Medium close-up of the same expert speaking calmly to camera, using the exact lighting bible: soft camera-left key, gentle darker fill side, warm practical bokeh behind camera-right, subtle cool hair rim, stable catchlights and exposure, natural skin, no flat webcam light, no shifting shadow direction.
Consequential craft facts were checked against the following sources on 2026-07-10:
No provider-specific model limits, pricing, or API parameters are specified in this skill; any such volatile facts must be verified in the selected provider skill or official docs at production time.
Take calesthio/lighting-direction from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.