
Build A Brand
- 1.4k installs
- 38 repo stars
- Updated July 20, 2026
- pika-labs/pika-plugins
build-a-brand provides documented workflows for >
About
The build-a-brand skill > # Build a Brand Take any input - an idea, a website, a list of reference brands, product photos, or an existing brand to refresh - and produce a complete brand identity, ending in a 15-page brand guidelines PDF. This is a standalone brand-building workflow focused on strategy, identity, design, and copy. Output is **one** brand guidelines PDF for the chosen identity. ## Full Workflow ### Stage 0 - Intake (empty-args menu) If invoked with no input (no idea, no URL, no photos, no reference brands, and no relevant prior context in the conversation), print this menu verbatim as your full response and stop. Wait for the user's next message. > **What are we branding?** Paste any of: > > - **An idea / description** - e.g. "a streetwear label for cat people" > - **A website URL** - e.g. "rebrand my existing site at example.com" > - **Product photos** - drop them in the chat > - **Reference brands** - e.g.
- `--config <path>` points to a JSON file that pre-bakes intake answers:
- `--quick` means use model judgment for all confirmation gates. Ask only if
- For `--quick` or `--config`, do not stop for confirmation at the deliverable
- If a required asset is unavailable and cannot be inferred from the input,
- Do not deliver a condensed or partial brand output just because the caller is
Build A Brand by the numbers
- 1,439 all-time installs (skills.sh)
- +50 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #172 of 1,039 Mobile Development skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
build-a-brand capabilities & compatibility
- Capabilities
- ` config <path>` points to a json file that pre · ` quick` means use model judgment for all confi · for ` quick` or ` config`, do not stop for con · if a required asset is unavailable and cannot be · do not deliver a condensed or partial brand outp
- Use cases
- documentation
What build-a-brand says it does
This is a standalone brand-building workflow focused on strategy, identity, design, and copy.
npx skills add https://github.com/pika-labs/pika-plugins --skill build-a-brandAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.4k |
|---|---|
| repo stars | ★ 38 |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 20, 2026 |
| Repository | pika-labs/pika-plugins ↗ |
How do I use build-a-brand for the task described in its SKILL.md triggers?
>
Who is it for?
Teams invoking build-a-brand when the user request matches documented triggers and prerequisites.
Skip if: Skip when cached docs are missing, the request is a negative trigger, or another sibling skill owns the workflow.
When should I use this skill?
>
What you get
Step-by-step guidance grounded in build-a-brand documentation and reference files.
- 15-page brand guidelines PDF
- Color palette and typography spec
- Messaging framework
By the numbers
- Produces a 15-page brand guidelines PDF
Files
Build a Brand
Take any input — an idea, a website, a list of reference brands, product photos, or an existing brand to refresh — and produce a complete brand identity, ending in a 15-page brand guidelines PDF.
This is a standalone brand-building workflow focused on strategy, identity, design, and copy. Output is one brand guidelines PDF for the chosen identity.
Full Workflow
Stage 0 — Intake (empty-args menu)
If invoked with no input (no idea, no URL, no photos, no reference brands, and no relevant prior context in the conversation), print this menu verbatim as your full response and stop. Do not call any tool. Wait for the user's next message.
What are we branding? Paste any of:
>
- An idea / description — e.g. "a streetwear label for cat people"
- A website URL — e.g. "rebrand my existing site at example.com"
- Product photos — drop them in the chat
- Reference brands — e.g. "I want something that feels like Aesop + Patagonia"
- An existing brand to refresh — name + what's working / what isn't
If the user already dropped one of the above, skip the menu and proceed straight to Step 1.
Stage 0.5 — Non-interactive fast lane
Use this path when the caller passes --quick or --config <path>, or when the caller states they are running from CI, a subagent, a batch job, or any other non-interactive harness.
This section has precedence over the interactive ask/wait instructions below. When it applies, use this fast lane and do not fall through to the multi-turn intake unless a required input is truly missing.
--config <path>points to a JSON file that pre-bakes intake answers:
input, photos, reference_brands, audience, positioning, assets_to_keep, references, chosen_direction, chosen_identity, and export_kit.
--quickmeans use model judgment for all confirmation gates. Ask only if
the original input is missing entirely; otherwise infer reasonable defaults, choose the strongest strategy direction and identity option, and continue.
- For
--quickor--config, do not stop for confirmation at the deliverable
preview, strategy-direction choice, identity-option choice, or brand-kit export gate. Record the assumption inline, then proceed.
- If a required asset is unavailable and cannot be inferred from the input,
stop once with a single compact missing-fields list instead of starting a multi-turn Q&A loop.
- Do not deliver a condensed or partial brand output just because the caller is
non-interactive or the run is short on wall-clock time. A condensed 6-page deck is not an acceptable substitute for the required 15-page guidelines. If the run is out of wall-clock budget, save a resumable checkpoint with the pages/assets already completed and stop; do not mark the workflow complete.
Step 1 — Read the Input
Inputs vary. Before asking any questions, open with a brief agenda so the user knows what's coming:
here's how this works — 5 steps:
1. **Read the input** — i ask a few questions, you answer, i play back what i'm hearing
2. **Strategy directions** — 2-3 distinct positioning angles to choose from
3. **Identity options** — 3 full brand identities (name, colors, voice, brand board PDF preview) within your chosen direction
4. **Build the guidelines** — full 15-page brand book PDF for the chosen identity
5. **Export the brand kit** — once you're happy with the guidelines, i'll bundle a `brand.md` spec + logo assets (transparent PNG + PDF wrapper for every mark; SVG when vector-authored) in each brand color as a zip you can use anywhere
let's start. [questions follow]Then ask 3-5 targeted questions in a single message. Adapt to the input type:
If they dropped an idea / description:
- What does this brand sell or do? (product / service / app / community / something else)
- Who is this for — describe the 2-3 audience segments this brand should serve, plus one vivid anchor persona inside the primary segment
- Why does this exist? what's broken about the alternatives, or what feeling are you trying to deliver?
- Do you have a name in mind, or is naming part of what you want help with?
If they dropped a website / existing brand URL:
- Are we refreshing this brand or rebuilding it from scratch?
- What's working about it today, and what isn't?
- Who's the current customer vs. who you wish were the customer?
If they dropped product photos:
- Ask how the product is made, who has bought or used it, price point, current sales/channel context, and any direction they already have in mind.
- Keep the output scoped to guidelines and a brand kit, not a commerce launch.
If they dropped reference brands only ("I want a brand that feels like Aesop + Patagonia"):
- What's the product, service, or thing this brand will be attached to?
- What about each reference brand specifically do you love? (the photography? the tone? the restraint?)
- Who buys this — describe the 2-3 audience segments this brand should serve, plus one vivid anchor persona inside the primary segment.
- Any constraints? (industry, regulation, location, price tier?)
Always also ask (regardless of input type):
- Do you have any existing brand assets you want to keep or incorporate? (Logo, wordmark, symbol, name, colors, fonts, photography, packaging — anything you don't want to lose.)
- Any specific references, inspirations, or moodboards you'd want this to draw from?
These two are essential — they prevent you from generating things the user already has, and they anchor the work in references the user actually likes. Always include them.
Keep it to a single message. Aim for 5-7 questions total (input-specific + the 2 universal), conversational not clinical. Wait for answers before proceeding.
After answers, analyze the input + answers together and read back:
- Aesthetic territory: what visual world does this live in?
- Audience segments: primary segment, secondary segment(s), and one vivid anchor persona inside the primary segment. Do not collapse the audience into one over-specific individual.
- Positioning: what's the wedge — what does this stand for that competitors don't?
- Price tier / category fit: where on the market shelf does this sit?
- Story hook: what's the emotional reason someone cares?
- Assets being kept: explicitly list what the user said they want to preserve (existing wordmark, name, colors, etc.)
- References anchoring the work: list the user-named inspirations.
Then preview the deliverable and invite specific guidance — before moving to brand directions, show the user what'll be in the final guidelines so they can flag anything to add, change, or call out:
here's what i'll build into the 15-page brand guidelines:
1. Cover (brand name, tagline, hero mood)
2. Strategy & positioning (primary/secondary audience segments + anchor persona)
3. Brand foundation (mission, values, story)
4. Logo (wordmark + symbol + variants)
5. Logo don'ts
6. Color palette
7. Typography
8. Icons (UI icon system + library guidance)
9. Voice & tone
10. Imagery rules (photography and/or illustration, adapted to brand medium)
11. Visual world / lifestyle imagery
12. Touchpoints (real photos showing the brand in use)
13. Brand applications (mockups: business card, app icon, favicon, etc.)
14. Digital + social
15. Do & don't
plus a brand kit zip at the end with: `brand.md` spec, logo assets (transparent PNG + PDF wrapper for every mark; SVG when vector-authored), design tokens (CSS / JSON / Tailwind), AI prompts (system prompt + task-specific starters), and the icon SVGs.
anything you want to add, change, call out specifically, or want me to handle differently? if not, i'll move on to brand directions.Wait for response. Incorporate any specific user guidance (add a page, swap something, special focus on a particular section, exclude something) before moving to Step 2. This catches scope mismatches early — much cheaper than discovering them after the PDF is built.
Step 2 — Present 2-3 Brand Directions
Based on your read, present 2-3 distinct brand directions. See references/brand-directions.md for structure.
Each direction must be a genuinely different business answer — not aesthetic variations. Differentiate on WHO and WHY, not WHAT.
Ask the user to pick one direction before proceeding.
Step 3 — Generate 3 Brand Identity Options
Once they choose a direction, generate 3 complete brand identity options within that direction. See references/brand-identity.md for structure.
Each option includes: name + tagline, color palette, typography direction, voice & tone, logo concept, brand story, photography direction (product + lifestyle/mood), UI/website direction, example brands.
After presenting all 3 in text, build a 3-page brand board PDF (one page per option) so the user can see each identity before committing.
Each option must include:
- Wordmark in the brand's display font — use the user's existing wordmark if they have one they like; propose a new one if they need a logo or don't like their current one. A new wordmark must have custom letter treatment: adjusted spacing, ligature, cut, terminal, case, underline, or other ownable detail. It is not just a Google Font typed in a color.
- Symbol/mark — a standalone graphic that lives without the wordmark. Use the user's existing symbol if they have one they like; propose a new one otherwise. Even if the user keeps their wordmark, propose a symbol if they don't have one — favicons and app icons need a non-typographic mark. For new symbols, default to a generated PNG via
mcp__pika__generate_imagewithprovider="gpt-image-2"when visual quality, texture, detail, or originality matters. Ask for a clean isolated mark on transparent background, no baked-in letters, no watermark, no mockup, centered in a square. After generating, run the PNG throughmcp__pika__remove_backgroundwithmode="logo"to guarantee a real transparent background before compositing it onto any colored or photo background — generated symbols often come back with a baked-in white background that becomes a white box at composite time. (Background removal strips only the outer background; design any interior negative space to be open at generation time, since the cleanup pass won't carve it out.) Use inline SVG only if the mark is intentionally simple, can be drawn cleanly by hand, and passes small-size QA. Must work at 16×16 AND 512×512. - Seal / badge — if the option uses a seal, stamp, badge, or monogram, it must be readable and ownable at small and medium sizes. It cannot be a generic circular font lockup, clip-art crest, or low-contrast decorative filler.
- Tagline (8 words max)
- Voice sample with visible "VOICE" label (one quoted sentence, 14 words max)
- Compact board story (~35 words max, min 2 sentences)
- Lifestyle world description with visible "WORLD" label (~22 words max, min 1 full sentence)
- Lifestyle mood image (generated via gpt-image-2)
- 4-color palette with hex + role labels
- Display + body type specimens with named fonts
Brand board pages should look different enough that the user can tell which identity they are seeing before reading the labels. Don't use the same template recolored 3 times; each board's layout should embody the option's design philosophy. A magazine-cover option should look like a magazine cover (full-bleed photo, masthead-style); a soft consumer option should look like a homepage hero (rounded shapes, soft circles for swatches); an editorial option should look like a literary spread (huge italic centered, inset photo). See references/brand-guidelines.md "Brand Board Layout — Differentiate per Option" for examples.
If you can't physically tell which brand you're looking at without reading the labels — regenerate.
Page size: 1200×850px. Renderer: Pika MCP mcp__pika__html_to_pdf for PDF output and mcp__pika__html_to_png for PNG QA previews. Both use server-side Chromium; do not run local WeasyPrint or Chrome headless by default. The delivered PDF and QA PNGs must come from the MCP render path. If a local/sandbox/browser fallback is used for debugging, discard that output, rerender through MCP, and QA the final MCP PNGs. If the MCP and fallback renders disagree, fix the HTML/CSS; do not ship the fallback render.
Board quality gate: the 3-page preview must pass visual QA, not just render QA.
1. Inspect each PNG preview before sending the PDF. Fail ugly density, weak hierarchy, muddy one-note palette, unreadable small text, empty mockup/image slots, clipped text, and body copy or non-masthead text intersecting icons, swatches, seals, photos, phone mockups, or decorative rules. Also inspect the symbol at 16×16 and 512×512; if the small-size read is illegible, muddy, too generic, or collapses into noise, regenerate or simplify before delivery. Website/social/app mockups are optional on brand boards; do not add them unless they contain real content. If included, flat color rectangles count as empty placeholders unless the section is explicitly a palette specimen. 2. Run mcp__pika__analyze_media on each board PNG using the exact PASS/FAIL prompt in references/brand-guidelines.md "Full-Deck Visual QA" — its low-contrast clause is load-bearing (without it the model rates low-contrast text "legible" and PASSes a real defect). Ask about all issues listed above in addition to that prompt's checks. Masthead wordmark/tagline/issue metadata overlays on photos are allowed only when they use deliberate negative space or a contrast scrim and pass contrast QA as defined in references/brand-guidelines.md Rule 5. Body copy on images is still forbidden. 3. Handle tool state before interpreting the result. If mcp__pika__analyze_media returns {task_id, status: "running"}, poll mcp__pika__task_status({task_id}) until terminal. Treat the QA as unavailable and halt with a manual-review warning if the tool is missing, raises tool_not_found, provider_unavailable, unsupported_media_type, rate_limited, quota_exceeded, auth_error, any HTTP 4xx/5xx error envelope, or a transport error, says it cannot analyze the image, or returns final text that does not match `/^\s*[*]{0,2}(PASS|FAIL)\b/``. 4. Interpret the result with that regex only. Fix every captured FAIL before delivery. If the captured result is PASS but the explanation lists a blocking collision, clipping, unreadable text, or missing required board content, treat it as FAIL. Do not proceed silently.
Font rule: fresh fonts per brand AND fonts must have character. Never default to Inter / Karla / Outfit / DM Sans / Lato — they have no point of view as a display face. Explore the full Google Fonts library. See references/brand-guidelines.md "Must Have Character — Don't Default to Safe Fonts" for approved high-character options by vibe (Fraunces, Instrument Serif, Bricolage Grotesque, Funnel Display, Bodoni Moda, Reddit Mono, etc.). For MCP rendering, use HTTPS font URLs or inline data:font/... sources; local file:// font paths are not available server-side.
Do not build the full 15-page guidelines PDF until the user picks an option — that wastes time on rejected identities.
Present all 3 clearly. Ask the user to pick one, or mix elements from different options.
Step 4 — Build the Full Brand Guidelines PDF
Once user confirms an identity, build the 15-page brand guidelines PDF.
Page structure (15 pages; becomes 16 if hybrid imagery split):
1. Cover — Brand name, tagline, hero mood image. Full-bleed. 2. Strategy & Positioning — Direction name. Positioning statement (one punchy sentence). Target audience system: primary segment, secondary segment(s), and one vivid anchor persona inside the primary segment. Do not describe only one over-specific customer. 3-4 reference brands with "borrow this" notes. 3. Brand Foundation — Mission. Brand values (3-5). The "why this exists" story (2-3 paragraphs of real copy in brand voice — not a template). 4. Logo — Primary mark + all variants (horizontal, icon-only, reversed), usage rules (on dark / on light / on color), logo mark explanation, clear space rule. 5. Logo Don'ts — Explicit misuse rendered in CSS: never stretch, never rotate, never wrong background, never recolor, never use drop shadow. Show each violation visually with a ✗ label. 6. Color — All swatches with hex + RGB + CMYK, primary pairings, accessibility/contrast note, never-do combinations. Full-bleed color columns, not swatches floating on white. 7. Typography — Full hierarchy (H1 through caption with exact px sizes), display/accent/body fonts, usage rules per context, type on color backgrounds, minimum sizes. 8. Icons — UI icon system: 8-12 essential icons (arrow-right, check, close, plus, settings, search, user, bell, menu, info, etc.) rendered in the brand's geometric style + stroke/corner/grid rules + library recommendation for icons beyond the set. See references/brand-guidelines.md "Icons Page — Structure & Rules" section. 9. Voice & Tone — Tone adjectives, copy examples by context (headline, body, button, error state, social caption), forbidden words/phrases. Show actual brand copy, not generic example copy. 10. Imagery Rules — adapts to the brand's medium. Photography-led → photography rules (subject/light/color/cast/texture/forbidden + 1 example photo). Illustration-led → illustration rules (style/color/line/character/composition/forbidden + 1 example illustration). Hybrid (both equally) → split into two pages, guidelines becomes 16 pages. See references/brand-guidelines.md "Imagery Rules Page — Adapts per Brand." 11. Visual World — Full-bleed 4-column grid of 4 images matching the brand's medium mix (all photos, all illustrations, or mixed). Cast must be racially diverse for any people-featuring images. 12. Touchpoints — Real Photos — A 2×2 grid of 4 REAL GENERATED PHOTOGRAPHS showing the brand in physical context. Adapt to the brand type:
- Physical product brand: hang tag on garment, woven label macro, kraft mailer with tissue, flat lay of product + packaging
- Digital / app brand: phone in hand showing the app, laptop on desk showing the site, sticker on water bottle, tote bag in a real scene
- Service brand: business card in hand, branded notebook on desk, signage on a building, swag in context
No CSS vector mockups on this page — without real generated photos the touchpoints look like a Figma exercise, not a brand. Real images prove the brand can survive contact with the physical world. 13. Brand Applications — CSS Mockups — CSS-rendered mockups of secondary applications, each labeled with specs: business card (with dimensions), social avatar (circle crop), sticker/app icon (rounded square), email signature, presentation cover slide. For product brands also include: hang tag spec, woven label spec, shopping bag spec. 14. Digital / Social — Website hero aesthetic (colors, fonts, layout feel), Instagram grid style (3×3 mockup with color palette + caption tone), story template (brand colors + logo placement), link-in-bio layout. 15. Do & Don't — 5 dos and 5 don'ts, brand-specific and actionable. Not generic ("do use the logo correctly") — brand-specific ("do leave a full em-dash of space around the wordmark in social posts; never crop our tagline mid-word").
Keep Page 2 (strategy) before Page 3 (foundation), and keep both before logo/color/type. Strategy frames every visual decision that follows.
Include every page in the structure. If the brand has no packaging, adapt the touchpoints page to the brand type instead of skipping it; the guidelines should still show how the identity survives in real contexts.
Completion gate: do not deliver a condensed or partial guidelines PDF. A condensed 6-page deck, missing Visual World page, missing Touchpoints page, or missing Brand Applications page is a failed checkpoint, not a final deliverable. If time runs out, stop with a resumable checkpoint that lists completed pages, missing pages, generated asset URLs, and the next render step. Do not present the deck as done until all mandatory pages have rendered and passed QA.
All build rules in references/brand-guidelines.md apply: server-side Chromium render contract, explicit 1200×850 page dimensions, HTTPS/data-URI assets, no load-bearing text on generated images, no duplicate generated images across deck, text contrast thresholds on dark backgrounds, and mandatory pre-send QA previews for every page.
Deliver as PDF. mcp__pika__html_to_pdf returns a CDN file_url; give the user that URL. If exporting a local kit later, download that file_url into ~/Desktop/[brand-name]-brand-guidelines.pdf or the kit folder as brand-guidelines.pdf. Do not use mcp__pika__upload_asset for PDFs; that tool still only accepts images/audio/video.
Step 5 — Export the Brand Kit (after user confirms guidelines)
After delivering the 15-page guidelines PDF, wait for explicit user confirmation that they're happy with the brand. Don't auto-export — the kit codifies the final brand, so only build it once the brand is locked.
Then build a comprehensive brand kit zip that lets the user produce on-brand work anywhere — in Claude, GPT, Figma, with a designer, with a developer.
Kit structure:
[brand-name]-brand-kit.zip
├── brand.md # comprehensive machine-readable spec
├── brand-guidelines.pdf # full 15-page guidelines PDF (the visual deliverable)
├── README.md # 1-page how-to-use guide
├── logo/
│ ├── symbol/ # standalone mark, one set per color variant
│ │ ├── symbol-[color].png # transparent background, 1024×1024+
│ │ ├── symbol-[color].svg # only when vector-authored
│ │ └── symbol-[color].pdf # vector PDF or raster PDF wrapper
│ ├── wordmark/ # the brand name styled
│ │ └── wordmark-[color].{svg,png,pdf}
│ └── lockup/ # symbol + wordmark together
│ ├── horizontal/
│ │ └── lockup-h-[color].{png,pdf} + svg when fully vector-authored
│ └── stacked/
│ └── lockup-s-[color].{png,pdf} + svg when fully vector-authored
├── icons/ # the 12 UI icons from page 8 as SVGs
│ ├── arrow-right.svg
│ ├── check.svg
│ ├── close.svg
│ ├── plus.svg
│ ├── search.svg
│ ├── user.svg
│ ├── settings.svg
│ ├── bell.svg
│ ├── menu.svg
│ ├── info.svg
│ └── [+ any brand-specific icons]
├── fonts/ # actual TTF font files (OFL-licensed Google Fonts)
│ ├── [display-font]-Variable.ttf
│ ├── [body-font]-Variable.ttf
│ └── README.md # license + install instructions
├── tokens/ # design tokens for devs
│ ├── tokens.css # CSS custom properties — paste into :root
│ ├── tokens.json # same content in JSON — for AI tools / CI
│ └── tailwind.config.snippet.js # paste into tailwind.config.js extend block
└── prompts/ # AI prompts for downstream brand use
├── system-prompt.md # paste at the top of a Claude/GPT thread for brand voice
├── tweet.md # task-specific starter: write a tweet
├── landing-hero.md # task-specific starter: landing page hero copy
├── email.md # task-specific starter: marketing/transactional email
├── error-message.md # task-specific starter: write a friendly error
├── photography.md # task starter: generate brand-style photography (with cliché guardrails + brand-photography rules embedded)
└── illustration.md # task starter: generate brand-style illustration (only if the brand uses illustration as a medium)Color variants to export (per logo): primary-on-light, primary-on-dark, neutral-on-light (ink), neutral-on-dark (cream), and one accent-on-color combination. Usually 4-5 color sets per logo type.
brand.md — see references/brand-md-template.md for the full structure. It must include:
- Quick reference block (name, tagline, primary color, fonts, voice in one scannable section)
- Positioning + audience segments
- Mission, values, story
- Voice & tone (adjectives, copy examples by context, forbidden words)
- Colors (table with hex / RGB / CMYK / Pantone / role)
- Typography (display + body + Google Fonts URLs + full hierarchy)
- Logo (wordmark description + symbol description + lockup specs + file list with paths)
- Photography rules
- Visual world description
- Touchpoint specs
- Do & don't list
- Reference brands with "borrow this" notes
- How-to-use section telling downstream tools/people how to apply the spec
Asset generation pipeline: 1. Symbol master asset — for new marks, prefer the generated PNG route: call mcp__pika__generate_image with provider="gpt-image-2" for a clean isolated mark on transparent background, centered, no text, no watermark, no mockup, no shadows. Use SVG only if the mark is deliberately simple and still reads at 16×16. Keep the best generated PNG as the source of truth when it is stronger than SVG. 2. Logo SVGs — write SVG variants for wordmarks, lockups, and any symbol that is actually vector-authored. Do not trace a rich generated PNG into a weak SVG just to satisfy a vector preference. For raster-generated symbols, note in brand.md that the symbol master is PNG. 3. Logo PNGs — export every symbol / wordmark / lockup as PNG on transparent background at 1024×1024+ for symbols and enough width for wordmarks. For SVG-derived assets, render SVG → PNG via mcp__pika__html_to_png: HTML wrapper with <body style="margin:0;background:transparent;"> containing just the SVG, raster_options.viewport_px:1024x1024, transparent_background:true when available. For generated PNG symbols, preserve the original high-res transparent PNG and create color variants only when they remain crisp. 4. Logo PDFs — render SVG logo wrappers via mcp__pika__html_to_pdf when vector source exists. For raster-generated symbols, create a PDF wrapper that embeds the high-res PNG at full resolution and label it as raster-source in the README; do not pretend it is vector. 5. Icon SVGs — write each of the 12 icons as a standalone SVG with stroke="currentColor", viewBox="0 0 24 24", and the brand's chosen stroke weight + corner style applied consistently. See references/brand-guidelines.md "Icons Page — Structure & Rules" for which icons to include. 6. Design tokens — generate all three files from the brand spec:
tokens.css—:rootblock with--color-*,--font-*,--font-size-*,--line-height-*,--space-*,--radius-*,--shadow-*custom propertiestokens.json— same content as JSON object with sections:color,font,fontSize,lineHeight,spacing,radius,shadowtailwind.config.snippet.js— JavaScript snippet to paste insidemodule.exports.theme.extendcovering colors, fontFamily, fontSize, borderRadius, boxShadow
7. AI prompts — generate each prompt file with brand specifics interpolated:
system-prompt.md— a system prompt to paste at the top of any Claude/GPT thread. Includes: brand voice adjectives, forbidden words, copy rules, photography direction, color/font specs, sample voice examples. End with "Always apply this brand voice unless explicitly instructed otherwise."tweet.md— task starter: max 280 chars, voice constraints, sample target tweets, then "Task: [USER FILLS IN]"landing-hero.md— task starter: hero copy structure (headline + subheadline + CTA), brand voice rules, examples from the guidelinesemail.md— task starter: email tone, subject line guidance, body structure, sign-off conventionserror-message.md— task starter: how the brand handles error/empty/loading states in voice (warm not robotic, specific not vague)- `photography.md` — task starter for generating brand-style photography (gpt-image-2 etc.). Must include: master prompt template tailored to the brand's photo direction (subject, light, color grade, cast diversity, texture); explicit "what to AVOID in the prompt" list (studio strobes, stock terms, glass coworking spaces, "engineers at laptops," "professional," "premium," etc.); banned cliché concepts list (hourglasses, lightbulbs, handshakes, network nodes, glowing brains, etc.); subject substitutes for "person doing X"; quality requirements (butter accent, diversity, film grain, documentary); explicit no-text guardrail string; note about never naming real publications.
- `illustration.md` — only if the brand uses illustration as a medium. Task starter for generating brand-style illustrations. Master prompt template with strict palette + style rules (flat vector / line art / etc), banned elements (gradients, drop shadows, 3D, photographic textures), when to use illustration vs photography. Skip this file entirely if the brand has no illustration in its visual world.
8. Brand fonts — local export step. Download the actual font files from Google Fonts (or wherever the brand fonts live) and include in fonts/:
- Variable font files when available:
[FontName]-Variable.ttf(single file, supports all weights) - Or static weights at the levels the brand uses
- GitHub mirror pattern:
https://github.com/google/fonts/raw/main/ofl/[fontname]/[FontName][wght].ttf - Add a
fonts/README.mdnoting the license (OFL is common, allows redistribution) + Google Fonts URL for online installation
9. Brand guidelines PDF — download the html_to_pdf.file_url from Step 4 into the kit as brand-guidelines.pdf. The kit is incomplete without it. 10. README.md — 1-page guide telling the user: what's in the kit, how to use brand.md with AI tools, which logo file for which context, where to install fonts (local TTFs or Google Fonts URLs), how to use the photography/illustration prompts. 11. Zip everything: zip -r [brand]-brand-kit.zip brand.md brand-guidelines.pdf README.md logo/ icons/ fonts/ tokens/ prompts/
Brand-kit completion gate: when the user confirms export, or when export_kit is set in --config, the brand kit zip is a required deliverable. Do not mark the brand kit complete until the zip exists and contains brand.md, brand-guidelines.pdf, README, logo assets, icons, fonts, tokens, and prompts. If any required file cannot be produced, stop with a resumable checkpoint and list the missing files instead of shipping a partial zip.
README.md — 1-page guide telling the user:
- What's in the kit
- How to use
brand.mdwith AI tools (paste into Claude/GPT to generate on-brand work) - Which logo file to use for which context (web favicon → symbol PNG; print collateral → PDF; web header → wordmark SVG; etc.)
- Font installation links (Google Fonts URLs)
Delivery:
- Save zip to
~/Desktop/[brand-name]-brand-kit.zipfor local Mac users. - If the environment cannot download fonts or write a local zip, do not ship a
partial kit. Stop with a resumable blocked checkpoint that lists the completed artifacts (file_url, brand.md, tokens, logo assets), the missing files, and the exact filesystem/network blocker.
- Upload the completed zip to a CDN if needed.
- Tell the user what's in the completed zip and link to the
brand.mdso they can preview without unzipping.
Key Principles
- The input is the brief. Don't ask for lengthy intake forms. Read what's in front of you and ask 3-5 precise questions.
- Be specific about customers without narrowing the brand to one person. Vague audiences = weak brands, but one hyper-specific individual can make the output unusably narrow. Define audience segments first: a primary segment, 1-2 secondary segments, and one anchor persona that makes the primary segment feel concrete.
- 3 options at each choice point. Direction (step 2), then identity (step 3). Always 3.
- Opinionated but collaborative. Present your read confidently. They can push back.
- Generate actual copy — don't give templates with [BRACKETS]. Write real words in the brand voice.
- All images must look real and crafted. Generated lifestyle/touchpoint images need film grain, natural light, slight imperfections, editorial composition. Banned: perfect symmetry, gradient backgrounds, studio strobes, stock-photo energy, AI-smooth surfaces, floating objects on white. If it looks fake — regenerate.
- Single deliverable. One brand guidelines PDF. Not a press kit. Not a launch package. Not a social calendar. Just the brand.
---
Brand Quality Standards
Every brand produced by this skill should meet the following standards. Generic output is a failure state because the deliverable is meant to guide real design decisions, not decorate a template.
The Anti-Generic Test
Before delivering anything, ask: Could this be a brand for literally anything else? If yes — it's not done.
Strong brand = specific product/service + clear audience model + specific point of view. Weak brand = vibes + aesthetic mood board + empty tagline. Never deliver the second.
Copy Standards
What good brand copy sounds like:
- It makes a specific claim: "Heavy wool. Made to last a decade." / "Built for one quiet hour a day."
- It has a point of view: "Not trend-led. Not mass-made."
- It can speak concretely to a reader inside a segment: "The app you reach for before checking your phone." This is copy style, not audience strategy; do not collapse the brand's audience model to only that reader.
- It creates tension or contrast: "Handmade. Overused. On purpose."
- It trusts the reader: no over-explaining, no "perfect for any occasion", no "cozy vibes"
What bad brand copy sounds like:
- "Crafted with love" / "Made with care" / "Designed with passion"
- "Perfect for any occasion" / "A timeless addition"
- "Quality you can feel" / "Designed to inspire"
- Generic taglines: "Where quality meets style" / "Wear your story"
- Hollow superlatives: "premium", "luxury", "elevated", "curated", "artisanal"
- Anything that could describe 500 other brands without changing a word
Tagline test: A great tagline could only belong to this brand. "Handmade. Overused. On purpose." is WORN's. "Just do it." is Nike's. If your tagline could appear on any random Etsy shop or Squarespace site without anyone noticing — rewrite it.
Design Standards
What editorial brand design looks like:
- Strong typographic hierarchy — one thing is clearly the most important
- Color used with conviction — large fields, not accent dots
- Photography bleeds to edges — no floating images with shadow drops
- Scale contrast — one element dominates, others recede
- Pages feel designed, not assembled
- Whitespace is intentional, not default padding
What generic brand design looks like:
- Equal-sized boxes arranged in a grid
- Body copy the same size as everything else
- Centered everything
- White background with a few colored boxes
- Photos floating in white space with rounded corners
- Font specimens that say "Font Name Here" or "Sample Text"
- Color swatches that look like a paint store brochure
Layout rule: If a page could have been made in Canva or PowerPoint in 10 minutes — it's not good enough. Every page should require design decisions only someone with taste would make.
Photography & Diversity Standards
Generated image sets featuring people should show racial diversity. This avoids defaulting every brand world to the same narrow cast.
- Default to a mixed cast across all 4+ lifestyle images: include Black, Asian, Latina, South Asian, Middle Eastern, or mixed-race subjects
- Vary body types, not just skin tone
- If only one person is shown, make a deliberate choice about who that person is — don't default to white/light-skinned
- Diversity is not a checkbox. It's a design choice that makes the brand more resonant and more honest
Photography must feel found, not staged:
- Real rooms with real lives in them (papers, plants, worn furniture)
- Imperfect light (window light, overcast, early morning)
- Film grain always — even a little
- Subjects not looking at camera unless it's a strong choice
Deck / Guidelines Design Standards
- Typography must load. Use HTTPS font URLs or inline
data:font/...sources in MCP-rendered HTML; localfile://paths are not available to server-side Chromium. Always verify loaded fonts before signing off on a render. If fonts fall back to system defaults — the deck is broken, not deliverable. - See
references/brand-guidelines.mdfor the full MCP render contract and QA rules. - Every page must have a clear visual hierarchy — one thing to look at first.
- Full-bleed photography pages should feel like magazine spreads, not slideshow slides.
- Color palette pages: full-bleed color columns, not swatches floating on white.
- Logo page: logo dramatically large, with clear variants, not timid or small.
- Voice page: show actual brand copy, not generic example copy.
- Touchpoints page: must include generated photographs of actual touchpoints — never CSS boxes.
Deliver the guidelines as one PDF, not as individual page images. Return the mcp__pika__html_to_pdf CDN URL and save a local copy when practical for the brand-kit zip.
The Taste Check
Before delivering any brand output, ask yourself: 1. Would a 25-year-old with good taste want to buy from / use / work for this brand? 2. Does the copy sound like a real person wrote it? 3. Does the design look like a real designer made it? 4. Are the photos diverse and real-looking? 5. Is there a specific point of view — something this brand stands for that another brand doesn't?
If any answer is "not sure" — improve it before delivering. Strong and specific beats safe and generic every time.
---
Load-bearing phrases
These are the anchors that keep this skill from drifting into generic brand-book output:
| Phrase | Where | Why load-bearing |
|---|---|---|
different business answer — not aesthetic variations | Step 2 directions | Forces positioning variety before visual variety. |
fonts must have character | Step 3 identity options | Prevents safe-font defaults from making every brand feel interchangeable. |
no load-bearing text on generated images | Guidelines build rules | Keeps brand claims editable and legible in deterministic HTML/PDF. |
film grain, natural light, slight imperfections | Image quality standards | Pushes lifestyle/touchpoint images away from stock-photo smoothness. |
Name a specific ethnicity per prompt | Diverse-cast recovery | Fixes the model tendency toward all-white casts more reliably than generic diversity language. |
---
Engine choice: gpt-image-2 (with caveats)
Default to gpt-image-2 at quality: "medium" for all brand imagery. Why:
- Best instruction-following for cast-diversity prompts (nano-banana-pro tends to drift toward a white default unless heavily prompted).
- Strongest no-text guardrail adherence — critical for touchpoint shots (hang tag / woven label / sticker) where any baked-in text would ruin the mockup.
- Native 3:4 / 4:3 / 9:16 ratios crop cleanly on sharp subjects without weird stretching.
Avoid nano-banana-pro for this skill — it bakes magazine-cover-style text into product shots when prompts mention "editorial." 1K from gpt-image-2 is plenty for a 1200×850 PDF page; bump to gpt-image-2's 2K tier (or escalate to seedream for higher) only if a specific touchpoint genuinely needs print-tier resolution. (4K on gpt-image-2 is 16:9 / 9:16 only — this skill's 3:4 / 4:3 ratios route to seedream if 4K is required.)
Runtime expectations
Tell the user the rough total up front — long stages without status updates feel broken.
| Stage | Time | Notes |
|---|---|---|
| Stage 0 → Step 1 (Q&A loop) | 5–15 min | User-paced; questions in one message |
| Step 2 (3 directions, text) | 1–2 min | Pure model output |
| Step 3 (3 identities + brand board PDF) | 5–7 min | 3 brand boards rendered via mcp__pika__html_to_pdf / mcp__pika__html_to_png QA |
| Step 4 image gen (8 photos via gpt-image-2 in 2 parallel batches of 4) | 8–12 min | The longest stage; each batch ≈ 4–6 min |
| Step 4 page build (15-page HTML + MCP render) | 2–5 min | mcp__pika__html_to_pdf async; mcp__pika__html_to_png previews for QA |
| Step 5 brand kit zip | 3–5 min | 4 colors × 3 logo types × 3 formats + 12 icons + tokens + fonts + prompts |
Total: ~25–45 min wall-clock excluding user response time.
---
Failure modes
| Symptom | Cause | Fix |
|---|---|---|
| Fonts render as Times / Arial in the PDF | Font URL not reachable by server-side Chromium, or @font-face points to a local path | Use HTTPS raw font URLs or inline data:font/... sources; render a one-page mcp__pika__html_to_png preview before the full PDF |
| Generated image has baked-in magazine title or watermark | Prompt mentioned "magazine cover," "Vogue," "TIME," "Bloomberg," or any real publication | Strip publication names from prompt; append the verbatim no-text guardrail; regenerate. Describe visual qualities, not publications |
| Touchpoint / lifestyle photo shows only forehead / hand-only crop | 9:16 portrait source got cropped to a landscape cell | Regen with aspect_ratio: "4:3" or "16:9" to match the cell aspect, OR change the layout to a portrait cell |
| Page overflows the 850px ceiling | Headline > 60px combined with > 3 body paragraphs on the same page | Cut content, drop headline to 48px, or split across two pages. Re-render and verify with a screenshot |
| Board technically fits but looks ugly | Too much decorative styling, tiny text, muddy one-note palette, empty mockups, or weak hierarchy | Rewrite board copy to fit the budgets in brand-identity.md, remove decorative microtype, increase body text to 18px+, add negative space/contrast, and rerun PNG + visual QA |
| Text overlaps icons/swatches/seals/mockups | Decorative or absolute-positioned elements share the same reading area as copy | Give text a clean reading column/card, move graphics behind non-text areas only, and rerender. Passing scrollHeight is not enough if a sibling graphic occludes text |
| Brand board pages feel like recolored templates | Same template reused with palette swaps | Rebuild from references/brand-guidelines.md "Brand Board Layout — Differentiate per Option" — each board's layout must physically embody its design philosophy |
| Multi-page merge fails | Trying to stitch local page PDFs instead of using MCP | Prefer one mcp__pika__html_to_pdf call with native @page, or use body_pages + shared_head so the server merges pages |
| User picks a hybrid identity ("02's palette + 01's voice") | Skill assumes single-option pick | Build a hybrid spec brief before Step 4, confirm with user before rendering 15 pages |
| PDF upload to pika MCP returns "Unsupported file type" | mcp__pika__upload_asset allowlist is images/audio/video only — no PDFs | Don't use mcp__pika__upload_asset for PDFs. Use the file_url returned by mcp__pika__html_to_pdf; optionally save a local copy |
| Lifestyle grid all-white-cast despite diverse-cast rule | gpt-image-2 defaults to lighter skin tone when ethnicity isn't named explicitly per prompt | Name a specific ethnicity per prompt (Black, mixed-race East-Asian-and-white, East Asian, Latina, South Asian, Middle Eastern) — vary across the 4 grid prompts |
Brand Directions — Reference
A brand direction is a strategic positioning angle. Each direction should be genuinely distinct — not just aesthetic variations but different answers to "why would someone buy this and what does it mean to them?"
The Most Important Rule: Differentiate on WHO and WHY, Not WHAT
The most common mistake is presenting directions that are all variations of the same thing — "soft", "quality", "feminine" — just with slightly different words. That's differentiating on what, which leads to directions that blend together.
Real differentiation comes from:
- WHO the brand is built around (the maker's personality vs. the product vs. the community)
- WHY someone buys (to feel something, to be part of something, to get access to something scarce)
- What business mechanic drives it (drops, personal brand, gifting, nostalgia, etc.)
Ask yourself: could a savvy person immediately see these as three genuinely different businesses? If not, push further apart.
Examples of Genuinely Different Directions
The Insider — built around the maker's taste and personality. Customers follow the person, not the product. Could be named after the founder.
The Heirloom — leans into nostalgia and emotional weight. The pieces feel like they have history. Precious, slow, deeply feminine.
The Drop — borrows scarcity mechanics from streetwear. Limited releases, miss it and it's gone. Creates urgency and a following around drop announcements.
The Gifting Brand — positioned entirely around the act of giving. Not "wear this" but "give this to someone you love."
The Community — the brand is a membership in a taste tribe. Customers don't just buy, they belong.
Structure for Presenting Directions
**[Direction Name]** — evocative, 2-4 words
Positioning: [What the brand stands for — one punchy sentence]
What this means: [1-2 sentences on the business model / customer relationship this creates]
Customer: [Specific and vivid — who they are, what they care about, why they buy]
Vibe: [3-4 descriptive words]
Example names: [2-3 name ideas]Tips
- Lead with the direction that feels most true to the product AND the seller's personality
- Make the 3 options feel like genuinely different businesses, not aesthetic variations
- Name the direction evocatively — "The Heirloom" not "Option B - Nostalgic"
- Be confident and specific. Vague directions lead to weak brands.
- After user picks a direction, note: the identity options in Step 3 should all sit within that direction's world — don't drift back to generic
Brand Identity Options — Reference
Each identity option is a complete creative package. When presenting 3 options, make them genuinely different in name personality, color mood, and voice — not just palette swaps.
Structure for Each Option
### Option [1/2/3]: [Brand Name]
**Tagline:** [Short punchy line — 8 words max]
**Colors:**
- [Name]: #[hex] (role: primary/accent/background/text)
- [Name]: #[hex]
- [Name]: #[hex]
- [Name]: #[hex]
**Typography direction:** [e.g. "Serif headline with clean sans-serif body — editorial and grounded"]
**Voice & tone:** [3-4 adjectives] — [One example sentence in the brand's voice]
**Logo concept — wordmark + symbol + lockup:**
A complete brand identity has BOTH a wordmark and a symbol — they're different things doing different jobs:
- **Wordmark** = the brand name in its identifying typeface. Used wherever there's room (web header, business card, packaging).
- **Symbol** = a standalone graphic mark that lives WITHOUT the wordmark. Used for app icon, favicon, social avatar, browser tab — anywhere the wordmark is too long.
- **Lockup** = how the two combine (horizontal, stacked, symbol-only).
**Whether to generate new ones depends on what the user has:**
- If the user has an existing wordmark or symbol they like — USE it. Document the existing asset in the guidelines.
- If the user is asking for a new logo, or has said they don't like their current one — propose a new wordmark and/or symbol as part of the identity option.
- If the user has a wordmark but no symbol — propose just the symbol. Brands need a non-typographic mark for app icons, favicons, etc., so a symbol is worth proposing even when the wordmark is kept.
- Whatever the source, document BOTH in the guidelines. They're both part of complete brand documentation, even when only one is new.
For each identity option, fill in:
- **Wordmark:** [How the brand name is typeset — typeface choice, custom letter treatment, spacing, ligature/cut/terminal detail, and lockup rhythm. Reference existing if kept; describe new if proposed. A wordmark is not just a Google Font typed in a brand color.]
- **Symbol / mark:** [The standalone graphic mark — shape, reference, what it evokes. For new marks, prefer a generated PNG via `mcp__pika__generate_image` with `provider="gpt-image-2"` when image generation gives a richer, more ownable mark than hand-written SVG. Ask for a clean isolated mark on transparent background, centered, no text/watermark/mockup. Use SVG only if the idea is simple enough to draw cleanly. Must read at 16×16 AND 512×512. Reference existing if kept; describe new if proposed.] **After generating a PNG symbol, always run it through `mcp__pika__remove_background` with `mode="logo"` before using it anywhere** — `generate_image` frequently returns a solid white (not transparent) background despite the prompt, which produces a white box over any colored or photo background at composite time. `mode="logo"` keeps thin strokes and sharp edges crisp. Caveat: background removal strips only the OUTER background — interior negative space (e.g. a counter inside a letterform or a gap meant to show through) is NOT made transparent, so design those gaps to be open at generation time rather than relying on the cleanup pass.
- **Lockup:** [How wordmark + symbol combine — horizontal (symbol left, name right), stacked (symbol above name), symbol-only at small sizes.]
**Brand story:**
[2-3 sentences for the About page. Written in brand voice. Real copy, not a template.]
Board-preview copy is intentionally shorter: when this story appears on the 3-option brand board, rewrite it to the board budget (~35 words max, min 2 sentences, one compact paragraph). The 2-3 sentence version belongs in the text option/About-page snippet, not the preview board. For the full guidelines foundation page, expand the story to 2-3 paragraphs of real copy in brand voice.
**Product / hero subject photography direction:**
[How the main subject of brand photography should look — for product brands: the product itself.
For service / app / community brands: the hero subject of the brand (the person using it, the
moment it serves, the artifact it produces). Be specific: surfaces, lighting, props, mood,
composition. 1-2 concrete reference descriptions (e.g. "like a Sunday farmers market table"
or "like a quiet morning before anyone else is awake").]
**Lifestyle photography direction:**
[The full visual world beyond the hero subject — what does the life around this brand look like?
Include: what environments (homes, outdoor spaces, markets, studios, offices), what kind of
people and how they're styled, what activities and moments feel on-brand, color temperature
and mood of the world, what the brand's customer looks like when they're living their life.
This should paint a complete picture someone could cast and art-direct a shoot from.]
**UI / website art direction:**
[What will the brand's digital presence actually look like? Include: layout feeling (spacious/dense,
editorial/grid), background colors, how text and images are balanced, button style (minimal/bold),
how navigation feels, any special layout details (full-bleed images, whitespace-heavy, etc.),
and overall digital mood. Reference a real website aesthetic if helpful
(e.g. "like Mejuri — very white, generous whitespace, product does the talking")]
**Example brands:**
[3-4 real existing brands that live in a similar world — not competitors, but brands that share
the same energy, customer, or aesthetic. Helps the user immediately understand the territory.
Can be fashion brands, lifestyle brands, tech brands, Instagram accounts, or cultural references.
e.g. "Entireworld, Rowing Blazers, Madhappy — brands with a strong POV and a loyal community"]Visuals (Required)
After presenting all 3 identity options in text, render a 3-page brand board PDF (one page per option, 1200×850 each) so the user can see each identity before committing. Do not generate generic AI "mood board" images — they look stocky and bad.
How to generate:
Build three 1200×850 HTML body fragments and render them through Pika MCP:
1. Use html_to_pdf with body_pages + shared_head so the server renders and merges the three boards into one PDF. 2. Use html_to_png once per board for QA previews at viewport_px: { width: 1200, height: 850 }. 3. Read every PNG preview before sending the PDF URL to the user. The check is not only "does it fit?" It must also look like a good brand board: one primary visual focal point with supporting required content grouped clearly, readable text, no empty placeholders, no muddy one-note palette, and no body copy intersecting decorative elements. 4. Run mcp__pika__analyze_media on each PNG:
- Prompt: "Answer with PASS or FAIL on the first line, then explain. Does this brand board look polished enough to send? Check for ugly density, unreadable small text, text overlap, missing/empty mockups, muddy palette, weak hierarchy, clipped text, occluded text, and required board content. Treat flat color rectangles in website/social/app mockups as empty placeholders unless they are explicitly palette specimens. Masthead wordmark/tagline/issue metadata overlays on photos are allowed only with deliberate negative space or a contrast scrim and must pass contrast QA as defined in
brand-guidelines.mdRule 5; body copy must not overlap images." - If the tool returns
{task_id, status: "running"}, pollmcp__pika__task_status({task_id})until terminal before judging. - Treat the QA as unavailable and halt with a manual-review warning if the tool is missing, raises
tool_not_found,provider_unavailable,unsupported_media_type,rate_limited,quota_exceeded,auth_error, any HTTP 4xx/5xx error envelope, or a transport error, says it cannot analyze the image, or returns final text that does not match `/^\s*[*]{0,2}(PASS|FAIL)\b/``. - Interpret only the regex capture. Fix every captured FAIL before delivery. If the captured result is PASS but the explanation lists a blocking collision, clipping, unreadable text, or missing required board content, treat it as FAIL. Do not proceed silently.
Each page MUST have a layout that physically embodies its option's design philosophy (not three template recolours — see brand-guidelines.md "Brand Board Layout — Differentiate per Option" for rules and examples).
Assets in the HTML must be server-reachable: use HTTPS URLs from Pika tools, public raw URLs, or inline data: URIs. Local files and fonts must not appear as file:// references.
Delivery: return the file_url from html_to_pdf. Save a local copy only when a downstream brand-kit export needs one.
Design rules for each board:
- Each option panel uses its own background color from that option's palette
- Brand name displayed large in that option's display typeface (loaded via HTTPS font URL or inline
data:font/...) - Color swatches shown as circles or rectangles with color names beneath
- Typography is clean and editorial — no generic fonts (no Inter / Karla / DM Sans default)
- Layout philosophy differs per board — a tabloid board looks like a newspaper, a fashion-house board looks like a lookbook spread, an archival board looks like a book frontispiece. See
brand-guidelines.md"Brand Board Layout — Differentiate per Option" for the differentiation rule andbrand-guidelines.md"Required content per board" for the per-page checklist. - No AI-generated imagery on the boards beyond the single required lifestyle mood image per board and an optional generated PNG symbol when that is the strongest logo route. No generic AI mood-board collages, AI app mockups, AI product mockups, AI seals, or extra AI filler assets.
- The whole thing should look like something a real brand studio would produce
Board copy budgets:
- Tagline: 8 words max.
- Voice sample: 14 words max.
- Brand story: 35 words max, min 2 sentences.
- World description: 22 words max, min 1 full sentence.
- Body text: 18px minimum. Labels: 14px minimum unless purely decorative.
- If copy needs to be smaller than that, rewrite. Do not shrink, layer, or cram until the board technically contains everything but looks bad.
Quality Bar
- Names: Should be memorable, say-able, and googleable. Avoid made-up words unless they're genuinely good.
- Colors: Give them real names (not "Dark Blue" — try "Ink", "Dusk", "Bone"). Specify roles.
- Voice examples: Write an actual sentence in the brand's voice (a headline, a button label, an error message), not a description of the voice.
- Logo concepts: Cover BOTH wordmark and symbol in every identity option — they're different things doing different jobs. Describe each visually — shape, reference, style. (e.g. wordmark: "a custom hand-drawn serif, slightly imperfect, like a signature"; symbol: "a thin-line greyhound silhouette, drawn mid-stride, in a single continuous line"). What you GENERATE depends on what the user has: use existing assets if the user wants to keep them, propose new ones if the user needs a logo or doesn't like their current one. For a new symbol, prefer the generated PNG route when a hand-authored SVG would look simplistic or illegible; use
mcp__pika__generate_imagewithprovider="gpt-image-2"and a transparent-background, no-text prompt, then run the result throughmcp__pika__remove_backgroundwithmode="logo"to guarantee a real transparent PNG (generated symbols often come back with a baked-in white background that becomes a white box over colored/photo backgrounds). If the user has a wordmark but no symbol, still propose a symbol — favicons and app icons need a non-typographic mark. - Fonts must have character. Don't default to Inter / Karla / Outfit / DM Sans / Lato — they have no point of view. Explore the full Google Fonts library. See
brand-guidelines.md"Font Selection — Must Have Character" for approved high-character options. - Brand story: Should make someone feel something. Name the founder's origin if appropriate.
Example Identity Option
Option 1: Thread & Tide
Tagline: Made slowly. Worn forever.
Colors:
- Bone: #F5F0E8 (background)
- Sienna: #C2714F (primary)
- Bark: #6B4F3A (text/accent)
- Sage: #8A9E85 (secondary accent)
Typography direction: Soft serif headlines (elegant, unhurried) with minimal sans-serif body text.
Voice & tone: Warm, specific, unhurried, honest — "Each clasp is set by hand, so yours might be slightly different from the photo. That's the point."
Logo concept — wordmark + symbol:
- Wordmark: The brand name in a loose, hand-drawn serif. All-caps with light tracking. Slightly imperfect, like a signature.
- Symbol / mark: A small monogram T&T inside a hand-drawn circle, like a maker's hallmark stamped into clay. Used as the standalone identity at app-icon size.
- Lockup: Wordmark above symbol-circle for primary lockup; symbol-only at small sizes (favicon, avatar).
Brand story: Thread & Tide started on a kitchen table in 2021, when beads that were supposed to be a birthday gift turned into a small obsession. Every piece is made in small batches — no two exactly alike. We make jewelry for people who want something that feels like it was made for them. Because it basically was.
Product / hero subject photography direction: Natural light only — shoot near a window, never flash. Backgrounds: raw linen, unfinished wood, or stone. Props kept to a minimum — maybe a dried flower or two, never cluttered. Mood is quiet and a little intimate, like something found at a market stall you almost walked past. Close-up shots showing texture and knot detail are essential. Avoid white seamless — it reads too commercial for this brand.
Lifestyle photography direction: The world of Thread & Tide is weekend mornings and slow afternoons. Worn while making coffee in a light-filled kitchen, sitting cross-legged on a rumpled bed, at a farmers market with a canvas tote. The person in the photos is unhurried — no poses, caught mid-moment. Warm skin tones, natural hair, wearing pieces with a simple outfit (linen, denim, nothing loud). Color temperature is warm throughout — golden morning light, never cool or blue. Nothing aspirational in a luxury sense — aspirational in a "I want that quiet Saturday" sense.
UI / website art direction: Cream background (#F5F0E8), not white — warmer and more handmade-feeling. Generous whitespace. Full-bleed photography as hero, minimal text overlaid. Body font is a quiet serif. Navigation is simple — 3-4 items max, no mega-menus. Buttons are outlined, not filled — refined and light. Product grid is 2 columns on mobile, 3 on desktop with breathing room between items. No pop-ups or aggressive CTAs. Overall feel: like a well-made independent magazine. Reference: Aesop's website energy but warmer and more accessible.
brand.md — Template Reference
This template defines the structure of the brand.md file delivered in Step 5's brand kit zip. It's a comprehensive, machine-readable brand spec that lets users (or downstream AI tools) produce on-brand work without needing the 15-page guidelines PDF.
Why this format
brand.md is the brand's portable form. Paste it into Claude, GPT, or any LLM along with a task ("write a launch tweet," "design a landing page hero," "draft an email") and the AI can produce on-brand output without the user manually re-explaining the brand. The format is intentionally:
- Scannable at the top (Quick Reference block) so an AI doesn't have to read 200 lines before producing something.
- Detailed below so the AI can dig in when a task needs more specificity.
- Markdown so it renders in GitHub, Notion, Cursor, Claude artifacts, etc.
Required sections (in this order)
1. Title + one-line description 2. Quick Reference (scannable top block) 3. Positioning 4. Target Customer 5. Mission 6. Values 7. Story (why we exist) 8. Voice & Tone 9. Colors 10. Typography 11. Logo 12. Icons 13. Imagery (Photography and/or Illustration) 14. Visual World 15. Touchpoints 16. Do & Don't 17. Reference Brands 18. Design Tokens (pointer to /tokens/ files) 19. AI Prompts (pointer to /prompts/ files) 20. How to Use This Spec
Template
# [Brand Name] — Brand Guide
> A complete brand spec. Paste this into Claude, GPT, or any AI tool along with a task to produce on-brand work. Or hand it to a designer or developer.
---
## Quick Reference
- **Name:** [Brand Name]
- **Tagline:** [Tagline]
- **One-line positioning:** [Positioning statement]
- **Primary color:** [Name] `#HEX`
- **Display font:** [Font name] (Google Fonts: [URL])
- **Body font:** [Font name] (Google Fonts: [URL])
- **Voice:** [3-4 adjectives separated by commas]
- **Logo symbol:** [One-line description — e.g. "outlined Δ delta with horizontal bar"]
---
## Positioning
[Positioning statement as a single declarative sentence.]
[1-2 paragraph expansion of what the brand stands for, what's different about it, what the wedge is.]
---
## Target Customer
[Customer name (real or representative), age, role.]
[2-3 sentence vivid description of who they are, what they care about, why they buy. Specific not demographic.]
---
## Mission
[Mission as a single sentence — the thing the brand exists to do.]
---
## Values
1. **[Value 1]** — [one-line explanation]
2. **[Value 2]** — [one-line explanation]
3. **[Value 3]** — [one-line explanation]
4. **[Value 4]** — [one-line explanation]
5. **[Value 5]** — [one-line explanation]
---
## Story — Why We Exist
[2-3 paragraphs of the brand's origin/why story, written in brand voice. This is the "about us" content — it should be real copy, ready to paste into a website.]
---
## Voice & Tone
**Adjectives:** [4 tone adjectives, comma-separated]
**How we sound:**
[1-2 sentences describing the voice.]
**Copy examples by context:**
| Context | Example |
|---|---|
| Headline | [Real example in brand voice] |
| Sub-headline | [Real example] |
| CTA button | [Real example — short, specific] |
| Error state | [Real example — warm not robotic] |
| Footer line | [Real example] |
| Social post | [Real example] |
**Words we never use:**
[Comma-separated list of forbidden words — usually marketing clichés the brand specifically avoids.]
---
## Colors
| Name | Hex | RGB | CMYK | Pantone | Role |
|---|---|---|---|---|---|
| [Name] | #HEXVAL | R, G, B | C, M, Y, K | XXX C | Primary |
| [Name] | #HEXVAL | R, G, B | C, M, Y, K | XXX C | Background |
| [Name] | #HEXVAL | R, G, B | C, M, Y, K | XXX C | Text |
| [Name] | #HEXVAL | R, G, B | C, M, Y, K | XXX C | Depth / accent |
**Primary pairings:** [Which colors go with which — e.g. "Primary on Background is the default; Primary on Text is for emphasis blocks."]
**Never:** [Color combos to avoid — e.g. "Never pair Primary with cool blues. Never tint Background gray."]
---
## Typography
**Display:** [Font name + weight], used for hero headlines at [size range]. [One-sentence note on its character.]
- Google Fonts: [URL]
**Body:** [Font name + weight], used for paragraph text at [size range].
- Google Fonts: [URL]
**Hierarchy:**
| Level | Font | Weight | Size | Line-height |
|---|---|---|---|---|
| Display | [Font] | [Weight] | 124–168px | 0.85–0.92 |
| H1 | [Font] | [Weight] | 64–72px | 0.92–0.95 |
| H2 | [Font] | [Weight] | 38–42px | 1.05–1.1 |
| H3 | [Font] | [Weight] | 22–24px | 1.15–1.2 |
| Body | [Font] | [Weight] | 16px | 1.45–1.55 |
| Caption | [Font] | [Weight] | 11px | 1.4, letter-spacing 0.28em uppercase |
**Pairing rules:** [Brief note — e.g. "Display font carries the brand. Body font supports it. Never use the display font for body or vice versa."]
---
## Logo
### Wordmark
[Description of the wordmark — typeface, treatment, custom touches, what it feels like.]
Files (in `logo/wordmark/`):
- `wordmark-[primary].svg/.png/.pdf` — for use on background color
- `wordmark-on-dark.svg/.png/.pdf` — for use on dark backgrounds
- [etc — list all variants]
### Symbol
[Description of the symbol/mark — shape, what it evokes, how it relates to the brand metaphor.]
Files (in `logo/symbol/`):
- `symbol-[primary].svg/.png/.pdf` — primary color on transparent
- `symbol-on-dark.svg/.png/.pdf` — reversed for dark backgrounds
- [etc]
### Lockup
[Description of how wordmark + symbol combine. Primary lockup (stacked or horizontal). Secondary lockups. When to use each.]
Files (in `logo/lockup/horizontal/` and `logo/lockup/stacked/`):
- [List variants]
**Clear space rule:** [Minimum space around the lockup — e.g. "Minimum one symbol-height of space on all sides."]
**Don'ts:** Don't stretch, rotate, recolor outside the palette, drop-shadow, or place on busy backgrounds.
---
## Icons
**Stroke weight:** [e.g. 1.5px / 2px / 3px]
**Corner radius:** [sharp / 2px / round]
**Line caps:** [butt / round / square]
**Style:** [outline / filled / mixed]
**Grid:** 24×24 base
**Set in this kit** (`/icons/`):
- arrow-right, arrow-down, check, close, plus, minus, search, user, settings, bell, menu, info
- [+ any brand-specific icons]
**For icons beyond this set:** Use [library name + weight] — e.g. "Phosphor Light" or "Lucide at 1.5px stroke."
Each icon SVG uses `stroke="currentColor"` so it adopts the surrounding text color in any application context.
---
## Imagery
Use this section's photography-OR-illustration block depending on the brand's medium. Delete whichever doesn't apply, or keep both if the brand is hybrid.
### Photography (if brand uses photography)
**Subject:** [Who/what is in the frame.]
**Light:** [Lighting style — direction, quality, time of day.]
**Color:** [Color grade direction.]
**Texture:** [Film, grain, composition guidance.]
**Forbidden:** [What this brand's photography never looks like — stock, studio, etc.]
**Cast diversity:** All lifestyle images featuring people must show racial diversity across the set. Vary body types. Default to mixed cast unless there's a deliberate reason for a single subject.
### Illustration (if brand uses illustration)
**Style:** [Flat vector / line art / geometric / 3D / hand-drawn / mixed. Be specific.]
**Color use:** [How brand colors apply — large fields vs accent dots, palette restraint per illustration.]
**Line / stroke:** [Stroke weight, corner radius, line caps. Or "no strokes, color fields only."]
**Character:** [Friendly / precise / playful / archival / geometric / organic. Match brand voice.]
**Composition:** [Asymmetric / centered, whitespace approach, framing rules.]
**Subject matter:** [What illustrations depict — scenes, objects, metaphors. Tied to the brand metaphor.]
**Forbidden:** [What kills the style — realistic detail in flat-vector brand, gradients, drop shadows, generic stock-illustration look, etc.]
**Reference brands' illustration style:** [2-3 brands whose illustration is close.]
---
## Visual World
[2-3 sentence description of the world the brand's imagery lives in — environments, time of day, mood, characters. Should paint a picture someone could art-direct a shoot from.]
---
## Touchpoints
The brand shows up on these surfaces. Each follows the rules above.
- **Web** — [hero treatment, color usage, typography rules]
- **Mobile app** — [UI palette and rules]
- **Social** — [tone, asset rules, posting cadence]
- **Print collateral** — [business cards, packaging, etc.]
- **Merch** — [stickers, mugs, totes, apparel]
---
## Do & Don't
**DO:**
- [Brand-specific do #1]
- [Brand-specific do #2]
- [Brand-specific do #3]
- [Brand-specific do #4]
- [Brand-specific do #5]
**DON'T:**
- [Brand-specific don't #1]
- [Brand-specific don't #2]
- [Brand-specific don't #3]
- [Brand-specific don't #4]
- [Brand-specific don't #5]
---
## Reference Brands
These brands share the territory. They're not competitors — they're cultural reference points the brand can borrow energy from.
- **[Brand]** — Borrow: [what to learn from them]
- **[Brand]** — Borrow: [what to learn from them]
- **[Brand]** — Borrow: [what to learn from them]
- **[Brand]** — Borrow: [what to learn from them]
---
## Design Tokens
Machine-readable versions of all visual tokens (colors, fonts, spacing, radius, shadow) live in the `/tokens/` directory:
- **`tokens/tokens.css`** — CSS custom properties. Drop the `:root { ... }` block into your stylesheet and reference as `var(--color-primary)`, `var(--font-display)`, etc.
- **`tokens/tokens.json`** — same content as JSON. Useful for AI tools, build pipelines, or any non-CSS context.
- **`tokens/tailwind.config.snippet.js`** — paste inside your `tailwind.config.js` `theme.extend` block. All brand tokens become Tailwind classes (`bg-primary`, `text-text`, `font-display`, `rounded-lg`, etc).
The token names match this spec — don't rename them or they'll fall out of sync with the rest of the brand documentation.
---
## AI Prompts
Pre-built prompts for common downstream tasks live in `/prompts/`:
**Copy prompts:**
- **`prompts/system-prompt.md`** — paste at the top of any Claude or GPT thread to prime the model on this brand's voice + visual identity. Then add your task below.
- **`prompts/tweet.md`** — task starter for writing tweets in brand voice
- **`prompts/landing-hero.md`** — task starter for landing page hero copy (headline + sub + CTA)
- **`prompts/email.md`** — task starter for marketing or transactional emails
- **`prompts/error-message.md`** — task starter for writing warm-but-specific error/empty/loading states
**Image prompts:**
- **`prompts/photography.md`** — task starter for generating brand photography via gpt-image-2 (or similar). Includes the brand's exact photo direction (subject / light / cast / texture), banned cliché concepts list, anti-stock guardrails, the no-text safeguard string, and subject substitutes for "person at laptop" defaults.
- **`prompts/illustration.md`** — *(only present if the brand uses illustration)* — task starter for generating brand illustrations. Includes the brand's illustration style rules, palette constraints, banned elements (gradients, drop shadows, etc.), and when to use illustration vs photography.
These prompts encode the brand voice rules from this spec into instructions the model will follow. Use them when you want consistent on-brand output without re-explaining the brand each time.
---
## How to Use This Spec
**With an AI tool (Claude, GPT, etc.):**
1. Paste `prompts/system-prompt.md` (or this whole `brand.md`) at the top of a new thread.
2. Add your task — "Write a launch tweet" / "Design a landing page hero" / "Draft an onboarding email."
3. Or use a specific task starter from `/prompts/` for the most consistent output.
4. Verify the output against the Do & Don't section before shipping.
**With a designer:**
- Hand them the `brand.md` + `/logo/` + `/icons/` directories. They have everything they need.
**With a developer:**
- Point them at `/tokens/` first. CSS variables / JSON / Tailwind config — pick whichever matches their stack.
- The icon SVGs in `/icons/` use `currentColor` for stroke so they inherit color from context.
**For self-checks:**
- Before delivering anything in this brand's voice, re-read the "Voice & Tone" section.
- Before delivering anything visual, re-read "Colors," "Typography," "Icons," and "Imagery."
- Always check the Do & Don't list last.
---
*Generated [DATE] by the build-a-brand skill. Update this file when the brand evolves.*Filling guidelines
- Quick Reference must be scannable in 5 seconds. Don't bloat it.
- Voice copy examples must be REAL on-brand sentences, not placeholders. Pull from the guidelines PDF's Voice & Tone page.
- Colors table needs Pantone if you have it; mark as "—" if not specified.
- Typography Google Fonts URLs must be the actual
https://fonts.google.com/specimen/[Name]link, not the embed URL. - Logo file lists must match exactly what's in the zip. If a variant doesn't exist, don't list it.
- Reference brands with "borrow this" notes — the same content as the guidelines page 2.
- How to Use — the most important section for downstream usability. Tell the user how to actually apply this spec.
What NOT to include
- Don't include the full 15-page guidelines verbatim. The brand.md is the SPEC, not the manual. Keep it tight.
- Don't include marketing fluff. Every section should be either directly usable copy or actionable rules.
- Don't include build mechanics (WeasyPrint quirks, prompt templates, etc.). Those are skill-internal.
Related skills
How it compares
Use Build a Brand for identity and guidelines only; use commerce or ads skills when storefronts and paid creative production are the next step.
FAQ
What does build-a-brand do?
>
When should I use build-a-brand?
>
What are common prerequisites?
--- name: build-a-brand description: > Build a complete brand identity and guidelines PDF from any input - an idea, an existing website, a list of reference brands, product photos, or "I want to rebrand X".
Is Build A Brand safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.