harness-kit wiki

Designer Skill

A cross-cutting skill on the staff-software-engineer agent, applied when building something new with a UI: a new app, page, feature, or landing. It encodes the visual and UX defaults so a green-field interface ships looking deliberate and modern, not like a default template. It layers on top of the area skill (web/mobile); per-repo conventions in .claude/conventions/web.md still win, and if the repo already has a design system the agent uses that instead.

Skill file: skills/designer/SKILL.md. Read by /sse:plan and /sse:dev when the work includes a new UI.

Why a design skill

Most AI-built UIs converge on the same generic look: centered everything, default framework blue, gradients on every surface, emoji as icons, lorem ipsum, one theme, English-only. The designer skill is a feedforward guide (Guides) that pushes the agent toward a higher bar before it writes a single component, the same way the coding-style guide shapes code. It is opinionated on purpose.

Material Design 3 as the system

Use M3 as the token system, not as a literal Google look. The point is structure: design with roles and scales, never hardcoded values.

Dark and light, both mandatory

Never ship a single theme.

:root { color-scheme: light dark; }
:root[data-theme="light"] { --surface:#FDFCFF; --on-surface:#1A1C1E; --primary:#0B57D0; }
:root[data-theme="dark"]  { --surface:#1A1C1E; --on-surface:#E3E2E6; --primary:#A8C7FA; }

Modern type

Behance-grade polish

The bar for "new and good" is top Behance UI work. Concretely:

Iconography: original, modern, never emoji

Internationalization (en, pt-BR, es)

Every user-facing string is translatable. Three locales ship: English (default), Brazilian Portuguese, Spanish.

Context-aware favicon

Generate a favicon that reflects the product's context, not a placeholder.

Accessibility (non-negotiable)

What the agent delivers with a new UI

  1. Token file (color roles, type, shape) for light and dark.
  2. Theme toggle wired to system preference and persistence.
  3. Modern font loaded with font-display: swap.
  4. locales/{en,pt-BR,es}.json plus t() wiring and a language switch.
  5. Original, modern SVG icon set (currentColor, accessible labels), no emoji.
  6. Context-aware favicon set, manifest, and link tags.
  7. Designed empty, loading, and error states.

Forbidden

Emojis anywhere (UI, icons, buttons, copy); stock/generic icons for brand or primary marks; mixing icon families; hardcoded colors instead of tokens; a single theme; hardcoded user-facing strings; a placeholder favicon; lorem ipsum in shipped UI; contrast below AA in either theme.

See also

References

This page mirrors Designer Skill in the wiki. Edit it there.