Banner Creator

Generates banner variations via Gemini, previews them, crops to GitHub/Twitter/LinkedIn sizes

Works with setup

Test report

Verdict
Works with setup
Score
6.4/10
Tested
Jul 21, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · d350c72

Cloned the repo, installed into a throwaway HOME (SKILL.md landed at ~/.claude/skills/banner-creator/SKILL.md), parsed the frontmatter with PyYAML (name + 256-char description, both present), and raw-fetched all five body-referenced paths — references/formats.md, scripts/crop_banner.py, templates/preview.html, examples/opc-banner-creation.md, .claude-plugin/plugin.json — all HTTP 200; no hardcoded /Users or /home paths, no curl|sh, base64 blobs or injection text. I could NOT execute the core Step 2: running the sibling nanobanana generate.py printed "Error: GEMINI_API_KEY environment variable not set." and no key is available here, so no banner image was ever generated and no baseline-vs-skill artifact pair exists. I did verify the deterministic tail of the workflow by generating a synthetic 2016x864 PNG and running crop_banner.py — it produced a correct 1280x640 (--ratio 2:1 --width 1280) and 1500x500 (--size 1500x500). Docs are docked because the shipped example claims "Generating at 2:1 ratio for GitHub" while all three github-banner-0*.png examples are actually 1696x2528 portrait (0.67 ratio), and SKILL.md says to generate at 21:9 while every example image is 16:9 or portrait.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 4/5
  • Triggers reliably 5/5
  • Output vs. baseline 4/10
  • Docs & honesty 3/5

What Banner Creator does

Runs a banner design workflow: asks for purpose, ratio, style and colors, batch-generates image variations through the Gemini-backed nanobanana skill, shows them in an HTML preview grid, iterates on user picks, then crops the chosen one to the target platform size. Triggers when someone asks for a banner, header, hero image, cover image, GitHub README banner, or Twitter/X header. Requires a GEMINI_API_KEY and the separate nanobanana skill from the same repo.

How to install Banner Creator

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

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Banner Creator

  • /banner-creator Generates banner variations via Gemini, previews them, crops to GitHub/Twitter/LinkedIn sizes

It also activates on plain-language prompts like these:

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

Frequently asked questions

Is the Banner Creator skill free?
Yes. The skill itself is free from ReScienceLab/opc-skills. SkillProof publishes the install command and an independent test verdict at no cost.
Does Banner Creator work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Works with setup. Cloned the repo, installed into a throwaway HOME (SKILL.md landed at ~/.claude/skills/banner-creator/SKILL.md), parsed the frontmatter with PyYAML (name + 256-char description, both present), and raw-fetched all five body-referenced paths — references/formats.md, scripts/crop_banner.py, templates/preview.html, examples/opc-banner-creation.md, .claude-plugin/plugin.json — all HTTP 200; no hardcoded /Users or /home paths, no curl|sh, base64 blobs or injection text. I could NOT execute the core Step 2: running the sibling nanobanana generate.py printed "Error: GEMINI_API_KEY environment variable not set." and no key is available here, so no banner image was ever generated and no baseline-vs-skill artifact pair exists. I did verify the deterministic tail of the workflow by generating a synthetic 2016x864 PNG and running crop_banner.py — it produced a correct 1280x640 (--ratio 2:1 --width 1280) and 1500x500 (--size 1500x500). Docs are docked because the shipped example claims "Generating at 2:1 ratio for GitHub" while all three github-banner-0*.png examples are actually 1696x2528 portrait (0.67 ratio), and SKILL.md says to generate at 21:9 while every example image is 16:9 or portrait.
What is the Banner Creator SkillProof Score?
6.4/10 — installs cleanly 4/5, triggers reliably 5/5, output vs. baseline 4/10, docs & honesty 3/5.
How do I install Banner Creator?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Banner Creator with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.