brand-identity
Build a complete visual identity from scratch or refresh one: logo mark and variations (SVG), brand color roles, brand fonts, patterns, favicons/app icons, social avatars, and a brand guidelines page. Use when the user needs the brand itself, not just one ingredient. Trigger phrases: "brand identity", "logo design", "brand guidelines", "visual identity", "brand system", "favicon", "logo variations", "brand pattern", "rebrand". For only a palette use color-palette; only fonts use typography; UI tokens/components use design-system.
How do I install this agent skill?
npx skills add https://github.com/arnavpuri/designskills --skill brand-identityIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides comprehensive instructions and technical snippets for building brand identity systems. No malicious patterns or security risks were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Brand Identity
Create cohesive visual identity systems that communicate brand values through code.
Prerequisites
Before building a brand identity, check for existing design context:
- Read
.agents/design-context.md(seedesign-context) for existing brand name, colors, fonts, style archetype, audience, and Brand Marks. Refresh only what the user wants changed. - Identify the brand's industry, target audience, and personality traits (3-5 adjectives).
- Delegate depth: generate the full shade scale with the
color-paletteskill and the type scale withtypography. Variables below (--brand-100,--brand-500, ...) are that shared primitive scale.
Step 1: Logo Design Principles
Core Rules
- Simplicity: Must be recognizable at 16x16px (favicon size). Strip away every element that does not add meaning.
- Memorability: One distinctive feature. Not three. Not five. One.
- Scalability: Must work from 16px favicon to billboard. Avoid thin strokes that disappear at small sizes.
- Versatility: Must work on light backgrounds, dark backgrounds, and photos.
- Timelessness: Avoid trends (current gradients, specific illustration styles). Flat, geometric forms endure.
CSS/SVG Logo Techniques
Use simple geometric SVG marks (48x48 viewBox, rounded rect + inner shape). For CSS-only marks: display: grid; place-items: center on a colored rounded square, ::after pseudo-element for the inner shape.
Ship final logos as SVG with text converted to paths (or drawn as shapes) -- never depend on a web font or <text> inside a logo file. AI image generation (image-generation skill, Gemini) is useful for exploring concept directions and moodboards, but it produces raster images with unreliable lettering; redraw the chosen direction as clean SVG.
Step 2: Logo Variations
Every brand needs at minimum 4 logo forms:
- Primary (Lockup): Icon + wordmark side by side (
flex, gap: 0.75rem). Icon 40px, wordmark in heading font 1.25rem/700. - Secondary (Stacked): Icon above wordmark (
flex-direction: column, text-align: center). - Icon Mark: Symbol only -- for favicons, app icons, avatars.
- Wordmark Only: Text-only version for inline use.
Responsive pattern: Show full logo by default, swap to icon-only at max-width: 480px.
Step 3: Brand Color System
A brand color system is more than a palette. Structure it as:
Color Roles
| Role | Count | Purpose |
|---|---|---|
| Primary | 1 | Main brand color. CTAs, key UI elements. |
| Secondary | 1 | Supporting accent. Complementary. |
| Neutral | 1 scale | Grays for text, borders, backgrounds. |
| Semantic | 4 | Success, warning, error, info. |
| Surface | 2-3 | Background layers. |
Implementation
:root {
/* Brand */
--color-primary: oklch(0.55 0.15 250);
--color-primary-light: oklch(0.70 0.10 250);
--color-primary-dark: oklch(0.40 0.15 250);
--color-secondary: oklch(0.60 0.18 330);
--color-secondary-light: oklch(0.75 0.12 330);
/* Surfaces (semantic names shared with design-system) */
--bg-primary: oklch(0.99 0.005 250);
--bg-secondary: oklch(0.97 0.005 250);
--bg-raised: oklch(1.00 0 0);
/* Text */
--text-primary: oklch(0.20 0.02 250);
--text-secondary: oklch(0.50 0.01 250); /* ~5.8:1 on bg-primary */
--text-inverse: oklch(0.97 0.005 250);
}
Convert every final color to hex for the guidelines page and design-context (the color-palette skill has a conversion + contrast script), and verify each text/background pair.
Step 4: Typography System
Brand Font Selection
| Brand personality | Font style | Examples |
|---|---|---|
| Traditional | Serif | Playfair Display, Lora |
| Modern / Clean | Neo-grotesque / geometric sans | Inter, DM Sans, Manrope |
| Friendly / Warm | Rounded sans | Nunito, Quicksand |
| Technical | Monospace or grotesk | JetBrains Mono, Space Grotesk |
| Luxury | Thin serif/sans | Cormorant, Outfit |
| Playful | Display or handwritten | Bricolage Grotesque, Caveat |
Font Stack Definition
:root {
--font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif; /* design-context: Heading Font */
--font-body: 'Inter', system-ui, -apple-system, sans-serif;
--font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
}
Always include system fallbacks. Always include generic family last.
Step 5: Brand Pattern and Texture Elements
Subtle patterns add visual richness and brand recognition.
Dot Grid Pattern
.brand-pattern-dots {
background-image: radial-gradient(
circle,
var(--brand-200) 1px,
transparent 1px
);
background-size: 24px 24px;
}
Diagonal Lines
.brand-pattern-lines {
background-image: repeating-linear-gradient(
45deg,
transparent,
transparent 10px,
var(--brand-100) 10px,
var(--brand-100) 11px
);
}
Grid Pattern
.brand-pattern-grid {
background-image:
linear-gradient(var(--brand-100) 1px, transparent 1px),
linear-gradient(90deg, var(--brand-100) 1px, transparent 1px);
background-size: 32px 32px;
}
Gradient Noise Texture
.brand-texture {
position: relative;
}
.brand-texture::after {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
pointer-events: none;
}
Step 6: Logo Spacing and Clear Zone
Minimum Clear Space
The clear zone around a logo should equal the height of the logo mark (or a specific letter like the "x" in the wordmark).
.logo-container {
/* Clear zone = logo height on all sides */
padding: var(--logo-clearzone, 2rem);
}
/* Minimum size constraints */
.logo-primary {
min-width: 120px; /* Never render smaller than this */
}
.logo-icon-mark {
min-width: 24px; /* Absolute minimum for icon-only */
}
Usage Rules (Document These)
- Do not rotate the logo.
- Do not change the logo colors outside the approved set.
- Do not stretch or distort.
- Do not place on busy backgrounds without a container.
- Maintain minimum clear space equal to the mark height.
Step 7: Brand Guidelines Document Structure
When building a brand guidelines page or system, include these sections:
Sections
- Brand Story: Mission, vision, values (1 paragraph each).
- Logo: All variations, clear zone rules, minimum sizes, misuse examples.
- Color: Primary, secondary, semantic palettes with hex/oklch/rgb values.
- Typography: Font families, scale, pairing rules.
- Imagery: Photography style, illustration style, icon style.
- Voice & Tone: Writing guidelines (though this is beyond visual design).
- Patterns & Textures: Background treatments.
- Application Examples: How everything comes together.
Structure as semantic sections (<section id="logo">, <section id="colors">, etc.) within a <main class="brand-guide">. Use specimen blocks (light/dark bg variants, display: grid; place-items: center; min-height: 200px) for logo display. Color swatches in auto-fit grid (minmax(160px, 1fr)).
Step 8: Favicon and App Icon Generation
Favicon Sizes
| Format | Size | Usage |
|---|---|---|
| ICO | 32x32 | Browser tab (legacy) |
| PNG | 180x180 | Apple touch icon |
| PNG | 192x192 | Android home screen |
| PNG | 512x512 | Android splash, PWA |
| SVG | any | Modern browsers, scalable |
SVG Favicon (Best Modern Approach)
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180x180, no transparency -->
<link rel="manifest" href="/site.webmanifest">
<!-- favicon.svg - supports dark mode! -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<style>
rect { fill: #4f46e5; }
@media (prefers-color-scheme: dark) {
rect { fill: #818cf8; }
}
</style>
<rect width="32" height="32" rx="6"/>
<!-- Letterform as a path, not <text>: fonts render differently per OS -->
<path d="M11 8h6a4 4 0 0 1 0 8h-6zm0 8h7a4 4 0 0 1 0 8h-7z" fill="none" stroke="white" stroke-width="3" stroke-linejoin="round"/>
</svg>
Use the design-context Primary hex (and Primary Light for dark mode) instead of the example colors.
Web Manifest
{
"name": "Brand Name",
"short_name": "Brand",
"icons": [
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" },
{ "src": "/icon-maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
],
"theme_color": "#4f46e5",
"background_color": "#ffffff"
}
Step 9: Social Media Avatar Consistency
Rules for Platform Consistency
- Use the icon mark (not the full logo) for square/circular avatars.
- Add padding so the mark does not touch the circular crop edge.
- Use the primary brand color as background.
/* Avatar-safe logo layout */
.social-avatar {
width: 400px;
height: 400px;
background: var(--brand-500);
display: grid;
place-items: center;
border-radius: 50%; /* Preview circular crop */
}
.social-avatar .logo-mark {
width: 55%; /* Leave ~22.5% padding on each side */
height: 55%;
color: white;
}
Platform Sizes
| Platform | Recommended upload size |
|---|---|
| X/Twitter | 400x400px |
| 400x400px | |
| 320x320px | |
| GitHub | 500x500px |
| Slack | 512x512px |
Step 10: Brand Application Examples
Business Card
3.5x2in, flex column, justify-content: space-between. Name in display font 14pt/700, title 9pt uppercase in brand color, contact 8pt gray.
Email Signature
Table-based: logo mark (48px) with brand-color border-right, name/title/contact stacked in adjacent cell. Use Arial, inline styles only.
Step 11: Verify and Save
- Render a proof sheet (scratchpad HTML): every logo variation on light, dark, and brand-color backgrounds; the icon mark at 16, 32, 48, and 180px; the favicon in a mock browser tab; the avatar inside a circle crop. Screenshot it (
npx playwright screenshot --full-page "file://$PWD/brand-proof.html" proof.png) and view it with Read. Check: mark still recognizable at 16px, no strokes vanish, contrast holds on every background, nothing touches the circular crop. - Offer to write back to
.agents/design-context.md, updating only changed fields: Brand Identity (name, tagline), Color System rows (hex), Typography fonts, Design Style archetype, and Brand Marks (Logo description, Icon Style). Show the diff and ask before saving.
Quick Reference: Brand Identity Checklist
- Define brand personality (3-5 adjectives).
- Choose primary and secondary brand colors.
- Select font pairing (heading + body).
- Design logo mark, create all 4 variations.
- Define clear zone and minimum sizes.
- Generate full color system (shades, semantics, neutrals).
- Create brand patterns/textures.
- Build favicons and app icons.
- Create social media avatar.
- Document everything in a brand guidelines page.
- Render a proof sheet, inspect it, and save the brand to design-context.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/arnavpuri/designskills/brand-identity">View brand-identity on skillZs</a>