Install
$ agentstack add skill-bradagi-ultimate-gemini-skill-ultimate-gemini-skill ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Ultimate Gemini
Self-contained image generation. Derived from anand-92/ultimate-image-gen-mcp — tool surface, defaults, validation, and output shape mirror the original.
Prerequisites
GEMINI_API_KEY(orGOOGLE_API_KEY) in the environment. If missing, tell the user to set it — do not try to fix it yourself. Get one: https://aistudio.google.com/app/apikey.- Python deps:
google-genai,pillow. Install on first run if missing:
``bash pip install google-genai pillow ``
The CLI
python3 /scripts/gemini_image.py generate-image --prompt "..." [flags]
python3 /scripts/gemini_image.py batch-generate --prompts "p1" "p2" ... [flags]
| Subcommand | Purpose | |-------------------|-----------------------------------------| | generate-image | Single image | | batch-generate | Up to 8 prompts, run in parallel |
Flag names are kebab-case (e.g. --enable-google-search, --reference-image-paths, --thinking-level). Defaults: aspect_ratio=1:1, image_size=2K, output_format=png, thinking_level=minimal, batch_size=8, model=gemini-3.1-flash-image-preview.
Images save to $PWD/gemini_images/ by default (a subfolder of the directory the script runs from — keeps output with the project you're working on). Override with $GEMINI_OUTPUT_DIR. The script prints a JSON result on stdout — parse it to report paths back to the user.
User preference overrides
The user's global preferences override the defaults when invoking this skill (unless they explicitly ask for something else):
--image-size 1K(the user prefers 1K)--aspect-ratio 21:9when generating banners / hero images
Apply these before falling back to script defaults.
Decision tree
- One image →
generate-image --prompt "...". - Multiple related images (storyboard, variations, product angles) →
batch-generate --prompts "..." "...". Runs in parallel — always faster than serialgenerate-imagecalls. - Real product / person / current event → add
--enable-google-searchso the model grounds on live data (e.g. "Tony Hawk", "Way of Wade 12 shoes", "2025 iPhone"). - Want visual style references from the web → add
--enable-image-search. - Quality matters more than speed →
--thinking-level high. Defaultminimalis fast and fine for most asks.
(If either search flag is on, the script forces minimal to avoid thought_signature errors from the API — expected.)
- User provided reference image paths →
--reference-image-paths path1 path2 ...(absolute paths, up to 14).
Prompting principles
- Less is more. "Tony Hawk kickflip" beats a paragraph; the model + search fills the rest.
- Don't pre-load style verbiage the user didn't ask for. A "logo for Acme" is not automatically "cinematic, 8K, hyperdetailed".
- For polished results in a specific style, pick a template from
references/templates.md— each gives a crafted prompt body plus recommended params.
Common invocations
Banner / hero (user default)
python3 /scripts/gemini_image.py generate-image \
--prompt "..." \
--aspect-ratio 21:9 \
--image-size 1K
Logo
python3 /scripts/gemini_image.py generate-image \
--prompt " logo for , flat vector, strong silhouette, transparent background" \
--aspect-ratio 1:1 \
--image-size 1K \
--response-modalities IMAGE
Product shot grounded in reality
python3 /scripts/gemini_image.py generate-image \
--prompt "Way of Wade 12 shoes on studio white" \
--aspect-ratio 1:1 \
--image-size 1K \
--enable-google-search --enable-image-search
Storyboard / variations (parallel)
python3 /scripts/gemini_image.py batch-generate \
--prompts "scene 1 ..." "scene 2 ..." "scene 3 ..." "scene 4 ..." \
--aspect-ratio 16:9 \
--image-size 1K
With reference images
python3 /scripts/gemini_image.py generate-image \
--prompt "same character in a new pose" \
--reference-image-paths /abs/path/char1.png /abs/path/char2.png
Output shape
generate-image output (JSON):
{
"success": true,
"model": "gemini-3.1-flash-image-preview",
"prompt": "...",
"images_generated": 1,
"images": [{"index": 0, "path": "...", "filename": "...", "size": 12345, "timestamp": "..."}],
"text": null,
"metadata": {"aspect_ratio": "1:1", "image_size": "2K", "output_format": "png", "thinking_level": "minimal"}
}
batch-generate output (JSON):
{
"success": true,
"total_prompts": 4, "batch_size": 8, "image_size": "1K", "output_format": "png",
"completed": 4, "failed": 0,
"results": [{"prompt_index": 0, "prompt": "...", "success": true, "images": [...], ...}]
}
Parameter reference
Full schema (14 aspect ratios, sizes, formats, modalities, batch semantics, env vars) is in references/parameters.md. Load it when the user pushes the edges or asks about options.
Prompt templates
26 domain-specific prompt recipes (photography, cinematic, product mockup, logo, storyboard, macro, fashion, technical cutaway, flat lay, action freeze, night street, drone aerial, stylized 3D, SEM microscopy, double exposure, architectural viz, isometric, food, motion blur, typography, retro-futurism, surreal dreamscape, character sheet, PBR texture, historical, bioluminescent, silhouette) live in references/templates.md. Load only when the user's request clearly maps to one.
After generation
- Parse stdout JSON and report the file path(s) to the user.
- If the user asked to "see" the image, open it:
- Linux / WSL (Linux path):
xdg-open - WSL (Windows-reachable path like
/mnt/c/...):explorer.exe - macOS:
open - If the script exits nonzero with an auth error,
GEMINI_API_KEYis missing or expired — tell the user.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bradAGI
- Source: bradAGI/ultimate-gemini-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.