| name | lookdev-auto |
| description | Automated visual tuning: a vision or video model rates rendered variants in a loop. Render several labeled variants into one artifact, ask the model to rate them and suggest better values, render the suggestions, ask it to pick the best, repeat until good — the model is the eye, you run the loop. |
| risk | safe |
| source | community |
| source_type | community |
| source_repo | connerkward/lookdev-auto-skill |
| date_added | 2026-06-16 |
| author | Conner K Ward |
| license | MIT |
| tags | ["visual-eval","vision-model","tuning","automation","render-loop"] |
| tools | ["claude-code","antigravity","cursor","gemini-cli","codex-cli"] |
When to Use
Use whenever "looks/feels right" is the success criterion and there's no cheap numeric metric — animation easing/timing, zoom/camera feel, color grade, layout/spacing, design params, render/encoder settings, prompt params. Use the automated counterpart to lookdev when there's no human to sit the loop.
Source: connerkward/lookdev-auto-skill (MIT).
Visual eval loop — let a vision/video model tune what only an eye can judge
When the target is "does this LOOK/FEEL right" (not a number you can minimize), a
vision model (image) or video-understanding model (motion/timing) can be the judge in
a tight optimize loop. Worked reference: the screenstudio-alternative skill (iteration.py)
(tuned zoom-animation feel via fal-ai/video-understanding).
The loop
- Render N labeled variants into ONE artifact. Vary the parameter(s) across a
small spread. Annotate each variant's params ON the artifact (burn the label in:
"A · 2.2Hz · ζ0.5"). Images → a labeled grid/contact sheet. Video/motion → a
labeled sequence (label card or burned-in overlay before/over each clip) so the
model can compare temporally.
- One model call, structured output. Send the single artifact with an explicit
rubric (define what "good" means — and what "too much"/"too little" look like).
Ask for per-variant ratings + concrete suggested new values as JSON:
{"ratings":{"A":n,...},"best_so_far":"X","suggest":[[p1,p2],...]}.
- Coarse → fine. Round 1 = wide spread to locate the region. Round 2 = render the
model's suggestions (+ carry the current best) into one artifact; ask it to pick
the single best. Usually converges in 2 rounds.
- Stop when sufficient — best rates high and suggestions cluster. Apply the winner.
Token / quality / step reductions (do these)
- One artifact per round, not one call per variant. The biggest saver — a 6-variant
round is 1 upload + 1 inference, not 6. Montage/grid beats a loop of single calls.
- Burn params onto the artifact. The model sees label+result together → no separate
"variant A used X" context to carry → fewer tokens, fewer mistakes.
- Structured JSON out + parse. No re-asking, no free-text wrangling. Prompt "return
ONLY JSON"; regex the first
{...}.
- Short representative sample. Tune on a 3-5s clip / one frame / one component, not
the whole asset. Cheaper render, smaller upload, faster inference. Apply the found
params to the full render once.