Deterministic OpenRouter image generation adapter for Nano Banana Pro / Gemini image models. Use as skill_exec when a meta-skill needs local image files and structured IMAGE_READY records without spawning an LLM agent.
69
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
This skill is a deterministic adapter around OpenRouter image generation. It is
intended for meta-skill skill_exec use, not as an open-ended agent surface.
with, argv,
the plan, or persisted run data. Direct standalone CLI use may still provide
OPENROUTER_API_KEY..env files, prompt for credentials, print credentials, or
write credentials to disk.IMAGE_READY: JSON line per saved image.IMAGE_GENERATION_FAILED
with exit 0 so the webpage can bind a replacement slot without auto-replay.When stdin is JSON containing media_slots, image_slots, slots, or
page_outline, the adapter generates image slots and preserves already
downloaded images. Structured slots are preferred over free-form outline text:
{
"requirement_framing": "...",
"media_slots": {"slots": [{"slot_id": "hero-visual", "modality": "image"}]},
"page_outline": "...",
"image_download": "...",
"include_images": "YES",
"visual_style": "..."
}Existing IMAGE_READY: records in image_download are preserved. If
IMAGE_DOWNLOAD_INCOMPLETE: lists unfilled_slot_ids, only those slots are
generated. If the caller requested images but both structured slots and outline
slot parsing are empty, the adapter synthesizes minimal webpage-safe image
slots from the brief instead of emitting no_image_slots_to_generate.
When stdin is plain text, the adapter generates one image using that text as the
prompt and the --filename stem as the slot_id.
94ac35e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.