/nano-banana
Generate professional presentation slides and high-quality illustrations using Gemini image generation API (Nano Banana 2), with interactive browser-based review and iterative editing. Full workflow: content planning conversation → slides_plan.json → batch image generation →
$ npx -y skills add evoscientist/evoskills --skill nano-banana --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/nano-banana
Context preview
The summary Claude sees to decide when to auto-load this skill.
Generate professional presentation slides and high-quality illustrations using Gemini image generation API (Nano Banana 2), with interactive browser-based review and iterative editing. Full workflow: content planning conversation → slides_plan.json → batch image generation →
SKILL.md
nano-banana.SKILL.mdname: nano-banana
description: "Generate professional presentation slides and high-quality illustrations using Gemini image generation API (Nano Banana 2), with interactive browser-based review and iterative editing. Full workflow: content planning conversation → slides_plan.json → batch image generation → review with feedback → targeted slide editing → PPTX packaging. Use when: user wants to create a presentation, make slides, generate a PPT/PPTX, prepare a talk deck, design visual slide content, or generate high-quality figures/illustrations for papers and documents. Do NOT use for: writing academic papers (use paper-writing) or planning academic conference talk narrative structure (use academic-slides)."
allowed-tools: "write_file edit_file read_file think_tool execute"
metadata:
author: EvoScientist
version: '1.0.0'
tags: [core, presentation, image-generation]
Nano Banana
Generate high-quality presentation slides as images using Gemini's image generation API, review them interactively in a browser, and iteratively edit based on feedback.
When to Use This Skill
- User asks to create a presentation, slide deck, or PPT
- User wants to generate visual slides for a talk or lecture
- User has a document or outline and wants slides based on it
- User says "make me a PPT", "generate slides", "create a presentation"
- User wants to edit or refine existing generated slides
- User needs high-quality figures, diagrams, or illustrations for papers or documents
- User asks to generate research figures, architecture diagrams, or concept illustrations
**Do NOT use for:**
- Writing academic papers → use `paper-writing`
- Planning academic conference talk narrative structure → use `academic-slides`
---
Before You Start: Prerequisites
Before proceeding with any slide generation, verify these prerequisites. Script and style paths in this document are relative to this skill's directory.
1. **Dependencies**: `pip install pillow google-genai python-pptx python-dotenv` (also listed in `requirements.txt` at the skill root). Install into the environment the user is working in.
2. **API Key**: Check that a Google API key is available. Run:
echo $GOOGLE_API_KEY
If empty, ask the user to provide one. They can either:
- Set it via config: `EvoSci config set google_api_key <key>`
- Provide it directly (pass via `--api-key` argument)
- If the user provides the key in conversation, pass it to scripts with `--api-key`
3. **Language**: Ask the user what language the slide content should be in. This affects the content you write in `slides_plan.json`, not the style template.
---
Core Workflow
Phase 1: Content Planning Conversation ← most important phase
Phase 2: Generate slides_plan.json
Phase 3: Select Style & Generate Slides
Phase 4: Launch Review Server
Phase 5: Apply Feedback Edits ← repeat Phase 4-5 until satisfied
Phase 6: Package as PPTX
Phase 7: Cleanup
Follow these phases in order. Do NOT skip Phase 1 — the quality of generated slides depends directly on planning depth.
---
Phase 1: Content Planning Conversation
This is the most critical phase. Rushing to generation without proper planning produces mediocre slides. Engage the user in a structured conversation:
**Step 1 — Understand the context:**
- What is the topic of the presentation?
- Who is the audience? (technical peers, executives, students, general public)
- How long is the talk? (this determines page count)
- What is the occasion? (conference, internal talk, lecture, pitch)
**Step 2 — Define the storyline:**
- What is the opening hook? (a surprising fact, a question, a trend)
- What are the 3-5 main sections or arguments?
- What is the key takeaway the audience should remember?
- What is the closing message?
**Step 3 — Outline per-page content:**
- For each slide, agree on: title + 2-4 key points + visual description
- Identify which slides are cover, content, or data type
- Ensure logical flow between pages
**Duration-to-page-count guidance:**
| Duration | Pages | Structure | |----------|-------|-----------| | 5 min | 5 | Cover + 3 content + closing | | 10-15 min | 8-12 | Cover + intro + 3-4 sections + summary + closing | | 20-30 min | 15-20 | Cover + intro + 5-6 sections + summary + closing | | 45-60 min | 25-30 | Cover + intro + 7-9 sections (2-3 pages each) + summary + closing |
**If the user provides a document or outline**, read it thoroughly, then propose a slide breakdown for approval before proceeding.
---
Phase 2: Generate slides_plan.json
Create a `slides_plan.json` file in the workspace root with this schema:
{
"title": "Presentation Title",
"total_slides": 10,
"slides": [
{
"slide_number": 1,
"page_type": "cover",
"content": "Title: My Presentation\nSubtitle: A subtitle here\nLabel: 2026 Edition"
},
{
"slide_number": 2,
"page_type": "content",
"content": "Title: First Topic\nKey points:\n- Point one\n- Point two\n- Point three"
},
{
"slide_number": 3,
"page_type": "data",
"content": "Title: Key Metrics\nMetric 1: 95% accuracy\nMetric 2: 3x faster\nMetric 3: 10k users"
}
]
}**page_type values:** `cover`, `content`, `data`
Critical Content Field Rules
The `content` field is what gets passed to the image generation model. Follow these rules strictly:
1. **DO** write descriptive titles and bullet points 2. **DO** describe the visual layout you want (e.g., "left-right comparison", "4 icon cards") 3. **DO NOT** prefix lines with "Slogan:", "Visual:", "Points:", or any meta-labels — the model will render these as visible text on the slide 4. **DO NOT** put the same sentence in both the title area and the bottom of the content — it causes duplication 5. **DO NOT** include footer text, page numbers, or watermark instructions
**Bad example** (meta-labels leak as visible text):
Title: Why AI Matters
Visual: left-right compar
Read more
name: nano-banana description: "Generate professional presentation slides and high-quality illustrations using Gemini image generation API (Nano Banana 2), with interactive browser-based review and iterative editing. Full workflow: content planning conversation → slides_plan.json → batch image generation → review with feedback → targeted slide editing → PPTX packaging. Use when: user wants to create a presentation, make slides, generate a PPT/PPTX, prepare a talk deck, design visual slide content, or generate high-quality figures/illustrations for papers and documents. Do NOT use for: writing academic papers (use paper-writing) or planning academic conference talk narrative structure (use academic-slides)." allowed-tools: "write_file edit_file read_file think_tool execute" metadata: author: EvoScientist version: '1.0.0' tags: [core, presentation, image-generation]
Nano Banana
Generate high-quality presentation slides as images using Gemini's image generation API, review them interactively in a browser, and iteratively edit based on feedback.
When to Use This Skill
- User asks to create a presentation, slide deck, or PPT
- User wants to generate visual slides for a talk or lecture
- User has a document or outline and wants slides based on it
- User says "make me a PPT", "generate slides", "create a presentation"
- User wants to edit or refine existing generated slides
- User needs high-quality figures, diagrams, or illustrations for papers or documents
- User asks to generate research figures, architecture diagrams, or concept illustrations
**Do NOT use for:**
- Writing academic papers → use `paper-writing`
- Planning academic conference talk narrative structure → use `academic-slides`
---
Before You Start: Prerequisites
Before proceeding with any slide generation, verify these prerequisites. Script and style paths in this document are relative to this skill's directory.
1. **Dependencies**: `pip install pillow google-genai python-pptx python-dotenv` (also listed in `requirements.txt` at the skill root). Install into the environment the user is working in.
2. **API Key**: Check that a Google API key is available. Run:
echo $GOOGLE_API_KEY
If empty, ask the user to provide one. They can either:
- Set it via config: `EvoSci config set google_api_key <key>`
- Provide it directly (pass via `--api-key` argument)
- If the user provides the key in conversation, pass it to scripts with `--api-key`
3. **Language**: Ask the user what language the slide content should be in. This affects the content you write in `slides_plan.json`, not the style template.
---
Core Workflow
Phase 1: Content Planning Conversation ← most important phase Phase 2: Generate slides_plan.json Phase 3: Select Style & Generate Slides Phase 4: Launch Review Server Phase 5: Apply Feedback Edits ← repeat Phase 4-5 until satisfied Phase 6: Package as PPTX Phase 7: Cleanup
Follow these phases in order. Do NOT skip Phase 1 — the quality of generated slides depends directly on planning depth.
---
Phase 1: Content Planning Conversation
This is the most critical phase. Rushing to generation without proper planning produces mediocre slides. Engage the user in a structured conversation:
**Step 1 — Understand the context:**
- What is the topic of the presentation?
- Who is the audience? (technical peers, executives, students, general public)
- How long is the talk? (this determines page count)
- What is the occasion? (conference, internal talk, lecture, pitch)
**Step 2 — Define the storyline:**
- What is the opening hook? (a surprising fact, a question, a trend)
- What are the 3-5 main sections or arguments?
- What is the key takeaway the audience should remember?
- What is the closing message?
**Step 3 — Outline per-page content:**
- For each slide, agree on: title + 2-4 key points + visual description
- Identify which slides are cover, content, or data type
- Ensure logical flow between pages
**Duration-to-page-count guidance:**
| Duration | Pages | Structure | |----------|-------|-----------| | 5 min | 5 | Cover + 3 content + closing | | 10-15 min | 8-12 | Cover + intro + 3-4 sections + summary + closing | | 20-30 min | 15-20 | Cover + intro + 5-6 sections + summary + closing | | 45-60 min | 25-30 | Cover + intro + 7-9 sections (2-3 pages each) + summary + closing |
**If the user provides a document or outline**, read it thoroughly, then propose a slide breakdown for approval before proceeding.
---
Phase 2: Generate slides_plan.json
Create a `slides_plan.json` file in the workspace root with this schema:
{
"title": "Presentation Title",
"total_slides": 10,
"slides": [
{
"slide_number": 1,
"page_type": "cover",
"content": "Title: My Presentation\nSubtitle: A subtitle here\nLabel: 2026 Edition"
},
{
"slide_number": 2,
"page_type": "content",
"content": "Title: First Topic\nKey points:\n- Point one\n- Point two\n- Point three"
},
{
"slide_number": 3,
"page_type": "data",
"content": "Title: Key Metrics\nMetric 1: 95% accuracy\nMetric 2: 3x faster\nMetric 3: 10k users"
}
]
}**page_type values:** `cover`, `content`, `data`
Critical Content Field Rules
The `content` field is what gets passed to the image generation model. Follow these rules strictly:
1. **DO** write descriptive titles and bullet points 2. **DO** describe the visual layout you want (e.g., "left-right comparison", "4 icon cards") 3. **DO NOT** prefix lines with "Slogan:", "Visual:", "Points:", or any meta-labels — the model will render these as visible text on the slide 4. **DO NOT** put the same sentence in both the title area and the bottom of the content — it causes duplication 5. **DO NOT** include footer text, page numbers, or watermark instructions
**Bad example** (meta-labels leak as visible text):
Title: Why AI Matters Visual: left-right compar
The official skill repository for EvoScientist. Each skill is an installable knowledge pack that extends EvoScientist with domain-specific expertise.
Other skills on evoskills.
- /academic-slides
Use this skill for creating or refining an academic slide deck and the talk built around it: structuring a conference talk, thesis defense, lab meeting, or paper-to-slides deck; deciding the narrative arc and slide breakdown; improving slide design and visual hierarchy; planning
Open skill - /evo-memory
Manages persistent research memory across ideation and experimentation cycles. Maintains two stores: Ideation Memory M_I (feasible/unsuccessful directions) and Experimentation Memory M_E (reusable strategies for data processing, model training, architecture, debugging). Three
Open skill - /evomath-tao
Use this skill whenever the user submits a non-trivial mathematical claim that needs a rigorous proof or audit. Trigger on IMO/Putnam/USAMO/Olympiad-style problems, ML/AI theoretical statements, research conjectures, suspected-false claims, multi-step proofs the user already
Open skill - /experiment-craft
Use this skill when the user wants to debug, diagnose, or systematically iterate on an experiment that already exists, or when they need a structured experiment log for tracking runs, hypotheses, failures, results, and next steps during active research. Apply it to
Open skill - /experiment-iterative-coder
Iterative code refinement through plan → code → evaluate → refine cycles. Runs lint checks (ruff), tests (pytest), and structured self-evaluation each cycle, then diagnoses failures and refines. Decomposes complex tasks into sequential phases, iterates up to 3 times per phase
Open skill - /experiment-pipeline
Guides structured 4-stage experiment execution with attempt budgets and gate conditions: Stage 1 initial implementation (reproduce baseline), Stage 2 hyperparameter tuning, Stage 3 proposed method validation, Stage 4 ablation study. Integrates with evo-memory (load prior
Open skill

