Banner Creator

Génère des variations de bannières via Gemini, les prévisualise, les recadre aux tailles GitHub/Twitter/LinkedIn.

par ReScienceLab · ReScienceLab/opc-skills

Fonctionne avec configuration ★ 6.4/10

Banner Creator — Génère des variations de bannières via Gemini, les prévisualise, les recadre aux tailles GitHub/Twitter/LinkedIn.

Ce que fait

Exécute un workflow de conception de bannière : demande le but, le ratio, le style et les couleurs, génère par lots des variations d'images via la compétence nanobanana basée sur Gemini, les affiche dans une grille de prévisualisation HTML, itère sur les choix de l'utilisateur, puis recadre l'image choisie à la taille de la plateforme cible. Se déclenche lorsque quelqu'un demande une bannière, un en-tête, une image de héros, une image de couverture, une bannière GitHub README, ou un en-tête Twitter/X. Nécessite une GEMINI_API_KEY et la compétence nanobanana séparée du même dépôt.

Rapport de test

Cloné le dépôt, installé dans un HOME temporaire (SKILL.md s'est retrouvé dans ~/.claude/skills/banner-creator/SKILL.md), analysé le frontmatter avec PyYAML (name + description de 256 caractères, tous deux présents), et récupéré en brut les cinq chemins référencés dans le corps — references/formats.md, scripts/crop_banner.py, templates/preview.html, examples/opc-banner-creation.md, .claude-plugin/plugin.json — tous HTTP 200 ; aucun chemin /Users ou /home codé en dur, aucun blob curl|sh, base64 ou texte d'injection. Je n'ai PAS pu exécuter l'étape 2 principale : l'exécution du script nanobanana generate.py a affiché "Error: GEMINI_API_KEY environment variable not set." et aucune clé n'est disponible ici, donc aucune image de bannière n'a été générée et aucune paire d'artefacts baseline-vs-skill n'existe. J'ai vérifié la fin déterministe du workflow en générant un PNG synthétique de 2016x864 et en exécutant crop_banner.py — il a produit un 1280x640 correct (--ratio 2:1 --width 1280) et un 1500x500 (--size 1500x500). Les docs sont pénalisées car l'exemple fourni prétend "Generating at 2:1 ratio for GitHub" alors que les trois exemples github-banner-0*.png sont en fait des portraits 1696x2528 (ratio 0.67), et SKILL.md dit de générer au format 21:9 alors que chaque image d'exemple est 16:9 ou portrait.

Testé le: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/ReScienceLab/opc-skills.git /tmp/banner-creator-src
mkdir -p ~/.claude/skills
cp -R /tmp/banner-creator-src/skills/banner-creator ~/.claude/skills/banner-creator
cp -R /tmp/banner-creator-src/skills/nanobanana ~/.claude/skills/nanobanana
# banner-creator is non-functional on its own: its Step 2 calls the sibling
# `nanobanana` skill's scripts/generate.py and scripts/batch_generate.py,
# so both dirs are copied above.
# Required before use: export GEMINI_API_KEY=... (https://aistudio.google.com/apikey)
# Python deps: pillow (crop_banner.py), google-genai (nanobanana generate.py)
#   pip install pillow google-genai
# Marketplace alternative: npx skills add ReScienceLab/opc-skills --skill banner-creator -a claude
#   (installs banner-creator only; add --skill nanobanana as a second run)
# Crop step alone runs without any API key:
#   python3 ~/.claude/skills/banner-creator/scripts/crop_banner.py in.png out.png --ratio 2:1 --width 1280

Commandes et exemples de prompts

  • /banner-creatorGénère des variations de bannières via Gemini, les prévisualise, les recadre aux tailles GitHub/Twitter/LinkedIn.

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Create a GitHub banner for our repo
  • Design a Twitter header for our launch
  • Generate a hero image for our README