scenario-image-editing
Use when editing an existing image on Scenario through MCP with a tool model, not a new generation: upscale or enhance to 2x, 4K, 8K, super resolution, 3D LUT color grade, color correction, posterize, solarize, vignette, film grain, blur, sharpen, glow, chromatic aberration, oilify, cubism, crystall…
Install / Use
npx skills add scenario-labs/skills --skill scenario-image-editingInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of scenario-image-editing
scenario-image-editing scores 84/100 on our quality scale, 2893rd of 4,647 Development & Engineering skills we index.
Its SKILL.md is 10 KB long, well organised into 9 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 1,048 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 8 days ago, so scenario-image-editing is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
scenario-image-editing compared with similar skills
All 4 of these similar skills score higher than scenario-image-editing; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| scenario-image-editing (this skill)by scenario-labs | 84 | 1.0k | 8d ago | SKILL.md |
| headroomby headroomlabs-ai | 100 | 78.0k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 104.1k | 2d ago | MCP Server |
| Scraplingby D4Vinci | 100 | 89.9k | 1d ago | MCP Server |
| crawl4aiby unclecode | 100 | 86.4k | today | MCP Server |
Frequently asked questions
- How do I install scenario-image-editing?
- Run
npx skills add scenario-labs/skills --skill scenario-image-editing. The install tabs above show the steps for each supported agent. - Which AI agents does scenario-image-editing work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is scenario-image-editing safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is scenario-image-editing still maintained?
- The repository was last updated 8 days ago, so scenario-image-editing is actively maintained.
Skill content
View source on GitHubname: scenario-image-editing description: "Use when editing an existing image on Scenario through MCP with a tool model, not a new generation: upscale or enhance to 2x, 4K, 8K, super resolution, 3D LUT color grade, color correction, posterize, solarize, vignette, film grain, blur, sharpen, glow, chromatic aberration, oilify, cubism, crystallize, dodge and burn, tint, desaturate, expand or uncrop, reframe an aspect ratio, resize to exact pixels, slice tiles, contact sheet, split into layers, remove a background or watermark, vectorize." license: MIT
Scenario Image Editing
Overview
Editing an existing image is a model_run on a tool model: one file in, a few numeric knobs, one or
more assets out, nothing to prompt on most of them. Generating a new image, prompt-driven edits and
masked inpainting are scenario-image; the same effects on footage are scenario-video-editing;
stacking layers is scenario-video-assembly (Image Studio). Connection and the core loop:
scenario. If a sibling skill named here is missing from your available skills, ask the user to
install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool
schemas and flag the gap.
Quick reference
Two discovery lanes. A family is browsed with search (target="models", public=true) by tag. A
single utility is a capability, so it goes to recommend with capability="img2img" and the need
in the user's own words, which names the purpose-built tool and prices it against the general
editors; when it answers a utility job with general editors only, find the tool by name with
search and filters={"tags": ["tool"]}, as the watermark row does:
| Need | Route |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The effects family | search, filters={"tags": ["Post Processing"]} (40 hits, image and video) |
| Upscale or enhance | search, filters={"tags": ["image-upscale"]} |
| Cutouts, relight, layers, vector | recommend: at authoring time each lane returned its purpose-built tool ranked by measured cost and latency against the general editors, where search returned the same tools with nothing to rank them by |
| Watermarks, burned-in text | search, query="text remover", a name lookup: at authoring time recommend sent watermark removal to general instruction editors and missed the purpose-built Photoroom Text Remover |
| Tiles, sheets | none: model_scenario-image-slicer, model_scenario-grid-maker (fixed first-party ids, each Scenario's single deterministic tool for its job) |
Reframe ids below are authoring-time hits: re-discover them.
The effects family
Eighteen effects share one shape, a required image file plus one to three knobs: blur, chromatic
aberration, color correction, crystallize, cubism, desaturate, dissolve, dodge and burn, glow and
bloom, grain, 3D color LUT, oilify, parabolize, posterize, sharpen, solarize, tint, vignette.
Ranges are per tool and unguessable. posterizeThreshold runs 0 to 1 (default 0.5) while Color
Correction's temperature, contrast and saturation run -100 to 100 with gamma on 0.2 to 2.2,
all from model_schema_get. Not every knob is a number: Grain takes a 22-value profile enum, a
color temperature and a boolean, no strength control at all. Those profiles are looks, not
intensities, and some soften instead of texturing: compare against the input rather than assuming
grain landed. Grain's grainColorTemp (2000 to 10000) hides a sharper trap: the 6500 default is not
neutral, and it warms the frame and lifts blacks harder than a restrained LUT pass does, so the
texture step quietly re-grades what the grade step just set. Set it deliberately and judge the
result against the graded input, not the original; which direction neutralizes it is unverified, so
compare one frame each side of 6500 before a batch. Defaults disagree too: Color Correction's are
no-ops (nothing set returns the input unchanged and still charges) where LUT and Posterize ship a
visible default.
lutStyle holds 140+ exact strings, one of which contains a space (cgc_look_teal and orange), so
copy them from the schema rather than retyping. Prefixes group them: cgc_film_emulation_* and
rec709_* emulate film stocks, cgc_log_to_rec709_* expects log footage and will over-contrast an
ordinary render, and the bulk of the list (cgc_look_*, pond5_*, distant_land_*,
shutterstock_*) are look packs. Five bare presets sit outside every prefix, and one of them,
teal_orange, is the model's default: leave lutStyle unset and the grade that lands is teal and
orange, not neutral.
These finish inside model_run, returning status: "success" with the assets attached, so no
jobs_wait. They are flat-priced: at authoring time every effect dry-ran at 1 CU whatever the input
size (Resize Image at 2), so one dry_run stands for the family, where an upscale's price moves
with output pixels. Chain them by passing one run's asset_id to the next. The pipeline order
across this skill: reshape and upscale first (see the next section), then grade, then texture. Grain
and sharpening are high-frequency effects that any later resize interpolates away, so they go last,
at delivery resolution; a LUT is resolution-tolerant and sits on either side.
Upscaling is a model family, not a knob
Upscalers are img2img models, many taking no prompt at all: discover with
filters={"tags": ["image-upscale"]} (13 hits at authoring time). Fidelity upscalers (Topaz,
Recraft Crisp) sharpen and enlarge what exists, the pick when output must stay on-model; creative
ones (Magnific Creative, the Clarity pair) carry a creativity dial that invents detail and can
redraw fine features, so compare against the source. Sizing comes only from model_schema_get and
varies per model: a factor, a target resolution or megapixels, or just image with no dial (2x to
16x and 4K to 8K ceilings were typical, not bounds). Cost follows output pixels: dry_run=true,
top-level on model_run and never inside parameters, prices the exact size before a batch. An
upscale can also outrun model_run's wait budget where the effects above never do: a modest one
still returns status: "success" inline, a larger one returns status: "in_progress" and a job id
for jobs_wait, re-called with any returned pending_job_ids as job_ids. Purpose-built variants
protect seams on tileable textures and continuity on 360 panoramas: see scenario-textures and
scenario-skyboxes.
Expanding a canvas is four different tools
- Reframe (
model_scenario-gemini-reframe): anaspectRatioenum plus aresolutiontier (1K, 2K, 4K), so exact pixels are out of reach; optionalprompt. The enum is approximate:4:5came back 1856x2304 (29:36), so a true ratio needs a Resize Image pass after it (fit: "cover", so it crops the sliver instead of squashing). - Smart Reframe (
model_scenario-smart-reframe):widthandheightare required and exact, and it protects on-image text, brand marks and palette.textDensity: "DENSE"costs substantially more. - Photoroom Expand: exact
outputWidthandoutputHeightup to 4096, plus aseed. - Photoroom Uncrop: rebuilds a subject the frame edge cut off.
Resize Image (model_scenario-resize-image, a fixed first-party id: Scenario's single
exact-dimension resize tool, so discovery would only re-derive it) is none of these: it scales
pixels to width and height (one alone keeps the ratio) and never invents canvas; fit decides
what an off-ratio box does (contain, the default, may land smaller than the box, stretch
distorts, cover center-crops to exact dimensions).
Both reframes recompose generatively rather than filling canvas, and at tens of times an effect's
price they are the chain's expensive step: dry_run them. They re-render, so reframe first and
grade after: a grade or grain pass beforehand comes back partly reinterpreted.
Cardinality
Effects take a scalar image. Resize Image (images, max 10) and Grid Maker (images, max 100)
are array: true, where a bare id is silently dropped and the run succeeds having ignored it.
Worked example: grade a key art, then export at size
upload_assetthe file, thenupload_asset_completeunless it went inline under ~100KB.- Reshape first: Resize Image to the delivery size, with
imagesas an array even for the one file. model_schema_getonmodel_scenario-postprocessing-lut(a fixed first-party id: Scenario's single deterministic LUT tool, so discovery would only re-derive it), pick alutStylefrom its enum, price it withmodel_runanddry_run=true, then run it withlutIntensitynear 0.6 for a restrained grade.- Grain last, on that output, so its texture is sized for the shipping frame.
asset_displayto review,asset_downloadto save.
Common mistakes
- Reaching for an
image_editMCP tool, or for local ImageMagick or Pillow: the surface ismodel_runon tool models. - Prompting an effect ("more posterized"): they read numbers only. Reframe and the layer extractors take text.
- Slicing or extracting layers before grading: both return one asset per piece, so every piece then needs its own run.
- Saving a traced SVG with
asset_download: it comes back rasterized, so take the stored file fromasset_get'surlwithcurl -L.
Related Skills
headroom
78.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Agent-Reach
104.1kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Scrapling
89.9k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
86.4kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key. Join our Discord https://discord.gg/VuxzM8mtf
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
