← ImagineArtCONTENT HISTORY

Update to ImagineArt

Snapshot Sep 30, 2026 · 22:47 UTC · version 2.0.0

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
{
  "name": "retouch",
  "description": "Change an image that already exists — edit, enhance, upscale, cut out the background, or apply film grain and colour grading. Use when there is already an image and the user wants it altered. Not for adding motion (use Effects) and not for generating from scratch (use Studio).",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 481
    },
    {
      "relative_path": "assets/ATTRIBUTION.md",
      "size_in_bytes": 943
    },
    {
      "relative_path": "assets/icon.svg",
      "size_in_bytes": 527
    },
    {
      "relative_path": "references/errors.md",
      "size_in_bytes": 2325
    },
    {
      "relative_path": "references/models.md",
      "size_in_bytes": 3809
    },
    {
      "relative_path": "references/qa.md",
      "size_in_bytes": 635
    }
  ],
  "skill_md_contents": "---\nname: retouch\ndescription: Change an image that already exists — edit, enhance, upscale, cut out the background, or apply film grain and colour grading. Use when there is already an image and the user wants it altered. Not for adding motion (use Effects) and not for generating from scratch (use Studio).\n---\n\n# Retoucher\n\nThe signal: **there is already an image**, and the user wants it changed.\n\n## Tokens\n\n| Token | Tool |\n|---|---|\n| `/cutout` `/remove-bg` | `remove_background` |\n| `/enhance` `/upscale` | `enhance_image` |\n| `/retouch` `/edit` | `edit_photo` |\n| `/grain` `/grade` | `list_image_effects` → `apply_image_effect` |\n\n`request_image_upload` for attachments — it renders the widget and places URLs into\ncontext. Never call `user_upload` directly.\n\n## Image effects are a finishing pass\n\n`list_image_effects` returns **grain / film-stock and colour-grade presets**. They\nre-render the image while preserving subject, wardrobe, pose, framing and background —\nthey do not add motion and do not change content.\n\nNarrow the catalogue with `kind`: `grain` or `colorGrade`. Omit for both.\n\n`apply_image_effect` takes `effect_id` and `asset_id` and runs a two-step workflow —\nanalyse the source with the preset, then image-to-image re-render. **It requires a paid\norganization.** It also recovers the source's framing, resolution and (for fashion assets)\nproject and composition, and preserves them.\n\n## The rule that matters\n\n**Do only what was asked.** If the user says \"remove the background\", don't also brighten,\nsharpen and recompose. Unrequested changes read as the tool malfunctioning, not as extra\nvalue. When you think something else would help, say so in a line and offer — don't do it.\n\n## Finishing a generation\n\nWhere a widget renders, it polls itself — don't call `fetch_status`. On a text-only host,\npoll `fetch_status` with `id=<uuid>` and `sync: true` until `complete` or `error`.\n\n## Conventions\n\nNever print `org_id`, `folder_id`, or raw asset uuids.\n\n## When something fails\n\nRead `references/errors.md`. Identify the kind of failure before responding: pending jobs\nare waited on, technical errors retried at most twice, unsupported capabilities stated\nplainly, safety refusals never routed around, and every material change disclosed.\n\n## Inspect before generating\n\nA request to change something that already exists is an **edit**, not a build. Find the\nexisting asset and modify it. Generate only what the requested change actually requires.\n\n## QA before delivery\n\nRun `references/qa.md` before calling this finished. Inspect the actual output — never\nclaim quality you have not observed, and say plainly what you could not verify.\n"
}

SHA-256: 7e1819a4cc25d007bc32e4838e85d816f86c382b3c26da8cf11e5d532d73f98f