PluginBench
Skill
Review
Audit score 70

banner-creator

resciencelab/opc-skills

Create professional banners through AI image generation with iterative design and cropping.

What is banner-creator?

Banner Creator generates custom banners using AI image synthesis, guiding you through requirements gathering, variation generation, user feedback iteration, and final cropping to target dimensions. Use it when you need banners for GitHub, Twitter, websites, or other platforms.

  • Gather banner requirements (purpose, dimensions, style, content, colors)
  • Generate 20+ banner variations using AI image generation at ultra-wide 21:9 ratio
  • Create interactive HTML preview to compare generated variations
  • Iterate with user feedback and generate refined variations
  • Crop final approved banner to target aspect ratios (2:1, 3:1, 16:9, etc.)
  • Support logo/character incorporation into banner designs

How to install banner-creator

npx skills add https://github.com/resciencelab/opc-skills --skill banner-creator
Prerequisites
  • GEMINI_API_KEY environment variable (from Google AI Studio)
  • nanobanana skill installed (AI image generation dependency)
Claude Code
Cursor
Windsurf
Cline

How to use banner-creator

  1. 1.Discuss banner purpose, target platform, and desired dimensions with the user
  2. 2.Gather style preferences, content elements, and color requirements
  3. 3.Generate 20 banner variations at 21:9 ratio using batch generation
  4. 4.Create and open HTML preview to compare all variations
  5. 5.Collect user feedback on preferred banners and desired changes
  6. 6.Generate refined variations based on feedback (repeat as needed)
  7. 7.Crop final approved banner to target ratio using crop_banner.py script
  8. 8.Deliver final assets from .skill-archive/banner-creator directory

Use cases

Good for
  • Create a GitHub README banner for an open-source project
  • Design a Twitter/X header with brand colors and tagline
  • Generate a website hero image with specific scene and text overlay
  • Produce YouTube channel art with character and branding
  • Create LinkedIn banner matching existing brand guidelines
Who it's for
  • Project maintainers creating repository visuals
  • Content creators designing social media headers
  • Product teams building marketing materials
  • Developers needing quick branded graphics
  • Teams iterating on visual branding

banner-creator FAQ

What image generation model does this use?

Banner Creator uses the nanobanana skill, which leverages Gemini 3 Pro Image for AI-powered image generation.

What aspect ratios can I crop to?

Common targets include 2:1 (1280x640 for GitHub), 3:1 (1500x500 for Twitter), and 16:9 (1920x1080 for websites). Banners are generated at 21:9 and cropped to your target.

Can I incorporate my existing logo?

Yes. Use the image editing feature in nanobanana to add your logo character to the left side or other positions of the banner.

How many iterations can I do?

You can iterate as many times as needed. Generate 10-20 refined variations based on feedback, update the HTML preview, and repeat until satisfied.

Where are the generated files saved?

All files are saved to .skill-archive/banner-creator/<yyyy-mm-dd-summaryname>/ with sequential naming (banner-01.png, banner-02.png, etc.).

Full instructions (SKILL.md)

Source of truth, from resciencelab/opc-skills.


name: banner-creator description: Create banners using AI image generation. Discuss format/style, generate variations, iterate with user feedback, crop to target ratio. Use when user wants to create a banner, header, hero image, cover image, GitHub banner, Twitter header, or readme banner.

Banner Creator Skill

Create professional banners through AI image generation with an iterative design process.

Prerequisites

Required API Keys (set in environment):

Required Skills:

  • nanobanana - AI image generation (Gemini 3 Pro Image)

File Output Location

All generated files should be saved to the .skill-archive directory:

.skill-archive/banner-creator/<yyyy-mm-dd-summaryname>/

Example:

.skill-archive/banner-creator/2026-01-19-opc-banner/
  banner-01.png
  banner-02.png
  ...
  banner-03-cropped.png
  preview.html

Workflow

Step 1: Discovery & Requirements

Before generating, gather requirements from user:

Ask about:

  1. Purpose - Where will the banner be used?

    • GitHub README
    • Twitter/X header
    • LinkedIn banner
    • Website hero
    • YouTube channel art
  2. Target ratio/size - See references/formats.md:

    • 2:1 (1280x640) - GitHub README
    • 3:1 (1500x500) - Twitter header
    • 16:9 (1920x1080) - Website hero
  3. Style preference:

    • Match existing logo/brand?
    • Pixel art / 8-bit retro
    • Minimalist / flat design
    • Gradient / modern
    • Illustrated / artistic
  4. Content elements:

    • Brand name / project name?
    • Tagline / slogan?
    • Logo character to include?
  5. Color preferences:

    • Existing brand colors?
    • Let AI decide?

Wait for user confirmation before proceeding!

Step 2: Generate Banner Variations

Generate 20 banner variations using the nanobanana skill:

# Generate single banner
python3 <nanobanana_skill_dir>/scripts/generate.py "{style} banner for {brand}, {description}, {text elements}" \
  --ratio 21:9 -o .skill-archive/banner-creator/<date-name>/banner-01.png

# Batch generate 20 banners
python3 <nanobanana_skill_dir>/scripts/batch_generate.py "{style} banner for {brand}, {description}, {text elements}" \
  -n 20 --ratio 21:9 -d .skill-archive/banner-creator/<date-name> -p banner

Guidelines:

  • Generate at 21:9 ratio (widest available), crop later to target
  • Use batch_generate.py for multiple variations (includes auto-delay)
  • Use sequential naming: banner-01.png, banner-02.png, etc.

Image Editing (for incorporating existing logo):

python3 <nanobanana_skill_dir>/scripts/generate.py "add {logo character} to the left side of the banner" \
  -i /path/to/existing-logo.png --ratio 21:9 -o banner-with-logo.png

Step 3: Create HTML Preview

Copy the preview template and open in browser:

cp <skill_dir>/templates/preview.html .skill-archive/banner-creator/<yyyy-mm-dd-summaryname>/preview.html

Then open in default browser:

open .skill-archive/banner-creator/<yyyy-mm-dd-summaryname>/preview.html

IMPORTANT: Update the HTML to include the correct number of banners generated.

Step 4: Iterate with User

Ask user which banners they prefer:

  • "Which banners do you like? (e.g., #3, #7, #15)"
  • "What do you like about them?"
  • "Any changes you'd want?"

Based on feedback:

  1. Generate 10-20 more variations of favorite styles
  2. Use naming: banner-{original}-v{n}.png (e.g., banner-03-v1.png)
  3. Update HTML preview
  4. Repeat until user selects final banner

Step 5: Crop to Target Ratio

Once user approves a banner, crop to target size:

python3 <skill_dir>/scripts/crop_banner.py {input.png} {output.png} --ratio 2:1 --width 1280

Common targets:

  • GitHub README: --ratio 2:1 --width 1280 → 1280x640
  • Twitter header: --ratio 3:1 --width 1500 → 1500x500
  • Website hero: --ratio 16:9 --width 1920 → 1920x1080

Step 6: Deliver Final Assets

Present final deliverables:

## Final Banner Assets

| File | Description | Size |
|------|-------------|------|
| banner-03.png | Original (21:9) | 2016x864 |
| banner-03-cropped.png | GitHub README (2:1) | 1280x640 |

All files saved to: `.skill-archive/banner-creator/<yyyy-mm-dd-summaryname>/`
Copy final banner to user's desired location.

Quick Reference

Common Prompt Patterns

With Text:

Wide banner for {brand}, {style} style, featuring "{text}" prominently displayed, {colors}, {scene/elements}

With Character:

Wide banner featuring {character description}, {style} style, {scene}, text "{brand name}" on {position}, {colors}

Abstract/Gradient:

Abstract {style} banner, {colors} gradient, geometric patterns, modern tech feel, text "{brand}" centered

Scene-based:

{Style} illustration banner, {scene description}, {character} in {action}, "{brand}" text overlay, {colors}

Supported Aspect Ratios

Generate at widest ratio, then crop:

  • 21:9 - Ultra-wide (recommended for generation)
  • 16:9 - Wide
  • 3:2 - Standard wide

References