Scenario Formats
SkillMediaLets your agent adapt one approved image or video into all required sizes like square, vertical, story, and thumbnail.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Scenario Formats skill
About this skill
Use when one approved visual, image or video, must ship at many sizes or placements through Scenario: adapting a master to 1:1, 4:5, 9:16, or 16:9, social formats for feeds and stories, YouTube thumbnails, storefront capsules and app store graphics, marketplace product images, link previews, display
What this skill tells your AI
The instructions your AI receives, as published by scenario-labs/skills in skills/scenario-formats/SKILL.md and read by ahel’s review.
Overview
Format adaptation is derivation, not regeneration: re-prompting the concept per placement makes five cousins, not five formats of one approved master. The failure modes are picking the wrong operation (a resize where canvas needed inventing, a crop that beheads the subject) and deriving in the wrong order. The canvas tools' exact contracts live in scenario-image-editing; this skill is the decision ladder and the order of operations around them, with per-placement ratios, pixel targets, and safe zones in references/placement-specs.md. A video master climbs the same ladder: video resize versus generative reframe lives in scenario-video-editing, and far ratios recompose per scenario-video. Connection and the core loop: see the scenario skill. Lettering per format: scenario-text-overlay. 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.
The decision ladder
Per target format, take the first rung that fits. Each rung is a model_run on a model found with search (target="models", public=true), never a dedicated MCP tool of its own:
| The target needs | Operation |
|---|---|
| Same ratio, other pixels | Resize: exact, scales pixels, invents nothing |
| A tighter ratio, edges expendable | Resize with fit: "cover": exact, center-crops the overflow; only when the subject clears the cut |
| More canvas, composition intact | Expand or uncrop: exact pixels, fills outward |
| Another ratio, recomposed around the subject | Generative reframe; the text-protecting variant when lettering or marks are on the plate |
| A far ratio or a new visual hierarchy | Recompose natively: a fresh run per scenario-image with the master as reference (scenario-consistency), composed for that ratio |
The last rung applies more often than it looks: 16:9 key art seldom survives to 9:16 by any amount of outpainting, which is why the director siblings (scenario-video-ads) design each delivery ratio as its own composition.
Order of operations
- Approve one master first, at the largest clean size available, on a text-free plate (unattended, the task's named master or the brief's own description stands in for the approval).
- Derive every format from that master, never from another derivative: derivative-of-derivative compounds re-rendering artifacts.
- Reframe and expand before grading and grain: generative canvas work re-renders the image, so finishing passes applied first come back partly reinterpreted (
scenario-image-editingholds the pipeline order). A video reframe also precedes any upscale: it renders at its own resolution tier whatever the input carries (1080p at most at authoring time), so an upscale ahead of it is discarded; upscale the reframed clip to delivery size. - Verify by measurement before finishing: reframe ratio enums are approximate (a 4:5 request came back 29:36 at authoring time), so check output dimensions, land exact with a resize, and batch-check that subjects survived with
asset_analyze(scenario-asset-analysis). - Letter last: re-overlay lettering per format with
scenario-text-overlay, sized to each final canvas, since type scaled by a resize turns soft and each placement has its own safe area. Keep critical content and text away from the edges platform UI covers: each placement's target and safe zone is in references/placement-specs.md as an authoring-time value, so confirm contractual specs with the user (unattended, task instructions win over the reference, and the delivery report states which was used).
Worked example: key art to story, feed, and thumbnail
- Master: 16:9 text-free key art, approved.
- 1:1 feed: generative reframe with a prompt naming what must stay ("the knight centered, both banners visible"), then a resize pass to the exact deliverable pixels.
- 9:16 story: a far ratio, so recompose natively: one run per
scenario-imagewith the master as reference and a 9:16 composition clause; the master holds palette and subject on-look. - Thumbnail: readability rules the crop, so reframe tight on the face or product, land exact with a resize, then
asset_displaythe result and judge it small: thumbnails are seen at a tenth of their size. - Verify dimensions against the deliverable list and batch-check that subjects survived with one
asset_analyzepass, then overlay the title card per format onto each final canvas and file the set in a collection.
Common mistakes
- Re-prompting per format: five generations of one prompt are five different images; derive from the master.
- Stretching into a new ratio with a resize (
fit: "stretch"): it distorts. A ratio change isfit: "cover"when the edges are expendable, else reframe, expand, or recomposition. - Grading and grain before reframing: the order is reshape, then grade, then texture.
- Deriving from the lettered master: generative operations re-render type; keep a text-free plate and re-overlay per format.
- Trusting a ratio enum: measure the output and resize to exact.
- Center-cropping toward 9:16 because it is cheap: it is also how subjects lose their heads; the ladder exists to be climbed.
- Skipping
dry_runon reframes: generative canvas work is the expensive step in the chain, tens of times an effect's price (scenario-image-editing).
Signals
- GitHub stars
- 681
- Forks
- 82
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
scenario-formats- Source
- github.com/scenario-labs/skills