algorithmic-color-pale…
Derive a full UI palette from one or two brand colours — state variants, brand-tinted greys, semantic colours. Use when building…
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.
Claude Code
$ npx -y skills add dembrandt/dembrandt-skills --skill brand-visual-language --agent claude-code
Codex
$ npx skills add dembrandt/dembrandt-skills --skill brand-visual-language -a codex -y
Cursor
$ npx skills add dembrandt/dembrandt-skills --skill brand-visual-language -a cursor -y
Gemini CLI
$ npx skills add dembrandt/dembrandt-skills --skill brand-visual-language -a gemini-cli -y
GitHub Copilot
$ npx skills add dembrandt/dembrandt-skills --skill brand-visual-language -a github-copilot -y
OpenCode
$ npx skills add dembrandt/dembrandt-skills --skill brand-visual-language -a opencode -y
Windsurf
$ npx skills add dembrandt/dembrandt-skills --skill brand-visual-language -a windsurf -y
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.
metadata:
priority: 7
pathPatterns:
- "**/*.css"
- "**/*.scss"
- "**/tokens/**"
- "**/theme/**"
- "tailwind.config.*"
- "design-system/**"
- "components/**"
promptSignals:
phrases:
- "brand tone"
- "visual language"
- "rounded"
- "angular"
- "icon style"
- "border radius"
- "playful"
- "serious"
- "brand personality"
retrieval:
aliases:
- brand visual language
- shape language
- brand tone
- rounded vs angular
- icon style
- visual personality
intents:
- establish brand visual style
- choose border radius
- pick icon library
- match ui to brand personality
- make design feel consistent
examples:
- should we use rounded or sharp corners
- what icon style fits this brand
- make the UI feel more playful
- this feels too corporate, how do I soften itVisual 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 | 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.
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.
Before choosing a radius, look at the brand's existing materials:
> **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).
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.
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:**
**How to extend:**
Brand heading font (display, h1–h3): maintains identity ↓ Secondary body font (body, labels, UI copy): legibility and completeness
**Pairing principles:**
**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.
Enterprise UX secrets, now built into your AI agent. Your agent writes the component in seconds. It does not know the modal should be a drawer, or that the grey it picked fails contrast. These skills carry that judgment: what to do, and what breaks otherwise.
Derive a full UI palette from one or two brand colours — state variants, brand-tinted greys, semantic colours. Use when building…
Top bar, sidebar rail, app launcher, tenant and environment cue, status bar. Use when designing the persistent shell, a…
Product visuals must show the real product with real data. Use when building landing pages, hero sections, screenshots or demo…
Rest, hover, active, focus, disabled and loading states, derived from the base colour. Use when designing buttons, links, inputs…
Rebuild a live web page 1:1 from measurement into Figma, Penpot or code, then verify it. Use when reproducing a page or checking…
Light, dark or both, and when a theme selector is worth it. Use when defining a base palette or deciding on dark mode support.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.