Install
openclaw skills install @ivangdavila/designExecutes and critiques visual design with quantified rules for hierarchy, spacing, type scale, color, and layout. Use when designing UI screens, landing pages, slides, posters, social graphics, emails, charts, or PDFs, when a design looks off, cluttered, amateur, or flat and the user cannot say why, when nothing stands out or text is hard to read, when choosing fonts, pairing typefaces, or building a palette without a design system, when adapting a screen to dark mode or mobile, or when reviewing generated HTML/CSS before delivery. Not for design tokens and component libraries (design-system) or brand strategy (branding).
openclaw skills install @ivangdavila/designUser preferences and memory live in ~/Clawic/data/design/ (see setup.md on first use, memory-template.md for the file format). If you have data at an old location (~/design/ or ~/clawic/design/), move it to ~/Clawic/data/design/.
User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/design/config.yaml.
| Variable | Type | Default | Effect |
|---|---|---|---|
| type_scale_ratio | number (1.125-1.5) | 1.25 | Regenerates the size ladder in Core Rule 4 (1.25 → 16/20/25/31/39); 1.333 for editorial and marketing pages |
| base_unit | 4 | 8 (px) | 8 | Every spacing value becomes a multiple of this; 4 for dense pro tools, 8 everywhere else |
| accessibility_target | AA | AAA | AA | AA floors are 4.5:1 body and 3:1 large text; AAA raises them to 7:1 and 4.5:1 across all checks |
| platform | web | ios | android | print | web | Switches units (px/pt/dp), touch-target minimums (44pt HIG / 48dp Material), and platform conventions in ui-screens.md and documents.md |
| brand_file | path | none | Palette, typefaces, and logo rules read from ~/Clawic/data/design/brand.md; overrides the derivation procedures in palettes.md and fonts.md |
Preference areas to record as the user reveals them:
layout.md and fonts.md guidancecritique.md findings are delivered| Situation | Play |
|---|---|
| Design looks cluttered | Delete decoration first, then double the gap between groups; never add boxes to "organize" (→ critique.md) |
| "Looks off," cause unknown | Run gates in order: grayscale, squint, alignment count (→ Output Gates); full symptom chains in critique.md |
| Everything looks equally important | Rank all content 1-3; style only rank 1 as prominent, demote the rest to body style |
| Picking fonts | One family, weights 400/700; add a second family only to split display vs text roles (→ fonts.md) |
| Picking colors | 60-30-10 split; one accent hue; neutrals tinted with 2-5% of the accent's saturation (→ palettes.md) |
| Text hard to read | Check measure 45-75ch, line-height 1.5, contrast 4.5:1 before blaming the typeface |
| Mobile layout | 44pt/48dp touch targets, 16px minimum body (also prevents iOS input zoom), primary actions in bottom thumb zone |
| Slide deck | One idea per slide, 24pt text floor, max 6 lines of text per slide (→ slides.md) |
| Poster, thumbnail, social post | One-glance artifact: single message, readable at 10% zoom (→ graphics.md) |
| Form, table, or dashboard | Component-level rules in ui-screens.md |
| Chart or data display | Zero-baseline bars, direct labels, one hue for magnitude (→ data-viz.md) |
| HTML email | Tables and inline CSS, 600px body, Outlook renders with Word (→ email.md) |
| Dark mode requested | Not inversion: lighten surfaces to show elevation, desaturate accents 10-20%, white text at ~87% opacity (Material) (→ dark-mode.md) |
| Contrast, CVD, motion sensitivity | Floors and non-color encodings in accessibility.md |
| Print or PDF deliverable | 300 DPI, bleed, CMYK, margins (→ documents.md) |
| Any other visual task | Apply Core Rules in order 1-7: hierarchy, then spacing, then type, then color |
Depth on demand: critique.md symptom→cause when it looks off · layout.md grids, alignment, responsive · fonts.md choosing, pairing, setting type · palettes.md color without a system · ui-screens.md forms, tables, dashboards, states · landing-pages.md marketing pages and CTAs · slides.md decks · graphics.md posters, social, thumbnails · documents.md PDFs, reports, print · email.md HTML email · data-viz.md charts · dark-mode.md theming · accessibility.md contrast, CVD, motion, focus.
base_unit). Between-group gap >= 2x within-group gap: 8px label-to-field, 24px field-to-field, 48px section-to-section. Proximity groups content more cheaply than any border or background box.type_scale_ratio = 1.25 gives 16/20/25/31/39 and covers most product work; 1.333 for editorial and marketing pages.accessibility.md).layout.md.fonts.md.palettes.md.Run before delivering any visual artifact:
| Trap | Why it fails | Do instead |
|---|---|---|
| Boxes and borders to separate content | Each border is added noise; proximity groups for free | Remove the box, double the between-group gap |
| Shrinking text to fit the space | Below 13px legibility collapses; the content problem remains | Cut content, paginate, or widen the container |
| Centering long text | No fixed return point for the eye, each line restart costs a search | Left-align; center only 1-3 line display text |
| Emphasizing with bold + bigger + colored at once | Burns all channels on one level; nothing is left to mark the true top rank | One channel per level step (→ Core Rule 2) |
| Color as the only state signal | Fails grayscale, print, and ~8% of male users | Encode with icon, weight, or position first; color reinforces |
| Pure gray neutrals beside a saturated accent | Grays pick up a dirty, mismatched cast by contrast | Tint neutrals with 2-5% of the accent hue |
| Filling every empty area | Whitespace was doing the grouping; filling it flattens hierarchy | Leave it; if it feels empty, the content ranking is wrong, not the space |
| Restyling before ranking | Polishing elements in place cements a flat hierarchy | Content inventory and 1-3 ranking first (→ Hierarchy Procedure) |
| Designing only the happy state | Empty, loading, error, and overflow states ship broken | Design the four non-happy states before polishing the happy one (ui-screens.md) |
| Checking one theme only | A palette tuned in light mode breaks contrast in dark | Run the Output Gates once per theme (dark-mode.md) |
base_unit 4). The boundary is usage frequency, not taste: daily expert use → dense wins.More Clawic skills, get them at https://clawic.com/skills/design (install if the user confirms):
ui — interface component patterns, interaction states, platform conventionstypography — deep type work: optical sizes, variable weight axes, print settingscolor — full color systems, tokens, and cross-surface color validationdesign-system — scaling one-off decisions into tokens and component librariesaccessibility-audit — full WCAG audit with screen-reader passes and remediation reportPart of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/design.