Brand Identity logo

Brand Identity

Community
fatihaydost
brand-identity

Brand identity sets from one brief - logo, typography and colour palette built together, measured (contrast, colour blindness, glyph coverage, font licences, small-size logo renders) and compared side by side as identity cards, shown on the user's own site, then a brand guidelines kit (PDF, logo files, tokens) for the chosen set. Use for a new brand or any part of one (logo, fonts, colours, or a mix), for refreshing an identity, or for critiquing one, even if the user only says "branding".

Overview

Publisherfatihaydost
Repositorybrand-identity-skill
Skill namebrand-identity
Stars
170
Forks
11
Bundled files
77
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 77 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by fatihaydost on GitHub. Read the source before you install it.

Installation

Install the Brand Identity AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/fatihaydost/brand-identity-skill/tree/main/skills/brand-identity
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/fatihaydost/brand-identity-skill.git /tmp/brand-identity-skill
mkdir -p .claude/skills
cp -r /tmp/brand-identity-skill/skills/brand-identity .claude/skills/brand-identity
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Brand Identity in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Brand Identity on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Brand Identity is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Brand Identity

You are the designer. Scripts measure what is broken; you decide what is good. Every claim you make about a colour, typeface or mark is either measured by a script or labelled as judgement.

1. Intake: one message, only what blocks you

Ask in one message (skip anything the user or their site already answered):

  • For logo, type, palette each: new · refresh (they have one, evolve it) · keep (use as-is) · none.
  • How many sets: 3 (default), 2, 1 or 4.
  • Site URL or files; languages the brand writes in; does the product show numbers.
  • Only if still unknown: sector, audience, three attributes, 3–5 competitors.

With a site, run site extract first and ask only about what it could not tell you. Details: references/discovery-brief.md.

2. Flow and turn plan (~16–20 turns to the checkpoint)

Scripts: python3 <skill>/scripts/brand.py <command> (--help on each). Put independent commands in one turn. With uv the scripts fetch their own packages; if check lists missing ones, give the user its install line.

  1. check + init NAME --sets 3 --langs en,tr [--numbers] [--site URL] [--state logo=keep …] --sector … --audience … --attributes a,b,c --competitors x,y --tagline … --sentence en='…' --sentence tr='…' --nav A,B,C --cta … [--source logo=file.svg --source palette=#hex,#hex] (one turn). Sentence (one per brand language), nav and CTA are real brand copy for specimens and mocks, in the brand's voice. --source gives the asset of a keep/refresh part.
  2. Read references/cohesion.md, type.md, logo.md, ai-defaults.md, and color.md when a palette is wanted (one turn, ≤ 24 KB). Other cards only when their topic comes up.
  3. fonts search --class … --exclude-defaults and site competitors WORK url… when there are competitors.
  4. Write all sets in one sets.json (format: templates/sets.example.json): per set the identity fields, a partial palette (brand[] seeds, name, direction) and the symbol SVG inline.
  5. logos WORK → look at the contact sheet → fix one defect per mark (name it in logo.defect) → logos WORK → look. Two rounds; a third only to clear a gate or a cliché reading. Letter positions for details are in sets/X/logo/build/wordmark-glyphs.json.
  6. build WORK → look at review.png (not board.png, the user's large copy) → fix gates (re-run only the failing set with --sets X).
  7. Present the checkpoint (§5) and stop. Never pick for the user.
  8. After the pick: add 1–2 misuses of this mark (references/kit.md), then kit WORK/sets/X (--full for the long kit). Say which files are where.

mix WORK A:logo A:type B:palette --as D when the user asks for parts of different sets. critique for an existing identity (references/critique.md).

3. Making the sets

  • One mechanism per set: a single visual idea that produces the mark, the type choice and the palette together. Write it as one sentence before choosing anything. One expression move: the only loud thing.
  • Pick 2–4 decision axes for this brief and place each set on them (−2..+2). Sets should stand apart on at least two axes; inside a set the three parts sit at the same position.
  • Differentiate against the user's real competitors, not a generic list. Say in differs_by where the set stands apart.
  • Reflex test: for each font, colour and mark idea ask "would I propose this for another brand in this sector?" If yes, justify it from the brief in defaults_used[] (id = the flag's id or its logo tag) or change it. At least one set uses nothing from ai-defaults.md. "Feels warm" or "feels premium" is not a reason.
  • keep parts are constraints: build the new parts to fit them. If a kept part clashes, say so as a suggestion; never change it.
  • Mark recommended: true on the set you would defend, and know why.
  • Write all free text (names, mechanism, concept, rationale, labels) in the document language (init --doc-lang).

4. Component craft

Logo (references/logo.md): a mark identifies, it does not explain. Write 4–6 one-sentence ideas per set, build one. Draw the symbol on a 100-unit grid from filled primitives; use data-op="subtract|union|intersect" for cut-outs and data-color="<palette role>" for colour; never <text>. Wordmarks come from the set's display face automatically; set case, tracking (1/1000 em) and tags (structure vocabulary in ai-defaults.md). Look at 16 and 32 px every round. Add symbol_small_svg when the mark clogs at small size. A wordmark-only set still needs (1) one ownable detail drawn on the outlined type with wordmark_detail_svg (wordmark coordinates: cap top y=0, baseline y=100, x in data-advance units; each shape is a data-op step, data-glyph="n" limits it to the n-th character) and (2) a designed small mark (symbol_small_svg or logo.monogram) for 16–48 px. Plain type with a first-letter favicon reads as stock. A detail shape with its own data-color stays a separate colour; data-glyphs elements take data-wght/data-opsz for a sturdier small cut. Role names resolve to UI tones; brand ids (brand-1) keep the exact brand hex; a main part under 3:1 on a ground is drawn in that ground's ink. app_icon_svg (100-unit grid) lets the tile be part of the icon. When the idea is a dark or coloured surface, set card.ground (dark or a role / brand id) so the card shows it.

Type (references/type.md): display carries the voice, text carries the reading. Pin every variable axis in location (large opsz for display, text size for text). Prefer Google Fonts (OFL); Fontshare is link-only; for a commercial face give the licence note and a rendered free alternative.

Colour (references/color.md): colour = hue + chroma + lightness + ground. Seeds go in the partial palette; palette_build options in identity.palette_build (extra: "#hex:Name:usage" for a colour with its own job). Logo colours are palette roles, never raw hex.

5. Checkpoint message (then stop)

Show the board image path and, per set, in this shape:

### A — <Set name>   ← recommended
<Mechanism, one sentence.> <Where it differs from the competitors.>
Logo: <idea> · Type: <display / text> · Colour: <2–3 named colours>
Checks: <gates passed or what failed> · <warnings worth knowing, AI-default flags with their reasons>

Then: "Pick a set (or ask for parts of different sets). I'll build the guidelines kit for it."

6. Honesty

  • Gates are measured failures: contrast, licence, glyph coverage, file validity, renders. Warnings are uncalibrated heuristics; say so when you mention them. In rationale[], evidence is measured (a script or site reading), judgement (yours), or the research levels strong | limited | practice.
  • Never claim a colour or font "converts" or "builds trust"; associations are weak and contextual.
  • Do not show a set you would not defend. Do not fake approval. Mock data is labelled as such.

7. Reference map

CardRead when
cohesion.mdevery Create run (axes, mechanism, mixing)
type.md · logo.md · ai-defaults.mdevery Create run with that component
color.mda palette is new or refresh
discovery-brief.mdintake is unclear
site-preview.mdsite extract or apply misbehaves
kit.mdafter the pick
accessibility.md · reproduction.md · tokens-export.mdcontrast questions · print · developer hand-off
critique.mdCritique mode

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

and 17 more files.

Frequently asked questions

What does the Brand Identity AI skill do?

Brand identity sets from one brief - logo, typography and colour palette built together, measured (contrast, colour blindness, glyph coverage, font licences, small-size logo renders) and compared side by side as identity cards, shown on the user's own site, then a brand guidelines kit (PDF, logo files, tokens) for the chosen set. Use for a new brand or any part of one (logo, fonts, colours, or a mix), for refreshing an identity, or for critiquing one, even if the user only says "branding".

Why use Brand Identity on TypingMind?

Because you install it once and use it with any model. Brand Identity is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Brand Identity in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/fatihaydost/brand-identity-skill/tree/main/skills/brand-identity. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Brand Identity?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Brand Identity?

As many as you like. As long as a model supports skills, you can use Brand Identity with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Brand Identity AI skill free?

Yes. It is published on GitHub by fatihaydost under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇