← Search

Brand Identity
Design 📌 Pinned version: commit 532742d
🔎 Install prompt analysis · 2026-10-23 : runs commands · uses API keys or tokens
⚙ Needs: Before you start: read this whole install prompt…

Brand Identity

Design a brand identity as one system: logo, typography and colour palette built together from one brief, measured for contrast, colour blindness, glyph coverage, font licences and small-size logo...

At a glance
What
Design a brand identity as one system: logo, typography and colour palette built together from one brief, measured for contrast, colour blindness, glyph coverage, font licences and small-size logo...
Cost
Free
Needs
Before you start: read this whole install prompt, tell me in a few lines what this skill does and what installing it involves, and wait for my go-ahead before you do anything else.
Install
Copy the installer prompt below into your Muse — your agent does the rest.

Version:

⌁

Install

Copy the install package below, then paste it into Muse📌 Pinned version: commit 532742d

Before you start: read this whole install prompt, tell me in a few lines what this skill does and what installing it involves, and wait for my go-ahead before you do anything else. Prerequisites: none for the install itself: no account, no API key, no paid service, and nothing else to install first - installing is only copying one folder, verified against the fingerprints below. Using the skill afterwards needs Python 3.10 or newer, a Chromium browser (Chrome, Chromium, Edge or Brave) and, ideally, uv; with uv, the scripts fetch their Python packages (fonttools[woff]>=4.50, uharfbuzz>=0.40, skia-pathops>=0.8, from the repository's requirements.txt) from PyPI into a cached environment on first use, and a pip venv under ~/.cache/brand-identity/ is the documented fallback. Do not install any of that during this install: it is my decision, later, when I actually design a brand. Install "brand-identity" for me. It designs a brand identity as one system: logo, typography and colour palette built together from one brief, measured for contrast, colour blindness, glyph coverage, font licences and small-size logo rendering, compared side by side as identity cards, previewed on my own site if I give its URL, then handed over as a brand guidelines kit (PDF, logo files, design tokens) for the set I pick. It also has a critique mode for an existing identity. It builds 3 sets by default (up to 4), stops at a checkpoint, and never chooses for me. Repository: https://github.com/fatihaydost/brand-identity-skill (the skill is the skills/brand-identity/ folder of the repository at the pinned commit) Pinned version: install the code at commit 532742d7477dba3b744433adf92845642953dc28 exactly. Do not substitute a newer version. If this commit is unreachable, stop and tell me. 1. Clone https://github.com/fatihaydost/brand-identity-skill into a temporary folder, check out commit 532742d7477dba3b744433adf92845642953dc28, and copy the skills/brand-identity/ folder from that checkout. Then compare every file with the fingerprints recorded for this listing on 2026-10-19: [FINGERPRINTS] - LICENSE: SHA-256 e5752c117331230800416425ef6ac33d214747e6509a2241d93d76ab9d8b8d6e - SKILL.md: SHA-256 3a94503fcc5b149c78e74b71d260ea3470d0804dc2aaef8d1e37dd67f7cd3a83 - assets/ai-defaults.json: SHA-256 252ca7f8e4be61435f107987e20295bcd9098a7c0c1fcfb8e5a80a975f2f02ac - assets/fonts/catalog.json: SHA-256 93ae9d0dd623ad5e20bf959124d36b91fd561be44e0c9bc02b75c5378f989492 - assets/fonts/gf-latin-core.txt: SHA-256 5dbe7a97649ea3c811c40dd70e0c53802ef111050eac70aa4b6194565510ed64 - assets/i18n/en.json: SHA-256 9d9fe709b3d51a398c51242e62c0b090d9da4e72755fa295484f31dbf1ea7752 - assets/i18n/tr.json: SHA-256 b01f80f5abeb4c2c77fa36ee32ec6b6072230b0fa5f7cc57e23ad80082fa9071 - assets/languages.json.gz: SHA-256 e5b82892e78e45e08bae7845744f3f26a5801f2b6ea7deeee4d0ec470a6ea3a1 - assets/library/catalog.json: SHA-256 5051b66673d230ee1effab9739755a53ca9c22ea008e6bcc72a0ba466f282e2e - assets/library/classifications.json: SHA-256 907e70e35ff57953fcac3deede595238fe915a9432049504808f3969e57707ae - assets/library/gallery.html: SHA-256 a46745360f992d2c4a08ad1193b9647aa947fb13696c697de1d57bb7cfe78d2e - assets/library/stats.json: SHA-256 6d7cf233156f84fb31a0a69b5b480ee98c9d32d3ccea5092daac0b90e370d275 - evals/evals.json: SHA-256 21e3a3d435762e314d751164cf56a3a8fc7db22073d4fd954fe21882bb142369 - evals/trigger-evals.json: SHA-256 b98bafc1dc396519675524594e0c1a1156423ed16a8d479ab15f99da13c6e56a - references/accessibility.md: SHA-256 ae9b1a05a983c76b1dc084d09371acff29e6833dc7776e4f8e4d49ebcd4e0d42 - references/ai-defaults.md: SHA-256 dbcd0b40a25be5f75bdb3cde81359fd38f7b365d73807ffa04398e3f504d21f4 - references/cohesion.md: SHA-256 158f6c5512281dc05dab7494db4b76377b3322b868d8490e07ef0e6b55622d10 - references/color.md: SHA-256 dc1d1245216f8e14ed3144716769361ad05ae896fe213f4b26a5ca7e9010bf0c - references/critique.md: SHA-256 56f3476fb5844cdf63b08ce3d13cbb478a7995b05306077c188b1af5006834bc - references/discovery-brief.md: SHA-256 c3d559d5bbf6b7e582c4b9c555bfd0335d7404853edd7addd42e7dfbb26419ef - references/kit.md: SHA-256 d5226b36586272f8bede6f9baab06aeb9ddf02f7ee076360b11446e28c685f13 - references/logo.md: SHA-256 b79656a8198863ffd5600bb650b778f0012f4f40da1c304f40fc7a5ad7155b5c - references/reproduction.md: SHA-256 3ae5f0d6ce891d6fb58f97131c5563e25ff727b66f3415128dbb9a5338019dea - references/site-preview.md: SHA-256 d1e179620ffb56d1aa1b299c0bedb52e08a4843141019afd95bb839ff4d4e51b - references/tokens-export.md: SHA-256 56073f4db409907d73e9e68c50d116de236ecc1d8ece3246b4ece953f43d4223 - references/type.md: SHA-256 c813a8bfecd9719942c77f99f6dffca907423a165d22b0149fc413ae90eba648 - scripts/brand.py: SHA-256 4353dffbd5b71e84e0b0c089eaf22fb8fe3a761b2bb42bb1c3f517464d83c9af - scripts/build_catalog.py: SHA-256 a1c57773d3afb18a8517d120fb33524c8f880ba01665b4b69830caa63cef039f - scripts/cdplib.py: SHA-256 93a59f151991fe63896562129282bfa2d0c5db9e9cf29b7b08a8ba4691c3a428 - scripts/colorlib.py: SHA-256 13bb3cc730212b790093ad4a30d2e3ac98e6f1db818864c677071f52a06aa2bd - scripts/export_tokens.py: SHA-256 844d7219be95db4d7945ded50c4d64d0f1fd94ec12d0690dfa070a1b8ec35126 - scripts/font_audit.py: SHA-256 d8c1b8a7bc50b158b6ac8176ac34d6f2b15e00366c9c82cc49df294c5c0d7e8a - scripts/i18nlib.py: SHA-256 33b72e03848afdc80a4c0b0c7dc77843fad884202b3045928f543584cd2d2efd - scripts/identity_board.py: SHA-256 2a77f1825323c91747ead826f9c1f54c0bc2a03117c8cefdf62f1701420274d0 - scripts/identity_card.py: SHA-256 136782c24fe4f187b99a617b9e531cdbeac8571f7cddf353ee6139c03115d503 - scripts/identitylib.py: SHA-256 717857c54179f5a6fee29c444142694c45d4c19b7734596e87bc1c9aebc987aa - scripts/kit_build.py: SHA-256 0b2a62715cfa04d7008990103fee9c6c74e94d0729b33df4de23f827fa214cd3 - scripts/logo_audit.py: SHA-256 14a27d38c04a889d8665a2e128e2151ed9ef0902702ce8fb5b397cda87f7b551 - scripts/logolib.py: SHA-256 8b93bb6c50b7ac101b4228a72f6e0c7995bbe6788bd0f439e30eb11745db6394 - scripts/palette_audit.py: SHA-256 a275ff21afa4d64bfa9d6037c718a116f5b00b8f2eaf8d6034d0062d89176b1d - scripts/palette_board.py: SHA-256 127b90106f966c9755d2fb5e6e9c4afb007eebf3d6bb3c11680aae3baf0d0f77 - scripts/palette_build.py: SHA-256 ac0be8f3c64131555025edac746af48c689a703c656460e13e7982576fe85968 - scripts/pipeline.py: SHA-256 291ea431bd18a2f65f2fd49efad082b6c10777a6b30c5317bd731bc744e60a59 - scripts/presentlib.py: SHA-256 74ee9db06aad5aee5fda6343d7303709f8f452edb47e288f6b5db3ce95c7d5ca - scripts/pydeps.py: SHA-256 8f9c78071e67365a6b878f941ba3bab4382d76a00af0b5adaf00cf8dd8f67139 - scripts/render_png.py: SHA-256 6bef3b0db054442aba8a150db5cb78f0e5a1af0bf2bab54b6cb6e5ea8166573d - scripts/search_library.py: SHA-256 77d0a4813d7fbbc8105292f15a567979496d35578c6965681a3c66112dd8d41f - scripts/site/README.md: SHA-256 f6924b56c0c09765e9d45d70e941fdda3ddd37b255caa9cff9c4d320f531ccdf - scripts/site/selftest.html: SHA-256 2fa445a8a797b6b5262510feb77584a6808720256165761da9cc3fa9e2b94bff - scripts/site/site_engine.js: SHA-256 fd6e95bcf34a037d617c5015d8cd80f2765d805232eb7bce615972d9cdc5f233 - scripts/site_palette.py: SHA-256 7939fdfdd2b01501ee2a6c3d67e4f918af9b9c8ffa15c332c46da7b28eebced9 - scripts/site_preview.py: SHA-256 7ef6041d5944eb3871fb9581209dfd2a18093ac501c87f7c8469516d4c41ce32 - scripts/typelib.py: SHA-256 db1ebab6270f089d2013819ee379ca2106466dbe13d68564f864d1353c8b99ee - templates/board/board.css: SHA-256 314bcb794700822054963ced2bbc656e79cfd4664346ef3982f2622e720658c8 - templates/board/board.html: SHA-256 332caae3a97e35e00dfcc68412edc16775e9ba0030181183d35ce324faedc3c5 - templates/board/review.html: SHA-256 bdeb532737c3a980a66345e29845e75521541c5938410cb0bfc86cc6767b0ba0 - templates/card/card.css: SHA-256 d73573743971d71c1fd8ac0c55a4112af62af3ffda79634bcc577a456254d9c9 - templates/card/card.html: SHA-256 798f511319d0e5bd340ed96941c0c0c8d9fcc5d6bd10ef399ccebb577d298d86 - templates/demo/brief.json: SHA-256 993009597a2dbc920458e0ecf18c85fdd65bd8c3b6762f5583888aceffe95631 - templates/demo/sets/A/identity.json: SHA-256 6d610327979798612cb172a1f462f0852f21ca3fa680101b1fffddff346e3361 - templates/demo/sets/A/logo/build/horizontal.svg: SHA-256 bc03d41822a3a65f1eec6eabefddff0fdc6ac41a713b5c4aa48ab5aa71d50c76 - templates/demo/sets/A/logo/build/stacked.svg: SHA-256 6b15b7fb2fdff53abeb5ae1d3fc146699ccdb2cca8118ef90fbae30a77387f0e - templates/demo/sets/A/logo/build/symbol.svg: SHA-256 4fbd4dbf6019b2157ff026cd9573570bd868a9455d77bb722dd458b39798be98 - templates/demo/sets/A/logo/build/wordmark.svg: SHA-256 eb168191ed8a97c6e44d326d36d8d841acd80dc09379007b580ed124910257c2 - templates/demo/sets/A/logo/symbol.svg: SHA-256 4fbd4dbf6019b2157ff026cd9573570bd868a9455d77bb722dd458b39798be98 - templates/demo/sets/A/palette.json: SHA-256 3d15865e8fb06e37ad6a86e0ad0149c48c932ed5a895d1a63a5ab3a8992350bb - templates/demo/sets/B/identity.json: SHA-256 6f2a71df7ab8711721f5add2d283fb2aba495d479e5f0157499bd73045a5b7a3 - templates/demo/sets/B/logo/build/horizontal.svg: SHA-256 986924a038f6dd818e9789a1d27cdb2abc5bc2bba1b7cfb30407b8218d1e7107 - templates/demo/sets/B/logo/build/wordmark.svg: SHA-256 986924a038f6dd818e9789a1d27cdb2abc5bc2bba1b7cfb30407b8218d1e7107 - templates/demo/sets/B/palette.json: SHA-256 a6a543fb7707b81a38f31acc388b3633a25855d21378a30e29451a410e43f689 - templates/demo/sets/C/identity.json: SHA-256 dad3bc0391348e26a62382a0e58a2432b42bb8878b709474300bdc99de2e8627 - templates/demo/sets/C/logo/build/horizontal.svg: SHA-256 ecb713c330d69ca747d83f6daad755f1a80d8b0528f6b587796482187b1b3a60 - templates/demo/sets/C/logo/build/stacked.svg: SHA-256 a66c10d1f4494b891d2070952cca3b5edd487c781fde97deb4523624353d00c7 - templates/demo/sets/C/logo/build/symbol.svg: SHA-256 42f14a60d94c13c7a161fbe62a9e6c4043dab8ce3e57b1d215ca4bceccf043b3 - templates/demo/sets/C/logo/build/wordmark.svg: SHA-256 9b50bca281089583491596885a1d4fdbb5332cad8191d13f0a5afe8c258228e3 - templates/demo/sets/C/logo/symbol.svg: SHA-256 42f14a60d94c13c7a161fbe62a9e6c4043dab8ce3e57b1d215ca4bceccf043b3 - templates/demo/sets/C/palette.json: SHA-256 88357947d05eb889a27ccd91ed4fb3c39cef8a7d4f3f69e0726e4ae267b46fd9 - templates/identity.example.json: SHA-256 c6d5e20c63b994bf79e34a3d76fa9c9a2177eda6710e42cb3f3f4400b7917e45 - templates/kit/kit.css: SHA-256 fcd861cb3e21ca0047a25b52cbe0c4a514303d3c85d3348a7de27cbf3345a020 - templates/kit/kit.html: SHA-256 0e8f21f1c6faf2c4eef9848580a8f59de315559c24f437fb0e09ef5829a63ec6 - templates/kit/page.html: SHA-256 c7759a5bd61c8fc5d13a51eb318e46d7f57f3b96a9eabf57080e64dcbe52dbfd - templates/mock-sites/OFL.txt: SHA-256 c27a3c53c3beed7f5c26853afa15991478ff7145d3754a36b0382f84e10c0d03 - templates/mock-sites/app.html: SHA-256 192b55d53a65e30093910a32317e29e5b3420da9a98aa11bf85ce42171834479 - templates/mock-sites/card.html: SHA-256 9ca3c75bb33f80f5d8ec8dcbde55babb31170b64c2d8e3822a416e63a1494ec1 - templates/mock-sites/copy/README.md: SHA-256 106c02eb1c8fefddddedc0ecd6c8eef4651289a951fc4a3e4bb1e09eea4cad1f - templates/mock-sites/copy/en.json: SHA-256 8799d6b2f4c829e6c4197472d7298f683ee2fdb38da9e59751e5ff238e6d8882 - templates/mock-sites/landing.html: SHA-256 9104f0da069c8821fbe9e1668d7e7a118cbb58582fb4b98f9a8efc90766d49c7 - templates/mock-sites/product.html: SHA-256 7cc46615362c9a96a72589da59f4b8ec3d9893df4a0013cd6d1d6801bfbae366 - templates/mock-sites/social.html: SHA-256 eb54e5534f7252ef6972aae80ead2a95f58387ac140e0d0383d13ea503f8b658 - templates/palette.example.json: SHA-256 71fa253ae3105c8e58e65436f6731e10ba45fbeca596c27c2b6bbf5d6cd02440 - templates/sets.example.json: SHA-256 a5465040c1919687424fe497f5a7c64873502a11c0f1c2e33dc08ddc1835be80 If a file does not match, it changed since the listing was prepared: do not install it yet, tell me what you found and let me decide. 2. Read SKILL.md in full and tell me in plain words: what the skill does when used, which services it connects to, whether it reads or sends any personal information or keys, and anything that seems unusual. Stop on any red flag and tell me before going further. Confirm these points from the files: - The installed package is only the skills/brand-identity/ folder: 91 files, 4,383,620 bytes in total, most of it bundled data (the font and library catalogues under assets/ are about 2 MB of JSON). The working parts are SKILL.md (8,140 bytes), 27 script files under scripts/ (Python, plus the site-preview engine scripts/site/site_engine.js), 12 reference guides under references/, templates, and evals. The rest of the repository (tools/, tests/, docs/, the top-level evals/) is not the skill and is not installed. - Nothing is sent anywhere during installation itself; the only download at install time is the repository from GitHub at the pinned commit. No account, API key or telemetry is involved in installing. - One thing you will see in the code, disclosed here in advance (checked 2026-10-23): scripts/pydeps.py contains, as printed text only, the official uv install lines (a "curl ... | sh" line for POSIX and a PowerShell line for Windows). The skill never downloads or executes them - its docstring says so - and "brand.py check" only prints the line so I can run it myself if I choose. Never run that line, or any install line printed by the skill, during this install or later on your own initiative. The base64 decoding you will also see in the scripts is transport, not code: Chrome DevTools page and screenshot bodies, font glyph-coverage bitsets and font data. - At use time the skill runs locally and contacts only these hosts, all disclosed here before they happen: Google Fonts (fonts.googleapis.com and fonts.gstatic.com) and the google/fonts repository on raw.githubusercontent.com, to download fonts, metadata and licences for measurement and rendering; PyPI, through uv, once, for the Python packages named above; and the Fontshare catalogue API (api.fontshare.com/v2/fonts) appears as a data source in the bundled font catalogue - Fontshare faces are link-only and are never rendered by the skill. My own site and the competitor sites I name are opened in a headless browser (local DevTools socket, 127.0.0.1) only when I provide their URLs. No telemetry, nothing uploaded, according to the README and confirmed in the code; the fonts themselves are never subset or redistributed - the kit links to them and gives embed code. - Behaviour built into the skill: it asks its intake questions in one message, builds every set around a single mechanism, measures rather than asserts (a failed measurement is a gate, a heuristic is labelled a warning, taste is labelled judgement), presents the sets at a checkpoint and stops - it never picks a set for me - and only builds the guidelines kit for the set I choose. What I tell the assistant in my brief is processed by my AI provider under my plan's terms; the skill itself sends nothing. 3. When I say "yes, install", install it as a skill: copy the skills/brand-identity/ folder (everything in it, exactly as fingerprinted) into the agent's skills directory, in a folder named "brand-identity". 4. Verify with no network calls: frontmatter valid, files in place. 5. Report what was installed, where, and what I still need to do myself (for example: have Python 3.10 or newer and a Chromium browser ready before first use, and uv if I want the scripts to fetch their Python packages themselves - installing uv, if I ever do, is my own manual step using the official line the skill prints, never something the installer runs for me; give the skill a brief and, only if I want site previews, my site's URL and any competitor URLs. Using the skill is a separate step that only starts when I ask for it, and every use-time contact disclosed above happens only then). GitHub is optional: if I have a GitHub account or the gh CLI, you may use it; otherwise public access is fine. Never require it unless it's in the prerequisites above. Rules: don't touch anything outside the temp folder and the install target. If anything looks off, stop and ask me.

🔒 Security, provenance and what this touches
🧭 What this touches
  • It can run commands on your Muse’s computer.
  • It works with an API key or a token that you provide.
Install prompt analysis · 2026-10-23
🔒 Security and provenance
📌 Pinned version: commit 532742d · 2026-10-23
🔎 Install prompt analysis · 2026-10-23 : runs commands · uses API keys or tokens
What the scan found — excerpts from the install prompt
  • runs commands — - One thing you will see in the code, disclosed here in advance (checked 2026-10-23): scripts/pydeps.py contai · - Une chose que tu verras dans le code, divulguée ici d'avance (vérifié le 2026-10-23) : scripts/pydeps.py con
  • uses API keys or tokens — - Nothing is sent anywhere during installation itself; the only download at install time is the repository fro
Skill Harbor never reviews the code of a listed skill. These are dated facts about the install prompt and our install test, not a safety certification. Review a skill yourself before you install it. How we verify
Wanna be extra careful?

The install prompt below already includes the vetting steps: your agent follows the community checklist before installing anything with executable code. Want more?

How to check a build before installing →

?

Questions

How do I install a build?

Every product page includes a copy-paste install prompt. Paste it into your Muse and it sets the build up for you — no manual configuration.

Where does my money go?

Straight to the seller. Skill Harbor never processes payments: checkout happens on the seller’s own page, usually Stripe.

What does the ✓ next to a creator’s name mean?

It means we confirmed the identity of the person behind the listing. It says nothing about the code itself — always check a build before installing it.