Logo creator
Create logos using AI image generation. Discuss style/ratio, generate variations, iterate with user feedback, crop, remove background, and export as SVG. Use when user wants to create a logo, icon, favicon, brand mark, mascot, emblem, or design a logo.From its SKILL.md
npx -y skills add ReScienceLab/opc-skills --skill logo-creatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- reads credentialsReads from 3 credential sources: `GEMINI_API_KEY` and 2 more.
- runs commandsInstructs the agent to run 7 commands, including `python3 <nanobanana_skill_dir>/scripts/generate.py "{style} logo for {brand}, {description}, {colors}" --ratio 1:1 -o .skill-archive/logo-creator/<date-name>/logo-01.png` and 6 more.
SKILL.md
5.7 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Logo Creator Skill
Create professional logos through AI image generation with an iterative design process.
Prerequisites
Required API Keys (set in environment):
GEMINI_API_KEY- Get from Google AI StudioREMOVE_BG_API_KEY- Get from remove.bgRECRAFT_API_KEY- Get from recraft.ai
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/logo-creator/<yyyy-mm-dd-summaryname>/
Example:
.skill-archive/logo-creator/2026-01-18-opc-logo/
logo-01.png
logo-02.png
...
logo-09-cropped.png
logo-09-nobg.png
logo-09.svg
preview.html
Guidelines:
- Use current date in format
yyyy-mm-dd - Add short summary name (project/brand name, kebab-case)
- Create directory before generating first logo
- Keep all variations and iterations in same folder
- Final approved logo should be copied to user's desired location
Workflow
Step 1: Discovery & Requirements
Before generating, gather requirements from user:
Ask about:
-
Project/Brand name - What is the logo for?
-
Style preference - See references/styles.md for options:
- Pixel art / 8-bit retro
- Minimalist / flat design
- 3D / isometric
- Hand-drawn / sketch
- Mascot / character
- Monogram / lettermark
- Abstract / geometric
-
Aspect ratio - Default is 1:1 (square), options:
1:1- Square (favicons, app icons)16:9- Wide (headers, banners)4:3- Standard2:3- Portrait
-
Color preferences:
- Monochrome (black & white)
- Specific brand colors
- Let AI decide
-
Reference images - Any existing logos or styles to reference?
Wait for user confirmation before proceeding!
Step 2: Generate Logo Variations
Generate 20 logo variations (default) using the nanobanana skill:
# Generate single logo
python3 <nanobanana_skill_dir>/scripts/generate.py "{style} logo for {brand}, {description}, {colors}" \
--ratio 1:1 -o .skill-archive/logo-creator/<date-name>/logo-01.png
# Batch generate 20 logos
python3 <nanobanana_skill_dir>/scripts/batch_generate.py "{style} logo for {brand}, {description}, {colors}" \
-n 20 --ratio 1:1 -d .skill-archive/logo-creator/<date-name> -p logo
Guidelines:
- Use batch_generate.py for multiple variations (includes auto-delay)
- Save to
.skill-archive/logo-creator/<yyyy-mm-dd-summaryname>/directory - Use sequential naming:
logo-01.png,logo-02.png, etc.
Prompt Tips:
- Include style keywords: "pixel art", "minimalist", "8-bit", "flat design"
- Specify colors: "black on white", "monochrome", "blue gradient"
- Add context: "tech startup", "food brand", "gaming company"
- Request format: "icon", "emblem", "mascot", "lettermark"
Step 3: Create HTML Preview
Copy the preview template and open in browser:
cp <skill_dir>/templates/preview.html .skill-archive/logo-creator/<yyyy-mm-dd-summaryname>/preview.html
Then open in default browser:
open .skill-archive/logo-creator/<yyyy-mm-dd-summaryname>/preview.html
IMPORTANT: Update the HTML to include the correct number of logos generated.
Step 4: Iterate with User
Ask user which logos they prefer:
- "Which logos do you like? (e.g., #5, #12, #18)"
- "What do you like about them?"
- "Any changes you'd want?"
Based on feedback:
- Generate 10-20 more variations of favorite styles
- Use naming:
logo-{original}-v{n}.png(e.g.,logo-05-v1.png) - Update HTML preview
- Repeat until user selects final logo
Step 5: Finalize Logo
Once user approves a logo, process it:
5a. Crop whitespace (make 1:1 with no margins):
python3 <skill_dir>/scripts/crop_logo.py {input.png} {output-cropped.png}
5b. Remove background:
python3 <skill_dir>/scripts/remove_bg.py {input.png} {output-nobg.png}
5c. Convert to SVG:
python3 <skill_dir>/scripts/vectorize.py {input.png} {output.svg}
Step 6: Deliver Final Assets
Present final deliverables:
## Final Logo Assets
| File | Description | Size |
|------|-------------|------|
| logo.png | Original | 1024x1024 |
| logo-cropped.png | No margins, 1:1 | ~800x800 |
| logo-nobg.png | Transparent background | ~800x800 |
| logo.svg | Vector (scalable) | ~20KB |
All files saved to: `.skill-archive/logo-creator/<yyyy-mm-dd-summaryname>/`
Copy final logo to user's desired location.
Quick Reference
Common Prompt Patterns
Pixel Art:
Pixel art {subject} logo, 8-bit retro style, black pixels on white background, {size}x{size} grid, minimalist icon
Minimalist:
Minimalist {subject} logo, flat design, clean lines, {color} on white, simple geometric shapes
Mascot:
Cute {animal/character} mascot logo, friendly expression, {style} style, {colors}, suitable for brand icon
Lettermark:
Letter "{letter}" logo, modern typography, {style} design, {colors}, clean professional look
Supported Aspect Ratios
1:1- Square (default for logos)2:3,3:2- Portrait/Landscape3:4,4:3- Standard4:5,5:4- Photo9:16,16:9- Wide21:9- Ultra-wide
References
- references/styles.md - Logo style guide with prompt examples
- examples/opc-logo-creation.md - Full example conversation
What ships with it: 24 files
3620.5 KB alongside SKILL.md, 3 of them executable
.claude-plugin/
- plugin.json654 B
examples/
- images/logo-01.png257.5 KB
- images/logo-02.png436.5 KB
- images/logo-03.png270.9 KB
- images/logo-04.png144.7 KB
- images/logo-05.png281.3 KB
- images/logo-06.png158.5 KB
- images/logo-07.png219.8 KB
- images/logo-08.png228.1 KB
- images/logo-09.png151.4 KB
- images/logo-09-v1.png137.2 KB
- images/logo-09-v2.png365.6 KB
- images/logo-09-v3.png287.2 KB
- images/logo-09-v4.png236.9 KB
- images/logo-09-v5.png102.9 KB
- images/logo-09-v6.png145.3 KB
- images/opc-logo-final.svg17.5 KB
- images/opc-logo-selected.png151.4 KB
- opc-logo-creation.md2.7 KB
references/
- styles.md5.8 KB
scripts/
- crop_logo.pyruns2.5 KB
- remove_bg.pyruns2.4 KB
- vectorize.pyruns3.3 KB
templates/
- preview.html10.4 KB
Gives 0 of the 12 instructions most images graphics skills give in ~1.6k tokens
Counted across 341 of the 354 authors here whose files we hold, read 2026-09-06
- Generate images via gemini_generate_imagein 14 of 341, across 10 files
- Set the aspect ratio via set_aspect_ratioin 14 of 341, across 10 files
- Verify MCP image tools are available before generatingin 13 of 341, across 9 files
- Show estimated cost before generatingin 13 of 341, across 9 files
- Run the post-generation SEO checklistin 13 of 341, across 9 files
- Structure prompts as subject, setting, style, lighting, compositionin 10 of 341, across 5 files
- Infer the brand strategy before generatingin 9 of 341, across 5 files
- Use at most two logo concept methodsin 9 of 341, across 5 files
- Use one dominant palette with repeating accentsin 9 of 341, across 5 files
- Extract fileKey and nodeId from the Figma URLin 9 of 341
- Read product marketing context before asking questionsin 8 of 341, across 3 files
- Keep the logo simple, symbolic, and ownablein 8 of 341, across 4 files
Said here and by no other author read
- Generate 20 logo variations by default
- Use batch generation for multiple variations
- Update preview HTML with logo count
- Ask user which logos they prefer
- Generate more variations of favorite styles
- Repeat iteration until user selects final logo
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.