Skill v1.0.1
currentAutomated scan100/1005 files
version: "1.0.1" name: edit-image description: This skill should be used when the user asks to "edit an image", "modify a photo", "inpaint", "outpaint", "extend an image", "replace object in image", "add element to image", "resize image for social media", "crop image", "adapt image for Twitter", "convert image to OG format", or needs AI-powered image editing with masks.
Edit Image
Edit images using Nano Banana Pro (gemini-3-pro-image).
When to Use
Use this skill when the user asks to:
- Edit part of an image (inpainting)
- Extend an image beyond its borders (outpainting)
- Replace objects or regions in an image
- Add elements to an existing image
- Adapt an existing image for a different format or platform (social media, OG, Twitter card)
How It Works
Uses Gemini's multimodal capabilities to understand and edit images via natural language. The model takes the source image and a text prompt describing the desired edit, then generates a new image with the changes applied.
Semantic masking: Instead of requiring precise pixel masks, describe what to change in your prompt. The model understands context and can target specific regions.
Optional mask images: You can still provide a mask image (white = edit area) as a visual hint, but it's not required. Descriptive prompts often work better.
Usage
bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts <input-image> "edit prompt" [options]
Options
--mask <path>- Optional mask image (white = edit area, black = keep)--mode <inpaint|outpaint>- Edit mode--format <png|jpeg|webp>- Output format--size <1K|2K|4K|WxH>- Output size. openai also takes an exactWxH, for example3840x1280.--aspect <ratio>- Output aspect. openai accepts anyW:Hfrom 1:3 to 3:1. Do not combine with--size WxH.--quality <low|medium|high|xhigh|max|auto>- openai only (defaultauto).--jpeg-quality <n>- gemini only: JPEG quality (1-100)--negative <prompt>- What to avoid in the edit--count <n>- Number of variations--seed <n>- Random seed--output <path>- Output path--transparent- Transparent PNG output (OpenAIbackground=transparent; also Gemini)--provider <name>-geminioropenai. Omit to auto-pick.--model <id>- OpenAI Image 2.5 variant:flare/gpt-image-2.5-flare(default) orsunburst/gpt-image-2.5-sunburst. Sets provider to openai.
Examples
# Simple edit with descriptive prompt (no mask needed)bun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts photo.jpg "change the background to a beach sunset"# Edit with mask for precise controlbun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts photo.jpg "add a sunset sky" --mask sky_mask.png --mode inpaint# Outpaint to extend imagebun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts photo.jpg "extend the landscape" --mode outpaint# Edit with negative promptbun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts portrait.png "fix the teeth to look natural" --negative "gap in teeth, missing teeth"# Replace object with multiple variationsbun run --cwd ${CLAUDE_PLUGIN_ROOT} ${CLAUDE_PLUGIN_ROOT}/skills/edit-image/scripts/edit.ts scene.jpg "replace the car with a bicycle" --count 3
Context Discipline
Do not read generated images back into context. The script outputs only the file path. Ask the user to visually inspect the result. To inspect programmatically, optimize the image first (via the optimize-images skill) to avoid filling the context window with large uncompressed image data.
Prompt Tips
- Be specific: "Change only the sky to golden hour lighting" works better than "make it look better"
- Describe preservation: The tool automatically adds "keep everything else the same" but you can be more specific
- Use negative prompts:
--negative "blurry, distorted"helps avoid unwanted artifacts - Iterate: Generate a few variations with
--count 2and pick the best one
Models & Providers
Default provider is `gemini` (gemini-3-pro-image, Nano Banana Pro) — best for conversational/semantic edits, style-consistent edits, dedicated negatives, and multi-image composition. No Vertex AI credentials required.
Pass --provider openai (or --model flare|sunburst) to use Image 2.5 (gpt-image-2.5-flare default, gpt-image-2.5-sunburst opt-in) for masked inpainting, multi-image compositing (--mask, multiple --input), and transparent PNG output when requested (--transparent → background=transparent). Image 2.5 has no dedicated negative-prompt parameter and no outpaint mode — so --negative and --mode stay on Gemini (auto-routed). Style tiles remain Gemini-only.
After the provider is resolved, tune the prompt with the matching guide: providers/prompts/edit.gemini.md or providers/prompts/edit.openai.md.
Models verified live: September 2026 (gemini-3-pro-image,gpt-image-2.5-flare,gpt-image-2.5-sunburst). If a newer generation exists, STOP and suggest a PR tob-open-io/gemskills.