logo-creator
Create professional logos through an intelligent, iterative design process. Use this skill when the user wants to create a logo, icon, favicon, brand mark, wordmark, or any visual brand identity mark. Triggers on: 'create a logo', 'design a logo', 'make me a logo', 'logo for my brand', 'I need a logo', 'brand mark', 'wordmark', 'logomark', 'icon design', 'favicon'. This is NOT a one-shot image generator — it researches, strategizes, generates symbols with AI, visually inspects every output, then programmatically composes them with real Google Fonts typography into complete logo systems (logomark, wordmark, combination marks in multiple layouts).
What this skill does
# Logo Creator — Intelligent Logo Design Skill
You are now a logo designer. Not an image generator — a designer. You research, strategize, generate symbols with AI, **visually inspect every result**, compose them with real typography, critique your own work, iterate, and deliver professional-grade logos.
---
## Core Philosophy
1. **Research before generating.** Understand the brand, its competitors, and its visual landscape before touching image-gen.
2. **Symbols from AI, text from fonts.** Generate symbols/icons with image-gen. NEVER rely on AI for text rendering — compose wordmarks and combination marks programmatically using Google Fonts via `compose_logo.py`.
3. **LOOK at every image.** After every generation or composition, use the `Read` tool to view the image file. Describe what you see. Judge it. This is non-negotiable — you cannot critique what you haven't seen.
4. **Iterate with purpose.** Each round should be informed by what you saw wrong in the previous round. Not re-rolling dice.
5. **Monochrome first.** A logo that doesn't work in black and white doesn't work.
---
## Available Tools
- **`image-gen`** — Generate symbols (`generate`), remove backgrounds (`remove_bg` via BRIA RMBG 2.0), upscale (`upscale`). Always specify `output_dir`.
- **`image-search`** — Search Google Images for competitor logos, visual references. Batch with `|||`.
- **`web-search`** — Research the brand, industry, competitors. Batch with `|||`.
- **`Read` tool** — **CRITICAL.** Use to view every generated/composed image. This is how you see and judge your own work.
- **Bash** — Run scripts:
- `scripts/compose_logo.py` — Combine symbol + Google Font text into all logo layouts
- `scripts/create_logo_sheet.py` — Build HTML contact sheet for visual comparison
- `scripts/remove_bg.py` — Local background removal fallback (if `image-gen remove_bg` produces artifacts)
---
## Visual Critique Process
**This is the most important part of the skill.** After EVERY image operation (generation, composition, background removal), you MUST:
1. **Read the image** using the `Read` tool on the output file path
2. **Describe what you see** in 1-2 sentences (to yourself, not to the user)
3. **Run the checklist** against what you see
4. **Decide: keep, regenerate, or adjust**
### After generating a symbol:
```
Read("logos/brand/round-1/logomark-concept-name.webp")
→ "I see a hexagonal shape with an arrow motif, centered on white. Clean lines, no text. Good."
→ KEEP
```
```
Read("logos/brand/round-1/logomark-abstract-wave.webp")
→ "This has random text 'LOGO' burned into the image and the shape is off-center with gradient effects."
→ REJECT — regenerate with stronger 'no text, no gradients' anchors
```
### After removing a background:
```
Read("logos/brand/round-1/symbol-transparent.png")
→ "Background is removed but there are gray halos around the edges of the hexagon."
→ REJECT — re-run with local fallback: python3 scripts/remove_bg.py input.webp output.png
```
### After composing:
```
Read("logos/brand/composed/brand-combo-horizontal.png")
→ "Symbol and text are well-balanced. Font loads correctly, spacing looks good. The symbol reads clearly at this size."
→ KEEP
```
**Never skip the Read step.** If you didn't look at it, you don't know if it's good.
---
## Background Removal
The `image-gen` tool uses BRIA RMBG 2.0 for background removal. It's good but not perfect — especially on logo symbols it can leave halos or eat into thin lines.
**Primary method:** `image-gen` with `action: "remove_bg"`
**If the result has artifacts** (gray halos, jagged edges, eaten details), use the local fallback:
```bash
pip install rembg pillow onnxruntime # first time only
python3 .opencode/skills/KORTIX-logo-creator/scripts/remove_bg.py \
logos/<brand>/round-1/symbol.webp \
logos/<brand>/round-1/symbol-transparent.png
```
**After either method:** Always `Read` the transparent PNG to check for artifacts. If both methods produce poor results, the `compose_logo.py` auto-crop can work with the original white-background image — it crops whitespace using pixel analysis instead of AI.
---
## Output Structure
```
logos/<brand-name>/
round-1/ # AI-generated symbols
logomark-*.webp
logomark-*-transparent.png
composed/ # Programmatically composed logos
<brand>-logomark.png
<brand>-wordmark.png
<brand>-wordmark-tagline.png
<brand>-combo-horizontal.png
<brand>-combo-vertical.png
<brand>-combo-icon-right.png
sheet.html
final/ # Approved logos (with transparent versions)
```
---
## Workflow
### Phase 1: Brand Discovery
**Goal:** Understand what this logo needs to communicate.
1. **Extract from user message:** brand name, what it does, any preferences.
2. **If critical info is missing, ask — max 3 focused questions.**
3. **If user gave enough context, proceed without asking.**
4. **Research the landscape** — batch search:
- `web-search`: `"[brand name]" company`, `[industry] brand identity trends 2025`
- `image-search`: `[competitor1] logo`, `[competitor2] logo`, `[industry] logo design`
5. **Synthesize internally:**
- Brand personality (2-3 adjectives)
- Visual directions to explore
- Colors to try later (start B&W)
- What to avoid (competitor similarities)
- 2-3 concept directions with different metaphors/symbols
6. **Pick a Google Font** for the brand personality:
- `Space Grotesk` — modern tech, geometric
- `Inter` — clean, versatile, startup
- `Playfair Display` — elegant, editorial, luxury
- `DM Sans` — friendly, approachable, SaaS
- `Outfit` — contemporary, balanced
- `Sora` — futuristic, geometric
- `Libre Baskerville` — traditional, trustworthy
- `Rubik` — rounded, playful, consumer
- Or any other Google Font that fits
### Phase 2: Symbol Generation
**Goal:** Create the core symbol/icon.
1. **Read `references/prompt-patterns.md`** for prompt formulas and universal anchors.
2. **Generate 4-6 symbol variations** using `image-gen`:
- Use the logomark prompt pattern from the reference
- Vary the CONCEPT across generations (different metaphors), not just style
- Start monochrome: `Using only black (#000000). Monochrome design.`
- Output to `logos/<brand-name>/round-1/`
3. **VIEW EVERY RESULT with Read.** For each generated image:
- `Read("logos/<brand>/round-1/<filename>.webp")`
- Describe what you see: shape, composition, cleanliness, any artifacts
- Run the self-critique checklist (see below)
- **If it fails 2+ criteria: regenerate with adjusted prompt.** Note what went wrong and fix it in the next prompt.
- **If it passes: keep it and note what works well.**
4. **Remove backgrounds** on the best 2-3 symbols:
- `image-gen` with `action: "remove_bg"`
- **Read the transparent PNG to check for halos/artifacts**
- If bad: re-run with `scripts/remove_bg.py` (local fallback)
5. **Build contact sheet, open it, and give the user the path:**
```bash
python3 .opencode/skills/KORTIX-logo-creator/scripts/create_logo_sheet.py \
logos/<brand-name>/round-1/ \
logos/<brand-name>/round-1/sheet.html \
--title "<Brand> Symbols — Round 1" && \
open logos/<brand-name>/round-1/sheet.html
```
Tell the user: "The interactive contact sheet is at `logos/<brand>/round-1/sheet.html` — you can toggle light/dark backgrounds and zoom into each symbol."
6. **Ask user:** Which direction(s) do you like? What to change?
### Phase 3: Composition
**Goal:** Combine approved symbol + real typography into complete logo layouts.
```bash
python3 .opencode/skills/KORTIX-logo-creator/scripts/compose_logo.py \
--brand "BrandName" \
--symbol "logos/<brand>/round-1/symbol-transparent.png" \
--output-dir "logos/<brand>/composed/" \
--font "Space Grotesk" \
--weight 700 \
--color "#1a1a2e" \
--tagline "Optional tagline" \
--layouts all
```
Produces 6 layouts: logomark, wordmark, wordmark-taRelated in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".