image-gemini-s3 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited image-gemini-s3 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
One-shot workflow: take a user request, optimize the prompt, generate an image with Gemini, upload it to S3-compatible storage, and return the public URL. This is the most common image use case — the user almost always wants a URL they can use.
When in doubt, default to this skill. Adding an upload takes almost no extra time and the user ends up with both the local file path AND the URL.
/generate-image-gemini, and it's the main reason this skill produces better results than calling the raw tool.quality: `fast` (Nano Banana, 1K) — this is the right default. It's cheap and quick, and most image requests don't need more. Move up to balanced only when the user signals they care about quality ("for my landing page", "this needs to look polished"). Use quality only when the user explicitly asks for photorealistic/print-quality work — warn them it takes several minutes.aspect_ratio: match the use case — 1:1 for avatars/icons, 16:9 for landing pages/banners, 9:16 for portraits/stories, 4:3 for photos, 3:4 for postersformat: png default, webp if the user mentioned web performance, jpeg only for large photographic contentmcp__mcp-media-toolkit__generate_and_upload_gemini_s3 with the optimized prompt and chosen options. This runs generation and upload in one call, so partial failures are handled cleanly.The raw Gemini tool doesn't optimize prompts — this skill does it on the Claude side, adding detail about composition, lighting, style, and technical quality before the API call.
Keep the result to 1-3 dense sentences. Model responds better to information density than to long paragraphs.
Example 1
quality: balanced, aspect_ratio: 16:9, format: png (bumped to balanced because "for my blog" signals quality matters)Example 2
quality: fast, aspect_ratio: 1:1, format: png (fast is fine for exploratory logo drafts)Example 3 — user was already specific
If the user's prompt is already dense and specific, don't bloat it. Tighten wording, maybe add technical quality hints, and pass it through. Only expand prompts that are genuinely vague.
Partial failure is the most important case here. If the image generates but the upload fails, the tool returns isError: true but still includes the local file path and a thumbnail preview. When this happens:
/upload-image-s3.Other errors:
/generate-image-gemini (local only).~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.