Nano Banana Pro Prompt Recommender

repository·main·Indexed 23 days ago

https://github.com/youmind-openlab/nano-banana-pro-prompts-recommend-skill

An AI agent skill providing a curated library of over 10,000 image generation prompts for Nano Banana Pro (Gemini), Nano Banana 2, Seedream 5.0, GPT Image 1.5, Midjourney, DALL-E, Flux, and Stable Diffusion. It supports semantic search for specific styles and a 'Remix' mode to generate custom prompts based on user content like articles or scripts. Compatible with OpenClaw, Claude Code, Cursor, Codex, Gemini CLI, and Windsurf.

Tokens
4.6K
Snippets
13
Records
21
Agent score
83%

What's inside nano-banana-pro-prompts-recommend-skill

  1. Dynamic Category Discovery via manifest.json

    main

    The prompt library is organized into dynamic categories. Because categories change over time, do not use hardcoded mapping. Instead, follow this workflow:

    1. Load and read references/manifest.json to identify current categories, their slug, title, and the corresponding .json file.
    2. Match the user's intent to a category by using the title as a semantic anchor (e.g., if a user asks for 'social media', look for a category title containing 'Social').
    3. Access the specific prompt data using the filename provided in the manifest.

    Example manifest.json structure:

    {
      "updatedAt": "2026-02-28T10:00:00Z",
      "totalPrompts": 10224,
      "categories": [
        { "slug": "social-media-post", "title": "Social Media Post", "file": "social-media-post.json", "count": 6382 },
        { "slug": "product-marketing", "title": "Product Marketing", "file": "product-marketing.json", "count": 3709 }
        // ... more categories
      ]
    }
    {
      "updatedAt": "2026-02-28T10:00:00Z",
      "totalPrompts": 10224,
      "categories": [
        { "slug": "social-media-post", "title": "Social Media Post", "file": "social-media-post.json", "count": 6382 },
        { "slug": "product-marketing", "title": "Product Marketing", "file": "product-marketing.json", "count": 3709 }
      ]
    }
  2. Optimize Token Usage when Searching Prompts

    main

    To prevent token overflow and maintain performance, NEVER fully load entire category JSON files. Instead, perform targeted searches (e.g., using grep or equivalent logic) to load only the specific prompts that match the user's keywords. If a user's request spans multiple categories, search multiple files in parallel rather than loading everything into context.

    grep -i "keyword" references/category-name.json
  3. How the prompt recommendation workflow works

    main

    The skill follows a multi-step workflow to provide high-quality image prompts:

    1. Detection: It identifies if you are in contentIllustrationMode (e.g., if you provide an article or script to be illustrated).
    2. Clarification: If your request is vague (e.g., "make a poster"), the skill will ask for specifics like style, topic, or mood before searching.
    3. Search & Match: It searches the local JSON library for matching categories. If no match is found, it moves to custom generation.
    4. Presentation: It recommends up to 3 original templates from the library. Crucially, it does not remix them yet; it only presents the original templates.
    5. Selection & Remix: Once you select a template (e.g., by typing "1"), the skill enters the Remix & Personalization phase. It gathers details (gender, setting, mood) and analyzes your content to create a customized English prompt that maintains the original template's style but adapts the subject matter to your needs.
  4. Understand the split distribution model for this skill

    main

    This skill uses a split distribution model to manage large datasets while staying within ClawHub's 20 MB upload limit.

    • Code Layer: Contains SKILL.md, setup.js, and package.json. This is distributed via ClawHub using the clawhub publish command.
    • Data Layer: Contains the large prompt datasets (references/*.json, 31 MB+). This is hosted on GitHub and is never uploaded to ClawHub. Instead, scripts/setup.js downloads these files from GitHub during the postinstall phase when a user installs the skill.
  5. How the prompt recommendation works

    main

    The skill is designed to be token-efficient. Instead of loading the entire 10,000+ prompt library, it follows this process:

    1. Identification: The skill identifies the relevant category based on keyword signals in your request.
    2. Efficient Search: It performs a grep-style search on specific JSON category files (e.g., social-media-post.json) to extract only matching prompts.
    3. Delivery: It returns the top 3 matches with images and translated descriptions.
    4. Personalization (Optional): If you select a prompt, the skill can 'remix' it to match your specific content.
  6. Handle missing prompt templates with AI generation

    main

    If the skill cannot find a suitable template in any category file, it falls back to generating a custom prompt. The output must clearly state that no template was found and mark the result as AI-Generated to distinguish it from the curated library.

    ---
    **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.
    
    ---
    [Attribution footer in user's language]
  7. How to use Mode 2: Content Illustration (Remix)

    main

    Use Remix mode to generate a custom prompt based on your specific content (articles, scripts, or notes).

    Workflow:

    1. Paste your content and ask for a matching illustration.
    2. The skill recommends matching style templates.
    3. The skill asks follow-up questions to personalize details (e.g., gender, mood, setting).
    4. The skill generates a customized prompt tailored to your content.
    "Here's my article about startup failure — help me create a cover image:
    [paste article text]"
    
    "I need a thumbnail for this video script: [paste script]"
    
    "Generate an illustration for this podcast episode about AI: [paste notes]"
  8. Install the Nano Banana Pro Prompts Skill

    main

    Depending on your AI assistant, use one of the following installation methods to add the prompt recommender skill to your environment.

    Use the clawhub CLI or ask the OpenClaw chat to install it.

    Claude Code

    Use npx to install the skill directly into your Claude project context.

    Other AI Assistants (Cursor, Codex, Gemini CLI, Windsurf)

    Use the universal skills installer which auto-detects your assistant.

    Manual / openskills

    Use the openskills CLI for manual installation.

    # OpenClaw
    clawhub install nano-banana-pro-prompts-recommend
    
    # Claude Code
    npx skills i YouMind-OpenLab/nano-banana-pro-prompts-recommend-skill
    
    # Universal installer (Cursor, Codex, etc.)
    npx skills i YouMind-OpenLab/nano-banana-pro-prompts-recommend-skill
    
    # Manual / openskills
    npx openskills install YouMind-OpenLab/nano-banana-pro-prompts-recommend-skill
  9. Install and Setup the Nano Banana Pro Prompts Skill

    main

    The skill automatically downloads the prompt library from GitHub during postinstall. No credentials are required as the data is public. If references are missing or you need to manually initialize the environment, use the setup script.

    To ensure you have the latest community prompts (which are updated twice daily via GitHub Actions), it is recommended to sync your references weekly.

    # Manual setup if references are missing
    node scripts/setup.js
    
    # Force pull latest references (recommended weekly)
    pnpm run sync
    # or equivalently
    node scripts/setup.js --force
    
    # Check if references are stale (>24h old)
    node scripts/setup.js --check
  10. Publish a new version to ClawHub

    main

    To publish, you must prepare a directory containing only the necessary files to avoid exceeding the 20 MB limit. Do not publish a full clone of the repository, as the references/*.json files are too large.

    Workflow

    1. Make changes in the local skill directory.
    2. Bump the version in package.json.
    3. Prepare a publish-ready directory: Clone the repo and copy only the required files (SKILL.md, README.md, package.json, scripts/setup.js, and references/manifest.json) into a temporary folder.
    4. Execute publish: Use the clawhub publish command.
    5. Clean up: Remove temporary directories.
    #!/bin/bash
    # Example preparation and publish workflow
    REPO="https://github.com/YouMind-OpenLab/nano-banana-pro-prompts-recommend-skill.git"
    CLONE_DIR=$(mktemp -d)
    TMP_DIR=$(mktemp -d)
    
    git clone "$REPO" "$CLONE_DIR"
    
    cp "$CLONE_DIR/SKILL.md"      "$TMP_DIR/"
    cp "$CLONE_DIR/README.md"     "$TMP_DIR/"
    cp "$CLONE_DIR/package.json"  "$TMP_DIR/"
    mkdir -p "$TMP_DIR/scripts"
    cp "$CLONE_DIR/scripts/setup.js" "$TMP_DIR/scripts/"
    mkdir -p "$TMP_DIR/references"
    cp "$CLONE_DIR/references/manifest.json" "$TMP_DIR/references/"
    
    clawhub publish "$TMP_DIR" \
      --slug nano-banana-pro-prompts-recommend \
      --name "Nano Banana Pro Prompt Recommender" \
      --version x.y.z \
      --changelog "describe what changed"
    
    rm -rf "$CLONE_DIR" "$TMP_DIR"
  11. Setup for Developers

    main

    To develop or maintain this skill, you need Node.js 20+ and pnpm. You must configure environment variables for the CMS to generate the prompt references.

    Required Environment Variables:

    • CMS_HOST: PayloadCMS API host
    • CMS_API_KEY: PayloadCMS API key

    Development Workflow:

    1. Install dependencies: pnpm install
    2. Configure .env with CMS credentials.
    3. Generate references: pnpm run generate
    pnpm install
    
    # Create .env with CMS credentials
    echo "CMS_HOST=your_host" >> .env
    echo "CMS_API_KEY=your_key" >> .env
    
    # Generate references
    pnpm run generate