Skip to content

louisedesadeleer/color-correct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ–οΈ color-correct

An AI colorist skill for Claude Code β€” your agent looks at your footage, diagnoses it, grades it, and shows you a before/after before rendering. Nine named looks reverse-engineered from creators with great color. ffmpeg-based, non-destructive.

demo

What it does

Every run starts with the menu: a labeled 3Γ—3 contact sheet of all nine looks rendered on your own footage β€” because color is chosen with eyes, not words. Then:

  • Pick a look β€” "apply Oat Milk to this clip" β†’ the menu appears with Oat Milk marked; confirm or switch
  • Let AI recommend β€” "make this look good" β†’ it diagnoses (talking head vs b-roll vs screen recording), fixes casts/exposure first, and marks its recommendation on the menu with a one-line reason. You pick.
  • Steal any look β€” "make my footage look like [creator]" β†’ consensus fingerprinting across multiple videos separates the grade from the scenery

The nine looks

the looks

Look Character
Golden Hour filmic warmth, rolled-off whites
Honey soft warm matte
Linen quiet Scandi softness
Super 8 film-stock compression
Oat Milk creamy editorial (warm shadows β†’ cool milky highlights)
Espresso dark & moody, warm skin
Velvet lifted matte blacks
Popsicle bright sunny pop
Terracotta warm, contrasty, rich

Every look ships at subtle strength by default β€” graded footage should look shot well, not filtered.

🧊 LUTs included β€” use the looks anywhere

Every look also ships as a standard .cube 3D LUT (36Β³), so you can use them without an agent β€” in Premiere, DaVinci Resolve, Final Cut, CapCut, or straight ffmpeg:

luts/subtle/   ← the shipping strength (start here)
luts/full/     ← full consensus strength (flat footage / "more")
ffmpeg -i in.mp4 -vf "lut3d=luts/subtle/golden-hour.cube" -c:a copy out.mp4

LUTs are generated from the exact same chains via scripts/gen_luts.sh (HALD-CLUT method, verified to match within ~1/255).

How the looks were made

Not vibes β€” measurement. For each reference creator we sampled ~18 frames across 3 different videos (different scenes, lighting, even climates), computed a per-frame grade fingerprint (luma percentiles, per-tonal-band color casts, saturation), and took the median + IQR. Tight IQR across all scenes = the actual grade; wide IQR = scenery, discarded.

The single-frame version of this gets it wrong in fascinating ways β€” one creator's "cool daylight look" turned out to be a blue sky, and their actual grade was warm. The consensus method (and that story) is documented in SKILL.md.

Looks studied from creators we admire: Elias & Kajsa, Benji Plant, Jonna Jinton, Meek Surf, Radhi Devlukia, Bryan Johnson, Enrico Tartarotti, David Dobrik, Paige Wassel. πŸ’› These are interpretations of their color character, derived from published videos β€” go watch them.

Install

git clone https://github.com/louisedesadeleer/color-correct.git

Then point your agent at it. In Claude Code, add to your CLAUDE.md:

#### /color-correct
Read: /path/to/color-correct/SKILL.md
Grade a video with Claude as the colorist β€” pick a named look, see the menu, or let AI decide.

Requirements: ffmpeg, python3 + Pillow/numpy (pip install pillow numpy), yt-dlp (only for Steal mode).

Usage

/color-correct path/to/video.mp4                     β†’ AI decides
/color-correct path/to/video.mp4 apply Golden Hour   β†’ one look
/color-correct path/to/video.mp4 menu                β†’ 3Γ—3 sheet of all looks on your frame
/color-correct video.mp4 --like <youtube-url>        β†’ steal a new look

LUTs + agent: who does what

The LUTs are the deliverable. The agent is the colorist. They're layers, not rivals:

  • A LUT is fixed math β€” maximum compatibility, same result everywhere. Perfect for distributing a look into any tool.
  • But a LUT can't correct: apply Golden Hour to footage with a green webcam cast and you get a beautifully graded green cast. White balance and exposure are footage-dependent by definition β€” no file can contain that decision.
  • The agent does everything a file can't: looks at your footage, fixes casts and exposure first, picks a look that fits the content, adapts the strength when a look fights your lighting, skips the screen-recording b-roll, and re-measures after grading to verify the numbers moved where predicted.

Use the LUTs alone and you get the looks. Use the agent and you get a colorist who happens to carry LUTs in their pocket.


Built by Louise de Sadeleer with Claude. Part of a series of AI video-editing skills.

About

🎨 AI colorist skill for Claude Code β€” 9 named looks reverse-engineered from great creators. Pick a look, see the menu, or let AI decide.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages