Nano banana
Skill tuoxie2046/claude-code-research-skills/skills/nano-banana
A curated collection of Claude Code skills & plugins for academic research paper workflows — figures, writing, polishing, peer-review simulation, multi-source literature search (MCP), and full research→write→review pipelines.
npx -y skills add tuoxie2046/claude-code-research-skills --skill nano-bananaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generate images from the terminal with Google's nano-banana (Gemini image model) via the Antigravity CLI (`agy`), billed to the signed-in Google account. Use whenever the user asks to create / draw / generate an image, picture, icon, logo, illustration, poster, infographic, or diagram specifically with nano-banana / Gemini / Antigravity — or wants rich, text-heavy infographics. For the OpenAI gpt-image-2 path use the separate `gpt-image` skill instead.
SKILL.md
5.0 KB, as published. Nobody here has run it
nano-banana — image generation via Antigravity (agy)
Wraps the agy (Google Antigravity) agent so Claude Code can generate images with
nano-banana. Unlike a plain CLI, image generation here is an agent tool
(generate_image) invoked through natural language — the wrapper builds a strict
instruction, runs agy -p, then verifies the output file actually landed (with
recovery from agy's brain/ working dir). Auth is the Google account signed into agy.
All commands go through the helper:
~/.claude/skills/nano-banana/scripts/nano-banana.sh <check|generate|batch> [args]
Workflow
- Preflight once per session:
nano-banana.sh check. If it reports no creds / auth, the user must runagyonce interactively to log in (browser OAuth) — you cannot do this for them. Token expiry surfaces at generate time as an auth error. - Generate with an explicit
--outputPNG path. The helper printsIMAGE\t<path>\t<WxH>on success. - Always
Readthe produced PNG to view it and verify, then report the path. - Iterate by re-running with a refined prompt.
Commands
Generate (text → PNG):
~/.claude/skills/nano-banana/scripts/nano-banana.sh generate \
--prompt "PROMPT TEXT" --output ./out.png
Batch (many prompts → many images; one per prompt, continue-on-error, manifest):
# from a file (one prompt per line; blank lines and # comments skipped)
~/.claude/skills/nano-banana/scripts/nano-banana.sh batch \
--prompts-file ./prompts.txt --outdir ./renders
# inline / stdin
~/.claude/skills/nano-banana/scripts/nano-banana.sh batch --prompt "a" --prompt "b" --outdir ./out
printf 'one\ntwo\n' | ~/.claude/skills/nano-banana/scripts/nano-banana.sh batch --prompts-file -
Name an output by prefixing a line with stem<TAB>prompt (else 001.png, …).
Default --outdir is ./nb-batch-<timestamp>/; read <outdir>/manifest.tsv for the
stem→status→path→prompt map. Per-image failures are recorded and skipped, but an
auth failure aborts the whole batch (no point retrying every prompt against dead
auth) — re-login with agy and re-run.
How it works / behaviors
- Underlying tool is
generate_image(nano-banana is the model). There is noagy imagesubcommand — the agent calls the tool from the prompt. - The agent generates a JPEG into
~/.gemini/antigravity-cli/brain/<conv-id>/, then converts to PNG at your--output. The wrapper forces an absolute path and, if the agent doesn't save there, recovers the newest brain image and converts it viasips. - Output paths are absolutized (agy resets cwd). Parent dirs are created.
- One retry on a no-file result; auth/eligibility errors fail fast with guidance.
- Non-destructive: success requires the output file to actually change this run (checked via its inode:mtime:size), so a pre-existing/stale file is never reported as a fresh result and is not deleted if generation fails.
⚠️ Safety
This path drives an autonomous agent (agy -p … --dangerously-skip-permissions):
tool calls and file writes are auto-approved. A prompt is therefore not just image text —
a malicious or careless prompt could instruct the agent to run other tools or touch other
files. Only pass trusted prompt text (and trusted --prompts-file contents). For the
non-agent, capability-scoped path, prefer the gpt-image skill.
Strengths & limitations (vs gpt-image-2)
- Strengths: excellent in-image text rendering; tends to produce rich, fully fleshed-out infographics (adds detail, gradients, sub-labels). Great for posters and content-heavy diagrams; strong at consistent image editing (via prompt + a file path).
- Limitations:
- No precise size control through the agent — it returns its own dimensions
(often ~16:9). If you need an exact size, post-process with
sips -z H W. - Slower than gpt-image-2 (it's an agent turn: tool call + format convert).
- Tends to elaborate — if you want strictly minimal output, say "minimal, no extra text, exactly three boxes" etc.
- Needs a live
agylogin; tokens expire and require interactive re-auth.
- No precise size control through the agent — it returns its own dimensions
(often ~16:9). If you need an exact size, post-process with
Troubleshooting
agy ... not found→ install Antigravity (https://antigravity.google) or ensure~/.local/binis on PATH.- auth /
IneligibleTier/ "Authentication required" → runagyonce interactively to log in; the standalonegeminiCLI is not usable on free-tier accounts. - No file produced → check stderr for the agy transcript; re-run (one retry is automatic).