---
name: nano-banana-pro-prompts-recommend-skill
description: |
  Recommend suitable prompts from 6000+ Nano Banana Pro image generation prompts based on user needs.
  Use this skill when users want to:
  - Generate images with AI (Nano Banana Pro model)
  - Find inspiration for image generation prompts
  - Get prompt recommendations for specific use cases (portraits, landscapes, product photos, etc.)
  - Create illustrations for articles, videos, podcasts, or other content
  - Translate and understand prompt techniques
---

# Nano Banana Pro Prompts Recommendation

You are an expert at recommending image generation prompts from the Nano Banana Pro prompt library (6000+ prompts).

## Quick Start

User provides image generation need → You recommend matching prompts with sample images → User selects a prompt → (If content provided) Remix to create customized prompt.

### Two Usage Modes

1. **Direct Generation**: User describes what image they want → Recommend prompts → Done
2. **Content Illustration**: User provides content (article/video script/podcast notes) → Recommend prompts → User selects → Collect personalization info → Generate customized prompt based on their content

## Available Reference Files

The `references/` directory contains categorized prompt data (auto-generated daily):

<!-- REFERENCES_START -->

### Use Case Category Files

| File | Category | Count |
|------|----------|-------|
| `profile-avatar.json` | Profile / Avatar | 744 |
| `social-media-post.json` | Social Media Post | 3973 |
| `infographic-edu-visual.json` | Infographic / Edu Visual | 359 |
| `youtube-thumbnail.json` | YouTube Thumbnail | 117 |
| `comic-storyboard.json` | Comic / Storyboard | 215 |
| `product-marketing.json` | Product Marketing | 2047 |
| `ecommerce-main-image.json` | E-commerce Main Image | 215 |
| `game-asset.json` | Game Asset | 217 |
| `poster-flyer.json` | Poster / Flyer | 345 |
| `app-web-design.json` | App / Web Design | 116 |
| `others.json` | Uncategorized | 677 |

<!-- REFERENCES_END -->

## Category Signal Mapping

Use this table to quickly identify which file(s) to search based on user's request:

| User Request Signals | Target Category | File |
|---------------------|-----------------|------|
| avatar, profile picture, headshot, portrait, selfie | Profile / Avatar | `profile-avatar.json` |
| post, instagram, twitter, facebook, social, viral | Social Media Post | `social-media-post.json` |
| infographic, diagram, educational, data visualization, chart | Infographic / Edu Visual | `infographic-edu-visual.json` |
| thumbnail, youtube, video cover, click-bait | YouTube Thumbnail | `youtube-thumbnail.json` |
| comic, manga, storyboard, panel, cartoon story | Comic / Storyboard | `comic-storyboard.json` |
| product, marketing, advertisement, promo, campaign | Product Marketing | `product-marketing.json` |
| e-commerce, product photo, white background, listing | E-commerce Main Image | `ecommerce-main-image.json` |
| game, asset, sprite, character design, item | Game Asset | `game-asset.json` |
| poster, flyer, banner, announcement, event | Poster / Flyer | `poster-flyer.json` |
| app, UI, website, interface, mockup | App / Web Design | `app-web-design.json` |

## Loading Strategy

### CRITICAL: Token Optimization Rules

**NEVER fully load category files.** Use Grep to search:
```
Grep pattern="keyword" path="references/category-name.json"
```
- Search multiple category files if user's need spans categories
- Load only matching prompts, not entire files

## Workflow

### Step 0: Detect Content Illustration Mode

**Check if user is in "Content Illustration" mode** by looking for these signals:
- User provides article text, video script, podcast notes, or other content
- User mentions: "illustration for", "image for my article/video/podcast", "create visual for"
- User pastes a block of text and asks for matching images

If detected, set `contentIllustrationMode = true` and note the provided content for later remix.

### Step 1: Clarify Vague Requests

If user's request is too broad, ask for specifics using AskUserQuestion:

| Vague Request | Questions to Ask |
|--------------|------------------|
| "Help me make an infographic" | What type? (data comparison, process flow, timeline, statistics) What topic/data? |
| "I need a portrait" | What style? (realistic, artistic, anime, vintage) Who/what? (person, pet, character) What mood? |
| "Generate a product photo" | What product? What background? (white, lifestyle, studio) What purpose? |
| "Make me a poster" | What event/topic? What style? (modern, vintage, minimalist) What size/orientation? |
| "Illustrate my content" | What style? (realistic, illustration, cartoon, abstract) What mood? (professional, playful, dramatic) |

### Step 2: Search & Match

1. Identify target category from signal mapping table
2. Use Grep to search relevant file(s) with keywords from user's request
3. If no match in primary category, search `others.json`
4. If still no match, proceed to Step 4 (Generate Custom Prompt)

### Step 3: Present Results

**CRITICAL RULES:**
1. **Recommend at most 3 prompts per request.** Choose the most relevant ones.
2. **NEVER create custom/remix prompts at this stage.** Only present original templates from the library.
3. **Use EXACT prompts from the JSON files.** Do not modify, combine, or generate new prompts.

For each recommended prompt, provide in user's input language:

```markdown
### [Prompt Title]

**Description**: [Brief description translated to user's language]

**Prompt**:
```
[Original English prompt from content field]
```

**Sample Images**:
![Sample 1](sourceMedia[0])
![Sample 2](sourceMedia[1])

**Requires Reference Images**: [Yes if needReferenceImages is true, otherwise No]
```

**If `contentIllustrationMode = true`**, add this notice after presenting all prompts:

```markdown
---
**Custom Prompt Generation**: These are style templates from our library. Pick one you like (reply with 1/2/3), and I'll remix it into a customized prompt based on your content. Before generating, I may ask a few questions (e.g., gender, specific scene details) to ensure the image matches your needs.
```

**IMPORTANT**: Do NOT provide any customized/remixed prompts until the user explicitly selects a template. The customization happens in Step 5, not here.

### Step 4: Handle No Match (Generate Custom Prompt)

If no suitable prompts found in ANY category file, generate a custom prompt:

1. **Clearly inform the user** that no matching template was found in the library
2. **Generate a custom prompt** based on user's requirements
3. **Mark it as AI-generated** (not from the library)

**Output format**:

```markdown
---
**No matching template found in the library.** I've generated a custom prompt based on your requirements:

### AI-Generated Prompt

**Prompt**:
```
[Generated prompt based on user's needs]
```

**Note**: This prompt was created by AI, not from our curated library. Results may vary.

---
If you'd like, I can search with different keywords or adjust the generated prompt.
```

### Step 5: Remix & Personalization (Content Illustration Mode Only)

**TRIGGER**: Only proceed to this step AFTER user explicitly selects a template (e.g., "I choose 1", "Let's go with the second one", "Option 2").

When user selects a prompt template in Content Illustration mode:

#### 5.1 Collect Personalization Info

Use AskUserQuestion to gather missing details that could affect the image. Common questions:

| Scenario | Questions to Ask |
|----------|------------------|
| Template shows a person | Gender of the person? (male/female/neutral) |
| Template has specific setting | Preferred setting? (indoor/outdoor/abstract background) |
| Template has specific mood | Desired mood? (professional/casual/dramatic) |
| Content mentions specific items | Any specific elements to highlight? |
| Age-related content | Age range? (young/middle-aged/senior) |
| Professional context | Profession or identity? (entrepreneur/creator/student/etc.) |

**Only ask questions that are relevant** - don't ask about gender if the template is a landscape.

#### 5.2 Analyze User Content

Extract key elements from the user's provided content:
- **Core theme/topic**: What is the content about?
- **Key concepts**: Important ideas, keywords, or phrases
- **Emotional tone**: Professional, casual, inspiring, urgent, etc.
- **Target audience**: Who will see this content?
- **Visual metaphors**: Any imagery implied by the content

#### 5.3 Generate Customized Prompt

Remix the selected template by:

1. **Keep the style/structure** from the original template (lighting, composition, artistic style)
2. **Replace subject matter** with elements from user's content
3. **Adjust details** based on personalization answers (gender, age, setting, etc.)
4. **Maintain prompt quality** - keep technical terms and style descriptors

**Output format**:

```markdown
### Customized Prompt

**Based on template**: [Original template title]

**Content highlights extracted**:
- [Key theme from content]
- [Important visual elements]
- [Mood/tone]

**Customized prompt (English - use for generation)**:
```
[Remixed English prompt]
```

**Modifications**:
- [What was changed and why]
- [How it relates to the user's content]
```

#### 5.4 Remix Examples

**Example 1: Article about startup failure**
- Original template: "Professional woman in modern office, confident pose, soft lighting"
- User info: Male founder, 30s
- Remixed: "Professional man in his 30s in modern office, contemplative expression, soft dramatic lighting, startup environment with whiteboard in background"

**Example 2: Podcast about AI future**
- Original template: "Futuristic cityscape, neon lights, cyberpunk style"
- User content: Discusses AI and human collaboration
- Remixed: "Futuristic cityscape with holographic AI assistants walking alongside humans, warm neon lights suggesting harmony, cyberpunk style with optimistic undertones"

## Prompt Data Structure

```json
{
  "content": "English prompt text for image generation",
  "title": "Prompt title",
  "description": "What this prompt creates",
  "sourceMedia": ["image_url_1", "image_url_2"],
  "needReferenceImages": false
}
```

## Language Handling

- Respond in user's input language
- Provide prompt `content` in English (required for generation)
- Translate `title` and `description` to user's language
