Skip to content
~/shared

Brand identity

Design a brand from scratch — palette, logo, production assets, and a written brand guide — through a guided phase-by-phase process.

updated
2026-08-15
files
7
size
34.1 kB
bundle
f58400eabb4c
tags
design · branding · assets

[1] install

Paste this into any agent with network and file access. It installs to~/.agents/skills/brand-identity/ and verifies every file against the manifest.

prompt · brand-identity
Install the agent skill "brand-identity".

1. Fetch https://share.soft.pw/skills/brand-identity/manifest.json
2. Pick the install root: ~/.agents/skills if ~/.agents exists or can be created, otherwise ~/.claude/skills.
3. Build the bundle in a temp directory there (".tmp-brand-identity"): create it, then download every entry in "files" to its "path" using the given "url".
4. chmod +x any file whose "mode" is 0755.
5. Verify every downloaded file against its sha256. On the first mismatch, delete the temp directory and report the failing path — do not continue.
6. Move the temp directory to <install root>/brand-identity/, replacing any existing copy.
7. Read brand-identity/SKILL.md, then reply in one line: when you will use it and what you need from me. Do not run the skill yet.

[2] when it triggers

[3] before you install

[4] what it does

What it does

Turns a vague identity request into a decision-complete brand: a color palette with stated roles, a logo or wordmark drawn as real vectors, exported production files, and a brand guide that someone else can implement from. The skill runs as an interactive process — it asks the questions whose answers it cannot invent (audience, tone, existing constraints) instead of silently guessing.

How it runs

  1. Design intent — audience, positioning, tone, what the mark must survive (one color, 16px, embroidery).
  2. Color palette — roles and contrast checked, not a swatch list.
  3. Logo — construction on a grid, wordmark or mark, drawn as SVG.
  4. Production — SVG → PNG/WebP at named sizes, plus favicon and social tile.
  5. Licensing check — fonts and any traced material verified before shipping.
  6. Documentation — the brand guide, with the rules that keep future work consistent.

What you get

Source SVGs next to their exports, a favicon set, palette values in the format your stack needs, and a guide covering usage, spacing, and prohibited treatments. Bundled assets include scripts/generate-raster.sh (librsvg + webp) and scripts/outline_glyphs.py.

[5] bundle

pathbytesmode
SKILL.md108270644
assets/alphablue-example.md36640644
references/color.md37100644
references/logo.md43940644
references/production.md45620644
scripts/generate-raster.sh11100755
scripts/outline_glyphs.py66590755

download .zipmanifest.jsonraw SKILL.md

[6] read SKILL.md verbatim
---
name: brand-identity
description: >-
  Design a brand's visual identity from scratch — color palette, logo/wordmark,
  production-ready asset files (SVG/PNG/WebP + favicon), and a brand guide — through
  a guided, interactive process. Use this whenever the user wants to create or refine
  a brand: "design a logo", "make a color palette", "I need a brand kit / visual
  identity / brand guidelines", "pick brand colors and fonts", "rebrand my shop",
  "我要做一个 logo / 配色 / 品牌识别 / VI". Especially for small and medium local
  businesses, shops, startups, and products. Trigger even when the user only names one
  piece (just a logo, or just colors) — the skill scopes to what they need. Do NOT use
  it for merely applying an already-decided brand to a page (that's implementation), or
  for data-visualization color scales (use a dataviz skill for that).
---

# Brand Identity

Build a small business or product's visual identity the way a thoughtful studio would:
decide the *feeling* first, design a disciplined **color palette**, craft a **logo** with a
real concept, then produce **font-independent asset files** and a **brand guide**. Work
*with* the user — this is a conversation with visible options at each step, not a one-shot
dump.

## The one idea that makes brands feel designed

**Contrast + restraint + one spark.** A brand reads as "designed, premium, alive" when it is
mostly calm (a neutral base + one anchor color) with a single small, deliberate accent doing
the emotional work. The opposite — many colors at equal weight and full saturation — reads
cheap. Hold this in mind through every phase; it drives the palette structure, the logo, and
where the accent is allowed to appear.

## Process overview

Six phases. Move through them in order, but stay flexible — if the user only wants a logo,
do 1 → 3 → 4 → 6. Confirm the output of each phase before spending effort on the next.

1. **Design intent** — pin the feeling and 2-3 directional choices.
2. **Color palette** — the 3-part formula, shown applied, iterated.
3. **Logo** — motif → concepts → refine → decide.
4. **Production** — outline glyphs to paths, generate the variant set, rasterize.
5. **Licensing** — confirm the font is free for commercial + logo use.
6. **Documentation** — a brand guide capturing colors, logo rules, type, assets.

Render options **visually and inline** at every design step (see "Showing your work" below).
The user should react to things *applied and on screen*, never to a list of hex codes.

---

## Phase 1 — Design intent

Before any color or shape, get the target *feeling* into one sentence, plus a few
constraints. This is what everything else is judged against, so it is worth 3 minutes.

Write a one-line intent with the user, e.g. *"a living, modern web — warm and human,
deliberately not cold corporate SaaS."* A good intent names both what to be **and what to
avoid** (the "not X" is what keeps you off the generic path).

Then ask **2-3 directional questions** (use a quick multiple-choice question if the tool
supports it). Pick the ones that actually change the outcome:

- **Typography feel**: modern grotesk (techy, confident) · editorial serif (warm, has taste)
  · humanist/clean sans (neutral, safe). This sets the first impression.
- **Color boldness / anchor**: keep an existing/expected brand color, or go somewhere less
  obvious? How much "life" vs. how conservative?
- **Motion / expressiveness** (only if the identity will live on a website): restrained,
  medium, or none.
- **Language coverage**: which scripts must the type support now and later (e.g. EN now,
  Thai/CJK next)? This constrains font and fallback choices — decide the architecture early.

Do not proceed until the intent sentence feels right to the user. Everything downstream
inherits it.

---

## Phase 2 — Color palette

Read `references/color.md` for the full method. The essentials:

**Structure every palette in three roles** (name them for the user):
- **Neutral base** — page backgrounds, tints, borders. Give it a temperature that matches the
  intent (warm "paper" neutrals read human; cool greys read clinical). This is where most of
  the surface area lives, so it sets the mood more than the accent does.
- **Primary / anchor** — the trust color: actions, links, focus. Usually the "expected" brand
  color if there is one.
- **Spark accent** — one energetic color for **small areas only**: marks, underlines, stars,
  numbers, hover, a logo detail. Never large fills. Its power comes from scarcity.

Build a small **ramp** for each role (a few steps light→dark) so there are real tokens to
build UI with, not single colors. Include semantic notes (which step is text, which is
border, which is a tint fill).

**Show it applied, then iterate.** Render (a) the swatch ramps *and* (b) an in-context preview
— a dark hero with the anchor+spark as a glow, a primary button, a light card with the accent
as a small detail. Seeing colors *used* is the only way the user can judge them; a swatch grid
alone hides how they'll actually feel. Take feedback ("the accent feels cheap", "too warm")
and adjust chroma/temperature — `references/color.md` has the moves.

Lock the palette (hex values for each ramp) before starting the logo — the logo uses these
colors.

---

## Phase 3 — Logo

Read `references/logo.md` for the full method, including the failure-mode fixes and how to
give an objective evaluation. The spine:

1. **Find a motif**, not just a nice letterform. Mine the business name, what it does, and any
   double meaning. The AlphaBlue example used `<AB/>` — a code tag that means both *code* and
   *A/B testing*. A concept the user can retell in one sentence beats a generic monogram.
2. **Generate 3-4 distinct construction concepts** and render each **on both light and dark**.
   Vary how literal vs. abstract, and what carries the idea (a symbol, a wordmark, a tile).
3. **Narrow to one direction**, then produce **refined executions** that fix its specific
   problems. Common fix, worth memorizing: a **cold + warm two-color mark at equal weight and
   full saturation looks cheap** — resolve it by deepening/muting both colors to share one
   value, or by demoting one color to a single small accent.
4. **When the user is torn, give an objective, principled evaluation** — don't just pile on
   more options. Useful principles: a logo need **not literally depict its name** (name-color
   matching is a weak, decorative idea); distinctiveness comes from **contrast with the
   surrounding UI, not matching it**; *restraint + one deliberate spark* is the premium
   formula. If the name-color still matters to the user, resolve the tension by keeping the
   **mark** restrained while the literal name-color appears only in the **wordmark lockup**.

Confirm the final direction and its exact colors before production.

---

## Phase 4 — Production

Read `references/production.md`. Goal: **font-independent** vector assets (outlined paths, so
they render identically everywhere with no webfont), plus rasters for the web/app.

Use the bundled scripts — they encode the pipeline so you don't reinvent it:

- **`scripts/outline_glyphs.py`** — download the chosen font, instance a variable font at the
  target weight, and extract the needed glyphs as SVG `<path>` data via fontTools. It has a
  `CONFIG` block at the top: set the font, weight, and a list of asset specs (each = text +
  per-glyph colors + output name). Copy it next to your work, edit CONFIG, run it. It also
  builds a favicon tile. Needs a venv with `fonttools brotli`.
- **`scripts/generate-raster.sh`** — rasterize every SVG in a folder to multi-size **PNG**
  (`rsvg-convert`) and lossless **WebP** (`cwebp`). Re-runnable after any SVG edit.

Produce the standard **variant set**:
- Symbol **mark**: light, dark, and mono (`fill="currentColor"`).
- Horizontal **wordmark lockup**: light and dark. (If a name-color lives anywhere, it's here.)
- **Favicon tile**: a compact **2-3 glyph** mark in a rounded tile — legible at 16px. Do *not*
  cram a wide full logo into a square; pick the smallest recognizable fragment.

**One canonical asset folder is the single source of truth** (e.g. `assets/brand/` at the repo
root: source SVGs + `png/` + `webp/` + the raster script). Apps that need the assets
**symlink** to it — never re-copy, or the copies drift.

---

## Phase 5 — Licensing check

Before shipping, confirm the font may be used commercially and in a logo. Most good free fonts
are **SIL Open Font License (OFL) 1.1** (e.g. Space Grotesk, Inter): free for commercial use,
logos explicitly allowed, and outlined glyphs count as artwork (not "font software"), so the
mark is unrestricted. The only real rules: don't sell the font by itself, and don't release a
*modified font* under a reserved name. If you self-host the webfont, ship its `LICENSE`.
Read the actual license from the font file's metadata rather than assuming —
`references/production.md` shows how.

---

## Phase 6 — Documentation

Capture the decisions so the brand stays consistent as it's used:

- **Color tokens** — every ramp with hex values, plus the usage rules (anchor = actions;
  spark = small accents only; base = surfaces).
- **Logo** — the variants, minimum size, clear-space, and a short do / don't list.
- **Typography** — display + body families and per-script fallbacks; the OFL note.
- **Asset locations** — where the canonical files live and how to regenerate rasters.

A single markdown brand guide is enough for most SMBs. If the user wants something polished
(a typeset VI memo / PDF), a document-typesetting skill can format it — but the content above
is the deliverable.

---

## Showing your work (rendering options inline)

The whole method depends on the user *seeing* options, so use whatever inline visual surface
the environment offers — a visualization widget, an HTML artifact, or a rendered SVG/HTML
preview. For palettes: swatch ramps **plus** an applied mockup (hero, button, card). For
logos: each concept **on both light and dark** backgrounds. If no rich visual tool exists,
write a self-contained HTML file and tell the user to open it. Never substitute a wall of hex
codes for a rendered preview — the entire value of this skill is judging design *applied*.

## A worked example

`assets/alphablue-example.md` is the full AlphaBlue run (a local-business web studio): the
intent sentence, the final palette hex values, the `<AB/>` logo decision and the reasoning
that resolved a "cheap clash" and a name-vs-mark tension. Read it to see the method in
practice — but treat its specific colors/fonts as *one instance*, not defaults. Every business
gets its own intent, palette, and motif.