---
name: brand-kit
description: Build a complete brand kit from a logo. Generate or take a logo with Kenerate, make it transparent, then extract the colour palette (contrast-checked), logo variants (mono black / white, on brand colour, on dark, padded square), favicons and .ico, social templates (avatar, OG image, X header, LinkedIn banner, post, story), a brand sheet, tokens.json and brand.css. Use when the user wants a brand kit, brand identity, logo pack, colour palette, favicon set, social media profile images or design tokens.
compatibility: Needs the Kenerate MCP server for logo generation and cut-out, and Python 3.9+ with Pillow (ffmpeg not needed).
metadata:
  author: kenerate
  version: "1.0"
  kenerate-tools: "generate_image remove_background generate_3d upload_media estimate_cost wait_for_generation"
---

# Brand kit

Rules: [references/KENERATE.md](references/KENERATE.md) (models and voices: [references/MODELS.md](references/MODELS.md), or the free `pick_model` / `pick_voice` tools). The MCP prompt `brand_kit` covers the generation side; this skill
adds the local kit.

## Ask the user
Brand name (exact spelling), what it does, style (minimal, playful, luxury, tech), colours if they have any, tagline,
and an existing logo if there is one.

## 1. Logo (Kenerate)
- New logo: `generate_image(prompt='Logo for "<name>": <symbol idea>, <style>, flat vector, <colours>, centred on a plain white background', model="kenerate/gpt-image-2.5-sunburst", aspect_ratio="1:1", count=3)`
  (spells the name reliably; `kenerate/recraft-v4.1` is the design-specialist alternate).
  Use `kenerate/ideogram-v4` for type-led logos. The user picks one.
- Transparent: `remove_background(image_url=logo, mode="cutout")` (kind `"remove-bg"`).
- Optional 3D: `generate_3d(image_url=transparent logo, engine="tripo-h3.1")` (paid plan; `estimate_cost` first).
- Optional posts with real art: `generate_image(prompt="social post for <name>: <message>", reference_image_urls=[transparent logo], model="kenerate/gpt-image-2.5-sunburst", aspect_ratio="4:5")`.

## 2. Build the kit (local)
```
python <skill-dir>/scripts/brandkit.py --logo "<transparent logo url>" --name "Nova" \
  --tagline "Plant protein for runners" [--images "<post url>" ...] [--colors "#1F6F50,#F4E9D8"] \
  --out-dir kenerate-out/brand-kit/<brand>
```
- The palette comes from the logo (and `--images`), merged and ranked by area. Primary is the most vivid colour,
  dark is the darkest; `--colors` overrides. `tokens.json` includes contrast ratios and the text colour to use on primary.
- Outputs: `logo/` (trimmed, mono black, mono white, square padded, on primary, on dark), `favicon/` (16-512 PNG and
  favicon.ico), `social/` (avatar 400, OG 1200x630, X header 1500x500, LinkedIn 1584x396, post 1080, story 1080x1920),
  `brand_sheet.png`, `tokens.json`, `brand.css`.
- A logo without transparency gets its flat background keyed out (and a warning). For photos, run `remove_background` first.

## Report
Show `brand_sheet.png` and the social previews. List the hex codes, and flag weak contrast pairs (below 4.5:1 for text).

## If something fails
A failed logo job is refunded. Recraft takes no reference images, so edits to a chosen logo go through
`kenerate/nano-banana-2.1` with the logo in `reference_image_urls`.
