Image Prompt Reverse
LunarXuan/image-prompt-reverse
Analyze user-provided reference images and reverse-engineer high-fidelity AI image-generation prompts.
A skill your agent uses when generating or editing images with Microsoft MAI Image models on Scenario via MCP: photoreal or stylized text-to-image with legible in-image typography, posters…
$ npx skills add scenario-labs/skills --skill scenario-mai-image -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-mai-image --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scenario-mai-image .claude/skills/scenario-mai-image && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scenario-mai-image" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-mai-image into .claude/skills/scenario-mai-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-mai-image", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/scenario-labs/skills/tree/main/skills/scenario-mai-imageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add scenario-labs/skills --skill scenario-mai-image -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-mai-image --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/scenario-mai-image .agents/skills/scenario-mai-image && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scenario-mai-image" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-mai-image into .agents/skills/scenario-mai-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-mai-image", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-mai-image -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-mai-image --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/scenario-mai-image .cursor/skills/scenario-mai-image && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scenario-mai-image" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-mai-image into .cursor/skills/scenario-mai-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-mai-image", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/scenario-labs/skills.git --path skills/scenario-mai-image--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add scenario-labs/skills --skill scenario-mai-image -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-mai-image --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/scenario-mai-image .gemini/skills/scenario-mai-image && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scenario-mai-image" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-mai-image into .gemini/skills/scenario-mai-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-mai-image", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install scenario-labs/skills scenario-mai-imageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add scenario-labs/skills --skill scenario-mai-image -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/scenario-mai-image .github/skills/scenario-mai-image && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scenario-mai-image" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-mai-image into .github/skills/scenario-mai-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-mai-image", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-mai-image -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scenario-labs/skills scenario-mai-image --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/scenario-mai-image .opencode/skills/scenario-mai-image && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scenario-mai-image" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-mai-image into .opencode/skills/scenario-mai-image/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-mai-image", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scenario-mai-imageA skill your agent uses when generating or editing images with Microsoft MAI Image models on Scenario via MCP: photoreal or stylized text-to-image with legible in-image typography, posters…
Scenario Mai Image is an agent skill from scenario-labs/skills. Use when generating or editing images with Microsoft MAI Image models on Scenario via MCP: photoreal or stylized text-to-image with legible in-image typography, posters, packaging, magazine covers, ads, key art, or instruction-based editing such as text swaps, recoloring, object removal or replacement, background swaps, lighting changes, and full restyles. Keywords: MAI Image 2.5, 2.5 Pro, 2.5 Edit, 2.5 Pro Edit, Microsoft, txt2img, img2img, typography, text rendering, image edit.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Typography and Image generation. It works with Model Context Protocol. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scenario Mai Image loads about 1.5k tokens when it runs. Until then it costs about 126 tokens; SKILL.md has 777 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 777 words, ~1,477 tokens.
.claude/skills/scenario-mai-image/SKILL.md (or your agent's skills folder).MAI Image 2.5, Microsoft's image family on Scenario, splits into generation members (2.5, 2.5 Pro) and instruction editors (2.5 Edit, 2.5 Pro Edit). The family trait is typography: in-image headlines, labels, and taglines come back legible and placed where the prompt put them: the pick for posters, packaging, covers, and key art that carry real copy. Discover members with search and treat model_schema_get as the contract: the four agree on almost every field and disagree on the one that carries the source image.
Connection and the core loop: see the scenario skill in this repo; model-agnostic image work (sizing families, masks, upscales): the scenario-image skill. 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.
At authoring time (names from the live schema):
| Member | Makes | Source input | Ratios |
|---|---|---|---|
| 2.5 | txt2img | none | 11, incl. 21:9 |
| 2.5 Pro | txt2img | none | 8 |
| 2.5 Edit | img2img | referenceImages, array of one | 8 |
| 2.5 Pro Edit | img2img | image, single file | 8 |
All four share prompt (4096 characters on 2.5 and Edit, 5000 on the Pro pair), aspectRatio (an enum defaulting to auto), and numOutputs (1 to 4, each added image adds cost). No width, height, seed, negative prompt, or mask field exists: aspectRatio is the only sizing control, and edits target elements by naming them in prose. On the generators auto picks a ratio from the prompt; on the editors it matches the source, so leave it there unless re-framing is the point.
Write prose sentences, not tag lists: the family reasons over subject, composition, materials, lighting, and mood in that rough order. Wrap exact in-image copy in quotes so it renders verbatim, and give each text block a role, a style, and a place ("the headline 'GAME DAY' in bold condensed type across the top third"). Unquoted or vague copy comes back paraphrased or mangled, and many small text blocks compete, so group them. At authoring time text rendering was tuned for English and outputs landed near 1K, so plan a downstream upscale for print or hero use. Steering is positive-only: explore with numOutputs 2 to 4 and refine the sentence rather than hunting for a seed.
Both editors take one source image and a plain instruction, under different fields: Edit wants referenceImages with exactly one asset id in an array, Pro Edit wants image as a single file. Porting a parameter block between them breaks the run, so re-read the schema when switching. Structure the prompt as what must stay unchanged, then one change, naming the exact element and its exact new state, with replacement copy in quotes ("change the sign to 'OPEN 24/7', same font and color"). Chain passes for several changes; edits hold identity well across iterations. The two shared one public image-edit arena entry (top 3 at authoring time) while a Pro Edit asset cost about four times an Edit asset, so dry_run both and start with Edit.
search with target="models", query="mai image", public=true. Note the generation and edit hits, e.g. model_microsoft-mai-image-2-5-pro and model_microsoft-mai-image-2-5-edit (live hits at authoring time: re-discover each session).model_schema_get on the generation pick: ratio list, prompt cap, defaults.model_run with dry_run=true and parameters={"prompt": "A photorealistic poster of a climber on a granite wall at dawn, warm rim light, the headline 'ASCEND' in tall condensed sans-serif across the top, a small tagline 'Hold your line' lower left, editorial sports aesthetic.", "aspectRatio": "2:3", "numOutputs": 4}. numOutputs moves cost, so re-estimate after changing it.wait=false, then jobs_wait with the returned job id, re-called with pending_job_ids on timeout, never a second model_run.asset_display the four outputs and keep one asset id.model_schema_get on the edit pick, then model_run with parameters={"referenceImages": ["asset_x"], "prompt": "Keep the climber, lighting, and layout unchanged. Change only the headline to 'ASCEND HIGHER', same font, color, and placement."}; jobs_wait, then asset_display.referenceImages (array of exactly one) and image (single file) are member-specific shapes.aspectRatio is an enum and the lists differ (21:9, 5:4, and 4:5 lived on one member at authoring time).scenario-image skill).© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/scenario-mai-image of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Mai Image next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scenario Mai Image this skillscenario-labs/skills | 946 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Image Prompt ReverseLunarXuan/image-prompt-reverse | 467 | — | ~678 | Automated safety check: Pass | GPL-3.0 | |
| Nous Brandingmagnus919/agent-skills | 115 | — | ~4k | Automated safety check: Pass | MIT | |
| Cover Design Psychologyrevfactory/harness-100 | 1.3k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Minimal Zine Poster GeneratorLiamGvchi/gc-minimal-zine-poster | 7.3k | — | ~2.9k | Automated safety check: Pass | MIT | |
| SEO Image GeneratorAgriciDaniel/claude-seo | 19k | 2 repos | ~2.1k | Automated safety check: Pass | MIT |
LunarXuan/image-prompt-reverse
Analyze user-provided reference images and reverse-engineer high-fidelity AI image-generation prompts.
magnus919/agent-skills
Generate images and content consistent with the Nous Research brand identity.
revfactory/harness-100
A specialized skill for the cover-designer agent covering cover design psychology.
LiamGvchi/gc-minimal-zine-poster
Creates or analyzes quiet, paper-texture zine posters with big negative space, one color accent and experimental type, returning an image prompt and the generated poster.
AgriciDaniel/claude-seo
Generates Open Graph previews, blog hero images, product photos and infographics for SEO use through Gemini image tools and the banana extension.
sun-guannan/VectCutAPI
Guides an agent in building and polishing CapCut Desktop video projects through the CapCut MCP server and direct timeline file edits, including vertical canvas, subtitles and audio.
scenario-labs/skills
A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…
scenario-labs/skills
A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.
scenario-labs/skills
A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…
scenario-labs/skills
A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…
scenario-labs/skills
A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…
scenario-labs/skills
A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…
Works with
Categories
A skill your agent uses when generating or editing images with Microsoft MAI Image models on Scenario via MCP: photoreal or stylized text-to-image with legible in-image typography, posters…. Scenario Mai Image is an agent skill from scenario-labs/skills. Use when generating or editing images with Microsoft MAI Image models on Scenario via MCP: photoreal or stylized text-to-image with legible in-image typography, posters, packaging, magazine covers, ads, key art, or instruction-based editing such as text swaps, recoloring, object removal or replacement, background swaps, lighting changes, and full restyles.
Scenario Mai Image fits situations like: editing images with Microsoft MAI Image models on Scenario via MCP: photoreal; stylized text-to-image with legible in-image typography; magazine covers; instruction-based editing such as text swaps.
Run `npx skills add scenario-labs/skills --skill scenario-mai-image -a claude-code`. Or copy the skill folder (skills/scenario-mai-image in scenario-labs/skills) into .claude/skills/scenario-mai-image in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-mai-image -a codex`. Or copy the skill folder (skills/scenario-mai-image in scenario-labs/skills) into .agents/skills/scenario-mai-image in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-mai-image -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-mai-image, .gemini/skills/scenario-mai-image, .github/skills/scenario-mai-image and .opencode/skills/scenario-mai-image in your project.
Going by SKILL.md and its folder, Scenario Mai Image needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Scenario Mai Image is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Scenario Mai Image: Image Prompt Reverse (LunarXuan/image-prompt-reverse, 467 stars), Nous Branding (magnus919/agent-skills, 115 stars), Cover Design Psychology (revfactory/harness-100, 1.3k stars) and Minimal Zine Poster Generator (LiamGvchi/gc-minimal-zine-poster, 7.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.
Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.