# kkoppenhaver/cc-nano-banana architecture

> Architecture diagram of the GitHub repository kkoppenhaver/cc-nano-banana, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kkoppenhaver/cc-nano-banana
- Repository: https://github.com/kkoppenhaver/cc-nano-banana

## Overview

Nano Banana is a Claude Code skill that exposes image-generation workflows through Gemini CLI’s nanobanana extension. The documented user path is to ask Claude Code for an image task; the skill uses the extension, which produces images saved in the current directory. README documents several distinct task types, but the SKILL.md contents were not available, so detailed command dispatch and option handling are not shown.

Main entry points: [`SKILL.md`](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md) (Nano Banana skill)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("User"))
node_claude["Claude Code"]
node_skill["Nano Banana skill<br/>[SKILL.md]"]
node_generation["Text-to-image<br/>[SKILL.md]"]
node_editing["Image editing<br/>[SKILL.md]"]
node_restoration["Photo restoration<br/>[SKILL.md]"]
node_icons["Icon generation<br/>[SKILL.md]"]
node_diagrams["Diagram creation<br/>[SKILL.md]"]
node_patterns["Pattern generation<br/>[SKILL.md]"]
node_stories["Story images<br/>[SKILL.md]"]
node_gemini["Gemini CLI"]
node_extension["nanobanana extension"]
node_api["Gemini API"]
node_output[("Output directory")]

node_user -->|"requests image"| node_claude
node_claude -->|"uses skill"| node_skill
node_skill -->|"uses"| node_gemini
node_gemini -->|"runs"| node_extension
node_extension -->|"generates images"| node_api
node_extension -->|"saves images"| node_output
node_skill -->|"offers"| node_generation
node_skill -->|"offers"| node_editing
node_skill -->|"offers"| node_restoration
node_skill -->|"offers"| node_icons
node_skill -->|"offers"| node_diagrams
node_skill -->|"offers"| node_patterns
node_skill -->|"offers"| node_stories

click node_skill "https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md"
click node_generation "https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md"
click node_editing "https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md"
click node_restoration "https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md"
click node_icons "https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md"
click node_diagrams "https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md"
click node_patterns "https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md"
click node_stories "https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_user toneBlue
class node_claude,node_gemini,node_extension toneIndigo
class node_skill,node_generation,node_editing,node_restoration,node_icons,node_diagrams,node_patterns,node_stories toneTeal
class node_api toneMint
class node_output toneAmber
```

## Components

### Other components

- **User**
- **Claude Code**
- [Nano Banana skill](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md): `SKILL.md`
- [Text-to-image](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md): `SKILL.md`
- [Image editing](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md): `SKILL.md`
- [Photo restoration](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md): `SKILL.md`
- [Icon generation](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md): `SKILL.md`
- [Diagram creation](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md): `SKILL.md`
- [Pattern generation](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md): `SKILL.md`
- [Story images](https://github.com/kkoppenhaver/cc-nano-banana/blob/main/SKILL.md): `SKILL.md`
- **Gemini CLI**
- **nanobanana extension**
- **Gemini API**
- **Output directory**

## Connections

- User → Claude Code: requests image
- Claude Code → Nano Banana skill: uses skill
- Nano Banana skill → Gemini CLI: uses
- Gemini CLI → nanobanana extension: runs
- nanobanana extension → Gemini API: generates images
- nanobanana extension → Output directory: saves images
- Nano Banana skill → Text-to-image: offers
- Nano Banana skill → Image editing: offers
- Nano Banana skill → Photo restoration: offers
- Nano Banana skill → Icon generation: offers
- Nano Banana skill → Diagram creation: offers
- Nano Banana skill → Pattern generation: offers
- Nano Banana skill → Story images: offers
