banana — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited banana (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.
Z $ARGUMENTS urči tři věci:
Default je zeptat se, ne hádat. Pokud si u subjektu, typu nebo účelu nejsi jistý na 100 % — $ARGUMENTS je prázdné nebo příliš vágní, popis by šel realizovat víc znatelně odlišnými způsoby — polož doplňující otázku, než začneš sestavovat prompt. Neptej se na detaily, které na výsledném obrázku nic nemění (přesný odstín v rámci jasně daného stylu); ptej se na to, kde by špatný odhad vedl k jinému obrázku, než uživatel chtěl. Otázku spoj s Krokem 2 do jedné zprávy (viz níže) — neptej se ve dvou kolech.
Generování vs. editace: Pokud uživatel odkazuje na existující obrázek („uprav tohle", „změň pozadí na téhle fotce", přiložený soubor), jde o editaci — použij --input a editační prompt (viz Krok 3). Ověř, že soubor existuje a je .jpg/.jpeg/.png/.webp. Pokud cestu neznáš, zeptej se na ni.
Auto-doporučení (tabulka níže) použij bez ptaní jen když typ obrázku z Kroku 1 jednoznačně padne do jednoho řádku a uživatel nic dalšího nenaznačil. Ve všech ostatních případech — typ nejde k tabulce jasně přiřadit, zadání je vágní, nebo si nejsi jistý, jestli chce flash nebo pro, jaké rozlišení nebo poměr — zeptej se, nedomýšlej si to potichu.
Pokud potřebuješ doptat na cokoliv z Kroku 1 i z parametrů zároveň, polož jednu souhrnnou otázku, ne dvě zprávy po sobě:
Co přesně chceš vygenerovat (subjekt, kde to použiješ) + model (flash/pro), rozlišení (512/1K/2K/4K), poměr (1:1/16:9/9:16/3:2/2:3/4:3/3:4/4:5/5:4/21:9), počet — nebo potvrď navržené auto-doporučení: [vypiš konkrétní hodnoty, které bys použil].
Validní poměry jsou přesně: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9. Jiné (např. 2:1, 1:2) neexistují — vyber nejbližší validní a řekni to uživateli.
| Typ | Model | Poměr | Rozlišení |
|---|---|---|---|
| Produktovka | flash | 1:1 nebo 4:5 | 1K–2K |
| Banner web | flash | 21:9 nebo 16:9 | 2K |
| Instagram post | flash | 1:1 nebo 4:5 | 1K |
| Instagram story/reel | flash | 9:16 | 1K |
| Blog header | flash | 16:9 | 1K |
| Logo / text v obrázku | pro | 1:1 | 2K |
| Infografika | pro | 4:5 nebo 3:4 | 2K |
| Portrét | flash | 3:4 nebo 4:5 | 2K |
| Krajina / panorama | flash | 16:9 nebo 21:9 | 2K–4K |
| Prezentace | flash | 16:9 | 2K |
Volba modelu: text v obrázku (logo, banner s nápisem, infografika), požadavek na 4K, faktická přesnost (reálné produkty, mapy, diagramy) nebo konzistence napříč sérií → pro. Jinak flash — rychlý default pro fotorealismus a lifestyle bez textu.
Víc obrázků najednou:
--batch N (jeden prompt, N výsledků).# = komentář) a použij --prompts-file.Nejdřív nahlédni do `~/.claude/skills/banana/prompt-library.md` — pokud obsahuje osvědčený prompt pro stejný typ obrázku, použij ho jako výchozí bod a uprav jen subjekt/detaily. Knihovna poráží stavbu od nuly.
Prompt musí být anglicky, narativní (souvislé věty, NE tagy/klíčová slova) a přizpůsobený typu obrázku.
Pro generování od nuly platí anatomie 4 vrstev níže. Pro editaci (--input) platí jiná pravidla — viz sekce Editace obrázku.
#### Anatomie dobrého promptu (generování)
Každý prompt má 4 vrstvy. Skládej je v tomto pořadí:
Vrstva 1 — Scéna (CO vidím) Hlavní subjekt, akce, prostředí. Buď konkrétní a vizuální.
Vrstva 2 — Technika (JAK to vypadá) Fotografické/designové parametry podle typu obrázku:
| Typ | Technika |
|---|---|
| Produktovka | "product photography, clean white background, soft studio lighting, shot with 100mm macro lens, sharp focus, no shadows" |
| Lifestyle | "candid lifestyle photography, natural window light, shallow depth of field, 50mm lens, warm tones" |
| Banner | "wide-angle composition with generous negative space on the left for text overlay, dramatic lighting" |
| Social | "vibrant saturated colors, eye-level perspective, bright even lighting, Instagram-ready crop" |
| Portrét | "portrait photography, 85mm lens, f/1.8 aperture, soft bokeh background, Rembrandt lighting" |
| Krajina | "landscape photography, golden hour, wide-angle 24mm, deep depth of field, dramatic sky" |
| Logo | "minimalist logo design, flat vector style, clean geometric shapes, centered on solid background" |
| Ilustrace | "digital illustration, clean lines, modern flat design, limited color palette" |
Vrstva 3 — Atmosféra (JAK to působí) Barvy, nálada, styl. Odvoď z kontextu projektu (CLAUDE.md) nebo ze zadání:
Vrstva 4 — Kvalita (technický uzávěr) Vždy zakonči jednou větou podle typu:
#### Negativní instrukce Na konec promptu přidej relevantní záporné instrukce:
#### Editace obrázku (--input)
Model vezme existující obrázek a upraví ho podle promptu. Prompt stavěj jinak než při generování:
Typické úlohy a vzory:
| Úloha | Vzor promptu |
|---|---|
| Změna pozadí | "Replace the background with [a clean white studio backdrop]. Keep the subject, its lighting and shadows unchanged." |
| Přidání objektu | "Add [a water bottle] next to [the runner]. Keep everything else exactly as is." |
| Odebrání objektu | "Remove [the person in the background]. Fill the area naturally, keep everything else unchanged." |
| Změna barev/světla | "Change the [jersey] to [deep blue]. / Relight the scene as [warm golden hour]. Preserve all other details." |
| Style transfer | "Redraw this image as [a flat vector illustration]. Preserve the composition and subject." |
| Úprava produktovky | "Place this product on [a wooden table in a sunlit kitchen], soft natural lighting. Do not alter the product's shape, label, colors or proportions." |
Pravidla:
pro — lépe drží detaily, nápisy a věrnost vstupu.--ratio/--size u editace zadávej, jen když uživatel chce jiný formát než má vstup.banana --input cesta/k/obrazku.png --prompt "edit instruction". Vstup: .jpg/.jpeg/.png/.webp.#### Kontextové obohacení Přečti CLAUDE.md aktuálního projektu. Hledej:
Před spuštěním VŽDY ukaž v tomto formátu:
Prompt: [celý anglický prompt]
Parametry: flash | 1K | 1:1 | 1 ks
Input: [cesta ke vstupnímu obrázku — jen u editace]Pak spusť generování.
Po vygenerování ukaž cestu k souboru a zeptej se:
Hotovo. Chceš: 1. Další variantu (stejný prompt, nový výsledek) 2. Upravit prompt (řekni co změnit) 3. Hotovo
Když uživatel potvrdí spokojenost („hotovo", „super", „to je ono"), přidej finální prompt do ~/.claude/skills/banana/prompt-library.md (formát viz hlavička souboru, nejnovější nahoru) a krátce to zmiň. Neukládej prompty, ke kterým se uživatel nevyjádřil kladně.
| Uživatel říká | Co udělat v promptu |
|---|---|
| "moc tmavé" | Změň lighting na "bright, high-key lighting, well-lit scene" |
| "moc generické" | Přidej specifické detaily — materiály, textury, prostředí |
| "chci jiný úhel" | Změň perspektivu — "bird's eye", "low angle", "close-up" |
| "víc prostoru na text" | Přidej "generous negative space on [left/right/top] for text overlay" |
| "jiný styl" | Zeptej se jaký, pak přepiš vrstvu 2 a 3 |
| "líbí se, ale..." | Zachovej 90% promptu, uprav jen zmíněný detail |
--prompt "popis" Anglický prompt
--prompts-file soubor.txt Dávka RŮZNÝCH promptů — jeden na řádek, # = komentář
--input cesta.png Editace existujícího obrázku (.jpg/.jpeg/.png/.webp)
--mode standard|custom Mód (default: standard)
--model flash|pro Model (default: flash)
--size 512|1K|2K|4K Rozlišení (default: 1K)
--ratio 1:1|16:9|9:16|... Poměr stran (default: 1:1), validní hodnoty viz Krok 2
--batch N N variant STEJNÉHO promptu (default: 1)
--output-dir cesta Vlastní výstupní složka (default: aktuální složka)--batch vs --prompts-file: batch generuje varianty jednoho promptu, prompts-file projede víc různých promptů najednou.
| Klíč | Model | Kdy použít |
|---|---|---|
flash | gemini-3.1-flash-image | Default. Rychlý, levný. Fotorealismus a lifestyle bez textu. |
pro | gemini-3-pro-image | Exceluje v renderu textu (loga, bannery s nápisem, infografiky). Až 4K, lepší world-knowledge a konzistence. Pomalejší a dražší. |
BANANA_DIR="$HOME/.claude/skills/banana"
source "$BANANA_DIR/.venv/bin/activate" && python3 "$BANANA_DIR/banana.py" [parametry]První instalace:
cd ~/.claude/skills/banana
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # a vyplň GEMINI_API_KEY--input, img2img) včetně vzorů promptů a trigger frází. Doplněn --prompts-file a odlišení od --batch. Sjednocen seznam validních poměrů stran. Zpřesněno rozhodovací pravidlo flash vs. pro (text/4K/přesnost → pro). Model IDs přepnuty na stabilní (GA) verze místo -preview. Přidána prompt-library.md — compound effect z osvědčených promptů (viz Krok 3 a 5).$ARGUMENTS
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.