Keep · astra-grok SKILL.md
Screenshot-match until look passes
WhenUse after a look-lock exists and a scene/build is in progress. Trigger whenever the agent claims "looks good" without a final vs-ref pair, or when shipping art/playable slices that must match plates.
StopNever ship without a final vs-ref pair (locked plate beside current screenshot). Do not infinite-loop: cap iterations at N (default 5) and escalate with the delta list. Do not change the locked look silently to make the score pass — re-lock formally if the brief changed. Do not skip Screenshot; memory of the viewport is not evidence.
Steps
- Load locked plates from `look/` and the current build (Blender viewport, engine PIE, browser canvas, or rendered frame).
- Capture a Screenshot of the current view at a comparable framing to the plate (same subject, roughly same camera).
- Compare plate vs shot. Write a concrete delta list: color, value, contrast, silhouette, material response, lighting direction, lens/FOV, clutter.
- Score roughly (pass / near / fail). Near = one or two fixable deltas; fail = structural mismatch.
- Fix only the listed deltas in the DCC or engine (materials, lights, camera, props). Prefer smallest change that closes the gap.
- Repeat Screenshot → compare → fix until pass or N iterations. On cap: stop, attach best vs-ref pair + remaining deltas, ask for go / re-lock.
- On pass: save final pair to `match/final-plate.png` + `match/final-shot.png` and a short `match/PASS.md`.
Oven
Default: Grok Bot tools — GenerateImage / computerUse / browserUse / Shell / Blender MCP if connected / Screenshot. (Swap this one line for Astra / Fable / Claude.)
Done when
- A vs-ref pair exists on disk for the ship candidate.
- Delta list is empty or only accepted residuals are listed.
- Iteration count and pass/fail are recorded.
- No claim of "matches look" without the pair.
Cross-model
Recipe is fixed: screenshot, compare to lock, fix, repeat, never ship without pair. Only the OVEN line swaps — Screenshot and computer/browser automation bind to the host agent; comparison rubric and stop lines stay the same on Astra, Grok Bot, Fable, or Claude.
LoadOVEN: Default: Grok Bot tools — GenerateImage / computerUse / browserUse / Shell / Blender MCP if connected / Screenshot. (Swap this one line for Astra / Fable / Claude.) Done when: - A vs-ref pair exists on disk for the ship candidate. - Delta list is empty or only accepted residuals are listed. - Iteration count and pass/fail are recorded. - No claim of "matches look" without the pair.
--- name: "Screenshot-match until look passes" description: "Use when a build must match locked look plates via screenshot → delta → fix loops." --- # Screenshot-match until look passes ## When Use after a look-lock exists and a scene/build is in progress. Trigger whenever the agent claims "looks good" without a final vs-ref pair, or when shipping art/playable slices that must match plates. ## Stop - Never ship without a final vs-ref pair (locked plate beside current screenshot). - Do not infinite-loop: cap iterations at N (default 5) and escalate with the delta list. - Do not change the locked look silently to make the score pass — re-lock formally if the brief changed. - Do not skip Screenshot; memory of the viewport is not evidence. ## OVEN Default: Grok Bot tools — GenerateImage / computerUse / browserUse / Shell / Blender MCP if connected / Screenshot. (Swap this one line for Astra / Fable / Claude.) ## Steps 1. Load locked plates from `look/` and the current build (Blender viewport, engine PIE, browser canvas, or rendered frame). 2. Capture a Screenshot of the current view at a comparable framing to the plate (same subject, roughly same camera). 3. Compare plate vs shot. Write a concrete delta list: color, value, contrast, silhouette, material response, lighting direction, lens/FOV, clutter. 4. Score roughly (pass / near / fail). Near = one or two fixable deltas; fail = structural mismatch. 5. Fix only the listed deltas in the DCC or engine (materials, lights, camera, props). Prefer smallest change that closes the gap. 6. Repeat Screenshot → compare → fix until pass or N iterations. On cap: stop, attach best vs-ref pair + remaining deltas, ask for go / re-lock. 7. On pass: save final pair to `match/final-plate.png` + `match/final-shot.png` and a short `match/PASS.md`. ## Done when - A vs-ref pair exists on disk for the ship candidate. - Delta list is empty or only accepted residuals are listed. - Iteration count and pass/fail are recorded. - No claim of "matches look" without the pair. ## Cross-model Recipe is fixed: screenshot, compare to lock, fix, repeat, never ship without pair. Only the OVEN line swaps — Screenshot and computer/browser automation bind to the host agent; comparison rubric and stop lines stay the same on Astra, Grok Bot, Fable, or Claude.
