skills/ai-creatorship/color-grade-transfer/SKILL.md
Transfer cinematic color grading from a reference image onto a source photo using Nano Banana 2. Use when the user wants to apply a cinematic look, color style, mood, or tonal treatment from one image to another. Also triggers when user mentions: "match the colors", "apply this look", "transfer the grade", "make it look like this", "copy the mood", "apply color grading", "stylize my photo like this", "cinematic color transfer", or shares two images and asks to blend/match styles.
npx skillsauth add michailbul/laniameda-skills color-grade-transferInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When this skill activates, you are operating as a professional colorist. You think in the language of color science and cinematography — not generic descriptions.
Before running anything: analyze the reference image like a colorist would. Read the grade, name it precisely, then encode that reading into the prompt. This is what separates a mediocre transfer from one that actually holds the look.
Before touching the script, read the reference image across these axes:
Tonal structure
Color science
Saturation profile
Film / grain / texture cues
Name the look. Examples:
This named description goes into --extra-prompt to reinforce the model's transfer.
If the user hasn't provided both, ask before proceeding.
Use the bundled script. It calls Nano Banana 2 (gemini-2.0-flash-preview-image-generation) with both images in a single API call.
Standard run (after colorist analysis):
uv run ~/skills/color-grade-transfer/scripts/color_grade_transfer.py \
--source path/to/source.jpg \
--reference path/to/reference.jpg \
--filename YYYY-MM-DD-HH-MM-SS-graded.png \
--resolution 2K \
--extra-prompt "[YOUR COLORIST READING — named look + key axes]"
Example with real colorist extra-prompt:
uv run ~/skills/color-grade-transfer/scripts/color_grade_transfer.py \
--source source.jpg \
--reference blade-runner-2049-ref.jpg \
--filename 2026-04-01-22-00-00-graded.png \
--resolution 2K \
--extra-prompt "Teal-orange cinematic grade: push shadows to teal-cyan, skintones to warm amber-orange, lifted blacks (not crushed), soft highlight rolloff, moderate contrast S-curve, filmic grain texture."
Filename pattern: YYYY-MM-DD-HH-MM-SS-descriptive-name.png
API key: Script reads GEMINI_API_KEY from env. Pass --api-key KEY to override.
The script always sends this as the foundation — your --extra-prompt appends on top:
Transfer the exact color correction and tonal treatment from Image 2 onto Image 1.
Preserve the frame composition completely: framing, focus, and lighting direction must remain unchanged.
Do not alter the subject's pose, depth of field, or camera perspective.
--extra-prompt--extra-prompt based on what driftedUse these terms — they translate directly into color science the model understands:
| What you mean | What to write | |---|---| | Shadows pushed blue/green | "teal shadows", "cyan shadow push", "cool crushed blacks" | | Warm skintones | "amber midtones", "orange-warm skintones", "golden skin bias" | | Faded/low contrast look | "lifted blacks", "milky shadows", "low contrast matte" | | Punchy cinematic contrast | "deep blacks", "S-curve contrast", "punchy highlights" | | Desaturated film look | "muted saturation", "desaturated midtones", "analog color fade" | | Blown highlights | "soft highlight rolloff", "clipped whites", "blown specular" | | Grain/texture | "fine film grain", "coarse analog grain", "clean digital — no grain" | | Warm overall tone | "warm amber cast", "golden hour toning", "orange-yellow bias" | | Cool/Scandinavian | "cool neutral grade", "desaturated blue-grey midtones", "cold ambient" |
| Symptom | Fix |
|---|---|
| Grade transfer too subtle | More specific --extra-prompt — name the shadow hue, highlight hue, and contrast explicitly |
| Composition shifted or pose changed | Add to extra-prompt: "Absolutely do not alter the subject position, crop, or perspective." |
| Skin tones off | Add: "Preserve natural skin tones — only shift color cast in shadows and highlights." |
| Highlights blown when they shouldn't be | Add: "Preserve highlight detail — soft rolloff only, no clipping." |
| Script fails | Confirm GEMINI_API_KEY is valid and set |
nano-banana-pro skilldevelopment
Seedance 2.0 video prompt director. Converts plain-text scene descriptions into production-ready bilingual EN+ZH video prompts optimized for the Seedance 2.0 video generator. Handles all Seedance work — action (combat, pursuit, stunts), general (landscapes, journeys, atmosphere), dialogue (confrontations, negotiations, interrogations), and non-narrative commercial work (ad spots, music videos, fashion films, automotive inserts, product shots, pet/character demos, cutaway montages, social reels for TikTok / Reels / YouTube Shorts). Use whenever the user wants to create a Seedance video prompt, mentions Seedance, or describes a cinematic scene for video generation. For NARRATIVE screenplay-integrated work, use seedance-screenwriter instead.
development
Write Seedance 2.0 prompts in screenplay format for narrative storytelling — when the prompts will be cut into a film, short, or scene. Use whenever you're generating shots that will be edited into a continuous story with dialogue, character beats, scene continuity, or coverage. Pairs with the screenwriter skill — read the scene's screenplay first (or the project's `scene.md` if it exists), then translate each shot into a Seedance prompt that reads as a screenplay page, not as an engineering spec.
documentation
Скилл-инструмент для сценариста полнометражного фильма или сериала. Используй всегда, когда пользователь хочет писать сценарий, поэпизодник, разрабатывать сцены, бит-шит, диалоги, делать ревизии, считать экранное время, резать длину, работать с персонажами или мифологией истории. Скилл работает на основе методологий Макки, Кэмпбелла и Аристотеля, выдаёт Hollywood-формат .docx, поддерживает билингвальные сценарии (диалог на одном языке + перевод в скобках под ним), и помогает аудитировать структуру по причинности и движению ценности. Скилл не привязан к конкретной истории — пользователь приносит свою.
development
Extract shot composition DNA from any car photograph into structured JSON — camera angle, lens, framing, lighting — stripped of car-specific details. Then reuse extracted angles with any car identity to generate new images at scale. Use when: extracting angles from reference photos, building a shot library, batch-analyzing car photography, replicating a great angle with a different car, running extraction pipelines in Freepik or Flora. Triggers: "extract this angle", "steal this composition", "shot DNA", "analyze this car photo", "replicate this shot with my car", "batch extract angles", "car photography analysis", "angle extraction", "build a shot library".