← JuicyLucy AdsCONTENT HISTORY

Update to JuicyLucy Ads

Snapshot Sep 30, 2026 · 23:16 UTC · version 0.22.1

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Faithful recreation and text replacement for static image ads — the single-image fidelity techniques under a localization or variation. Owns the fresh-source contract (Track B: regenerate the whole image from the original source, never edit a failed output in place), the Track A text-only fallback (glyph masks, inpainting, matched typography on the source pixels), attempt limits and the rule for moderation blocks (faithful minimal retries of the same visual, capped at two or three attempts, never evading the safety system), the people/photorealism quality gate, typography on people and shaped surfaces, canvas-drift normalization, and per-script rendering craft (Devanagari shaping, Cyrillic, RTL, CJK). Use when recreating an image in another language, when a generation is moderation-blocked or quality-defective, or when text must be replaced without degrading the source. Batch orchestration is static-localization; video is /video-ad-production.",
  "included_files": [
    {
      "relative_path": "references/script-rendering.md",
      "size_in_bytes": 3933
    },
    {
      "relative_path": "references/typography.md",
      "size_in_bytes": 3004
    }
  ],
  "name": "static-image-craft",
  "skill_md_contents": "---\nname: static-image-craft\ndescription: Faithful recreation and text replacement for static image ads — the single-image fidelity techniques under a localization or variation. Owns the fresh-source contract (Track B: regenerate the whole image from the original source, never edit a failed output in place), the Track A text-only fallback (glyph masks, inpainting, matched typography on the source pixels), attempt limits and the rule for moderation blocks (faithful minimal retries of the same visual, capped at two or three attempts, never evading the safety system), the people/photorealism quality gate, typography on people and shaped surfaces, canvas-drift normalization, and per-script rendering craft (Devanagari shaping, Cyrillic, RTL, CJK). Use when recreating an image in another language, when a generation is moderation-blocked or quality-defective, or when text must be replaced without degrading the source. Batch orchestration is static-localization; video is /video-ad-production.\n---\n\n# Static Image Craft\n\nRecreate or re-text a static ad without losing what made the source work. Two tracks,\none gate: **Track B** regenerates the whole image fresh from the original source;\n**Track A** keeps the source pixels and replaces only the text. Track B first, always.\n\nWorkspace conventions come from the `juicylucy` skill (asset gate in `evidence.json`,\nfilename inheritance in `naming.json`, per-language scripts and codes in\n`languages.json`); brand facts — protected Latin tokens, exact brand spelling — from\nthe resolved `brand-<slug>` skill. If either cannot be read, stop and ask.\n\n## Track B is a production contract\n\nWhen the run says fresh generation, from zero, or source-only, that is an explicit\nno-overlay, no-in-place-edit contract:\n\n- generate every localized image as a completely fresh render from the approved\n  source;\n- use the source as the concept, subject-role, composition, hierarchy, and quality\n  reference — when cultural adaptation is requested, fresh generation may change\n  architecture, people, vehicles, clothing, weather, or street detail while\n  preserving the winning visual role and message structure;\n- never paste translated text onto source pixels;\n- never use a failed localized candidate as the next reference;\n- do not silently switch to Track A, compositing, or another shortcut;\n- checkpoint each accepted output directly into its collision-free final destination.\n\n### Required order\n\n1. Inspect the original source image at full resolution.\n2. Transcribe and adapt every text element into natural target-language copy.\n3. Generate a fresh image — Codex's own image tool first, the configured provider only\n   when it is unavailable — using the source as the strict visual reference.\n4. Preserve the same concept, subject identity, pose, wardrobe, objects, composition,\n   crop, perspective, background, colors, lighting, typography style, hierarchy,\n   icons, and aspect ratio. Change only the language unless a redesign was explicitly\n   requested.\n5. Inspect the result at full resolution before saving it as final.\n\n### Strict fresh-source mode\n\nActive whenever the campaign contract says source-only, redo from scratch, do not\nedit failed outputs, or sets a two-attempt limit. Its rules override the general\nretry policy below:\n\n1. Only the corresponding original source image as reference, for every attempt.\n2. Every retry is a complete new generation — a \"targeted change\" means a more\n   precise prompt on a fresh generation, never an edit of the failed candidate.\n3. At most **two** image-producing attempts per asset. A call that produces no\n   candidate consumes nothing but is recorded separately.\n4. After a second rejected image, record a terminal failure — no silent Track A, no\n   compromised delivery.\n5. Record the rejected candidate, reason, fresh-source retry, and final disposition\n   in the retry ledger.\n6. Validate each accepted candidate visually and mechanically before filing it under\n   the exact inherited filename — from the `ad-naming` tool's `naming.mjs inherit`\n   (`naming.json` § localization inheritance).\n\nFor multi-language runs, pair with `static-localization`: one owner per language, its\nconcurrency and campaign-wide QA rules.\n\n## Retry policy — defects and blocks are different problems\n\nFor a successful generation with fixable defects, retry with one targeted change at a\ntime, checking: spelling, accents, punctuation, natural localization; missing,\nduplicated, or invented text; clipping, overflow, alignment, hierarchy, contrast;\nidentity, anatomy, pose, wardrobe, landmark, object fidelity; background, lighting,\ncolor, crop, aspect drift; no sign, poster, card, or text panel overlapping any\nface or important expression; synthetic, painterly, waxy, embossed, noisy, or\nlow-resolution texture. Keep the best valid attempt — never accept an image merely\nbecause generation succeeded.\n\nFor **moderation blocks**, make only legitimate minimal retries:\n\n1. Use the approved source as the direct reference.\n2. Ask for the same visual and a language change only, explicitly preserving person,\n   pose, wardrobe, framing, background, lighting, crop, and colors.\n3. Remove unnecessary sensitive descriptions; use neutral terms such as \"same adult\n   subject, wardrobe, pose, framing, and lighting\".\n4. Retry the individual image, not the whole batch.\n5. Stop at the limit: **three** total attempts per source in general mode, **two** in\n   strict fresh-source mode.\n\nNever evade, bypass, or repeatedly probe a safety system. \"Try your best\" means\nexhaust the allowed faithful attempts — not change the concept secretly or disguise\nthe request.\n\n### When Track B cannot pass\n\nTell the user plainly: Track B regenerates the whole image and the safety system\nblocked the output; more rewording cannot be used to bypass moderation; the faithful\nalternative is Track A, which keeps the approved source pixels and replaces only the\ntext. Obtain agreement before switching unless fallback was pre-authorized — and\nnever use Track A when the contract explicitly requires fresh generation only.\n\n## Track A — text replacement on the source pixels\n\nBuild Track A from the original source, never from a degraded Track B output:\n\n1. Keep the original native pixel dimensions and color mode.\n2. Create tight glyph-only masks inside known text regions — exclude faces, clothing\n   edges, emoji, bullets, decorative elements.\n3. Dilate masks only enough to cover antialiasing.\n4. Inpaint or reconstruct only the masked letter pixels; inspect for halos, ghost\n   letters, smears, repeated texture, damaged edges.\n5. Draw the localized text with high-quality fonts matching the reference class,\n   weight, condensation, alignment, line spacing, and color — shaped correctly for\n   the target script per [references/script-rendering.md](references/script-rendering.md).\n6. Fit copy without clipping; shorten the localization before shrinking type\n   excessively.\n7. Save losslessly as PNG at the source dimensions — no resize, screenshot, or JPEG\n   recompression.\n8. Compare source and output side by side at 100% zoom: everything outside the text\n   regions must be unchanged.\n\nTrack A normally looks sharper than Track B because it keeps the source photograph;\nits risk is local inpainting around old glyphs — keep masks tight and reject visible\ncleanup artifacts.\n\n## The people gate\n\nA correctly named, correctly worded file is still unfinished if the humans in it look\nsynthetic. For any image containing people:\n\n- Prefer a fresh, premium photorealistic generation when repeated edits soften or\n  distort — do not keep iterating on a degraded image.\n- Require natural facial asymmetry, realistic pores and skin texture, individual hair\n  detail, lifelike eyes and teeth, anatomically correct hands and fingers.\n- Reject plastic skin, beauty-filter smoothing, uncanny or warped features, malformed\n  fingers, excessive blur, generic low-detail backgrounds.\n- Preserve or create sharp fabric, sign, prop, lighting, and environmental detail —\n  not just a readable overlay.\n- Faces and expressions are protected focal content — the layout rules are in\n  [references/typography.md](references/typography.md).\n- If a person-focused output fails, regenerate from scratch with a new high-quality\n  subject and scene rather than delivering a low-quality face with correct copy.\n- Inspect at full resolution before replacing any production file; counts,\n  dimensions, and filenames do not substitute for looking.\n\n## Production quality gate\n\nDo not deliver until every applicable check passes:\n\n- final dimensions and ratio match the source or campaign contract;\n- localized copy is correct and native-sounding; accents and brand names exact;\n- text readable, balanced, unclipped; every visible face unobstructed;\n- Track B: no full-image quality loss or unrequested redesign;\n- Track A: no visible old text, halos, or damaged source detail;\n- the filename follows the inherited convention; the file is present in the requested\n  campaign folder.\n\nIf no method produces a ship-ready result, report the limitation rather than\npresenting a poor render as complete.\n\n**Canvas drift**: a generator canvas one or two pixels off the contract is an export\ndefect, not a pass. After visual review, normalize only the delivery canvas to the\nexact required dimensions with a lossless PNG export, reopen it, and re-verify. Never\ndescribe a nearby size as passing an exact-dimension contract.\n\n## Not for video\n\nTrack A and Track B are **image** techniques. A video ad's localized overlay text is\nre-composed over unchanged footage — there is no image to regenerate and no glyph to\nmask, and the soundtrack stays in its source language. Video runs through\n`/video-ad-production`.\n"
}

SHA-256 of public snapshot: 95407efeab928f9990cdf788afec00b5419fcddb43f41a9df9e61e0738e30f2e