brand-visual-language
Shape language across type, radius and icons carries brand personality.
Skill by dembrandt
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/dembrandt-brand-visual-language
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/brand-visual-language
What's inside
- Skill name
brand-visual-language- Description
- Shape language across type, radius and icons carries brand personality. Use when starting a design system, picking icons or radius tokens, or reviewing visual consistency.
- License
- MIT
- Metadata
- priority: 7
- Instructions
- 163 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Brand Visual Language Visual shape communicates personality. A rounded corner says something different to the user than a sharp one — and that message arrives before they read a single word. The shapes in typography, border-radius, and iconography should tell a consistent story. ## Shape Language | Shape | Tone | Associated with | |---|---|---| | **Rounded, pill-shaped** | Friendly, approachable, playful, modern | Consumer apps, health, kids, lifestyle, social | | **Softly rounded (8–12px)** | Professional, warm, accessible | SaaS, productivity, general B2B | | **Lightly rounded (2–4px)** | Precise, structured, efficient | Enterprise tools, finance, data platforms | | **Sharp / no radius** | Technical, serious, authoritative | Developer tools, security, industrial | Every component — cards, inputs, modals, badges — should follow the same radius logic. ## Radius for Large Surfaces The perceived "roundedness" of an element changes with its scale. A radius that looks soft on a button may look sharp on a large container. - **Large Cards & Modals:** Typically use a larger radius than buttons (e.g., if buttons are 4px, large cards might be 8px or 12px) to maintain a consistent visual tone. - **Wells and Background Sections:** For large background areas or "wells," a smaller radius (2px–8px) is often used to provide structure and define the region without making it feel like a "floating" component. This keeps the focus on the content within, rather than the container itself. ## Reading Shape from an Existing Brand Before choosing a radius, look at the brand's existing materials: - **Logo:** Is it rounded, geometric, or angular? The logo's shapes are intentional brand decisions. - **Product photography or illustration style:** Rounded, bubbly illustrations signal a different personality than sharp, technical diagrams. - **Typography:** A geometric sans-serif (Circular, Futura) reads differently than a humanist sans (Inter, Söhne) or a sharp editorial serif. - **Competitor landscape:** Sometimes being the slightly softer option in a sharp market, or the more structured option in a playful market, is the differentiator. > **Read the real shape language, don't infer it (dembrandt engine, optional).** For a brand that already ships a product, extract its actual radius, type, and tone from the live site rather than guessing from the logo: `get_brand_identity` and `get_design_tokens` return computed values off the DOM. See [`extract-design`](../extract-design/SKILL.md). ## Typography and Shape Typeface shapes carry the same tonal signals: | Type style | Tone | |---|---| | Geometric sans (circular letterforms) | Modern, clean, slightly playful | | Humanist sans (varied stroke widths) | Warm, readable, professional | | Grotesque sans (neutral, utilitarian) | Serious, efficient, no-frills | | Serif | Authoritative, established, editorial | | Rounded sans | Friendly, approachable, informal | | Monospace | Technical, developer-facing, precise | The typeface and the border-radius should not contradict each other. A rounded, friendly typeface paired with sharp 0px corners creates visual dissonance. ## Extending Brand Typography Brand books often specify a display or heading font but leave body text underdefined — a single weight, no reading size, no fallback. This is common with luxury, fashion, or legacy brands where the brand identity was built for print, not screen. When the brand book is insufficient for UI purposes, extend it deliberately: **When extension is justified:** - Brand font has poor legibility at small sizes (display fonts, decorative typefaces) - Brand font lacks the weights needed for UI hierarchy (no regular, no medium) - Brand font has no body or reading variant defined - Brand font loads poorly (performance, licensing, web rendering) **How to extend:** - Keep the brand font for headings and display — this is where brand identity lives - Add a secondary typeface for body text that is **complementary in tone**, not competing - Match shape language: a geometric brand font pairs with a geometric body font; a humanist display pairs with a humanist body ``` Brand heading font (display, h1–h3): maintains identity ↓ Secondary body font (body, labels, UI copy): legibility and completeness ``` **Pairing principles:** - Contrast in role, not in personality — the two fonts should feel like they belong to the same product - Avoid two display fonts or two highly characterful fonts together - A neutral, high-quality sans (Inter, DM Sans, Söhne) pairs safely with most brand fonts - If the brand font is a serif, a clean sans body is the natural complement — and vice versa **Do this sparingly.** Two typefaces is a deliberate extension. Three typefaces is almost always too many. Document the decision and the rationale so future designers do not add a third. ## Iconography Icon style must match the brand's shape language. Mixing icon styles — some thin, some bold, some filled, some outlined — breaks visual cohesion even when individual icons are correct. | Icon style | Tone | Use when | |---|---|---| | **Thin / outline (1–1.5px stroke)** | Minimal, elegant, refined | Luxury, editorial, premium SaaS | | **Regular outline (2px stroke)** | Balanced, professional | General SaaS, productivity tools | | **Bold / thick (2.5–3px stroke)** | Strong, clear, accessible | Consumer apps, mobile-first, accessibility focus | | **Filled** | Solid, confident, clear at small sizes | Dashboard indicators, status icons, mobile nav | | **Rounded corners on icon paths** | Friendly, approachable | Consumer, lifestyle, health | | **Sharp corners on icon paths** | Technical, precise | Developer tools, finance, data | **Rule:** Use one icon library and one weight throughout. If mixing is unavoidable (e.g. a specialised icon not available in the chosen library), match stroke width and corner style manually. ### Use the standard icon; never invent one for a solved concept Gear = settings, person = profile, magnifier = search, house = home, trash = delete, bell = notifications. Inventing an alternative here costs decoding for zero benefit. Search "icon [concept]" to check the convention before committing. Save design freedom for concepts with no established icon. Icons let the eye skip the word — but only unambiguous ones, and only where scanning pays off (nav, status, row types). A vague or decorative icon adds work instead of saving it; an icon on every label is noise. Right icon, relevant place. See [[ui-density]] on reading as time. ### Unicode for structure, icons for meaning Unicode glyphs (arrows, dots, chevrons) serve scaffolding that degrades gracefully. Anything that carries meaning is a shipped icon with a fixed rendering. A font-dependent glyph in a status column looks different on every platform. ### A verb icon belongs to a button A pencil, a trash can, a plus: these promise an action. Never spend one on a passive type marker. A row whose type icon is a pencil reads as editable whether or not it is. ### One concept, one glyph, family-wide Pin the icon set version. Sets redraw glyphs between releases, so an unpinned dependency changes the product's vocabulary on install. Across a product family the same concept uses the same glyph in every app. ### At small sizes, colour before form At 16px a letter is about 3px wide and carries no identity. When a family of small marks must be told apart (file types, app tiles, favicons), separate them by hue first and by shape second. ## Consistency Across Elements All shape-bearing elements should follow the same visual logic: | Element | Applies shape language via | |---|---| | Buttons | `--radius-button` | | Cards | `--radius-card` (same or slightly larger than button) |
From dembrandt/dembrandt-skills, MIT.
More from dembrandt/dembrandt-skills
- 0.785score
algorithmic-color-palette
dembrandt
Derive a full UI palette from one or two brand colours — state variants, brand-tinted greys, semantic colours.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
sticky-and-fixed-elements
dembrandt
Sticky headers, bottom toolbars, floating action buttons and pinned table headers.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
authentic-product-representation
dembrandt
Product visuals must show the real product with real data.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
button-states
dembrandt
Rest, hover, active, focus, disabled and loading states, derived from the base colour.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
app-shell
dembrandt
Top bar, sidebar rail, app launcher, tenant and environment cue, status bar.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
component-family-consistency
dembrandt
Buttons, inputs, badges and pills share radius, colour logic, shadow, border and spacing.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
data-display-and-selection
dembrandt
View modes, row selection, mass actions, sorting, filters, search and table patterns.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
domain-expert-configuration
dembrandt
Settings for experts who are not developers — domain language, sane defaults, grouping by professional concept.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
elevation-and-depth
dembrandt
Shadows and layering that lift elements above the surface.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
extract-design
dembrandt
Extract colours, typography, spacing, components and W3C design tokens from a live website with Dembrandt.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
color-mode-and-theme
dembrandt
Light, dark or both, and when a theme selector is worth it.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
generate-ui-from-brand
dembrandt
Pipeline from a URL or DESIGN.md to tokens, decisions and a UI spec.
SkillAFreshness: A★ 160Claude Code +9
Signals
- Stars
- 160
- Forks
- 20
- Open issues
- 0
- Last commit (this folder)
- Oct 1, 2026 (26 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/dembrandt/dembrandt-skills
- Website
- www.dembrandt.com/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from dembrandt
- 0.792score
Dembrandt
dembrandt
Design tokens from any live site: colours, type, spacing, components, drift against a baseline.
ConnectorAFreshness: ALocal★ 3.8KClaude Code +5 - 0.785score
app-shell
dembrandt
Top bar, sidebar rail, app launcher, tenant and environment cue, status bar.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
authentic-product-representation
dembrandt
Product visuals must show the real product with real data.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
button-states
dembrandt
Rest, hover, active, focus, disabled and loading states, derived from the base colour.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
color-mode-and-theme
dembrandt
Light, dark or both, and when a theme selector is worth it.
SkillAFreshness: A★ 160Claude Code +9 - 0.785score
algorithmic-color-palette
dembrandt
Derive a full UI palette from one or two brand colours — state variants, brand-tinted greys, semantic colours.
SkillAFreshness: A★ 160Claude Code +9
Cite this page
brand-visual-language skill. Agent Mart. https://agentmart.dev/skills/dembrandt-brand-visual-language (last updated 2026-10-24)