agentleFS
parhambparhamb/design-skills/ux-visual-design/SKILL.md

ux-visual-design

Skill21 starsChanged 5 months agoMITView on GitHub

Visual design system review: typography, color, spacing, icons, animation, dark mode, empty states, touch targets, and RTL layout for mobile and web. Use when reviewing or creating a visual design system, auditing UI quality, or establishing component and token guidelines.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 5 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use the scale native to each platform rather than forcing one scale on both.

    line 88
  2. Distinctive:

    Color as a secondary signal: Never use color as the only way to communicate state.

    line 96
  3. Distinctive:

    Consistent elevation: Use shadow and surface color to communicate layers — overlays, cards, and sheets should each have a clearly distinct …

    line 100
  4. Distinctive:

    Reduce-motion awareness: Check the OS reduce-motion setting and disable or simplify decorative animations when it is enabled.

    line 104
  5. Distinctive:

    When applying this checklist to a screen, flow, or codebase:

    line 112

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Visual Design

Visual design is not decoration — it is communication. Every spacing decision, color choice, and animation tells the user what matters and what to do next.


Checklist

ItemGuidance
Touch target sizeMinimum 44x44pt on iOS, 48x48dp on Android. Non-negotiable for all tappable elements.
Empty state UIEvery empty screen shows an illustration or icon, a heading, a short message, and an optional action. Full standards live in ux-error-handling.
Font readabilityBody text at 16–17sp. Supporting text (subhead, footnote, caption) no smaller than 12sp. Line height between 1.4 and 1.6.
Semantic color usageGreen for success, red for errors and destructive actions, yellow for warnings. Consistent throughout.
Error color differentiationError, warning, and info states are visually distinct from each other, not just color-coded.
Text hierarchyMaximum 3 levels: title, body, caption. Use weight and size to differentiate, not color alone.
Design consistencyEvery component and screen looks like it belongs to the same family.
Active and inactive statesActive vs inactive is communicated through color change or opacity, never color alone.
Row spacingMinimum 8pt padding between list items. Content rows between 56dp and 72dp tall.
Micro-interactionsButton press feedback in under 100ms. Meaningful animations on state changes.
Avoid excessive animationAnimations are capped at 300ms for transitions. Reduced for lower-end hardware.
RTL and LTR layoutLayout mirrors correctly for right-to-left languages. Directional icons flip.
8pt grid systemAll spacing values are multiples of 4 or 8 (margin, padding, icon size, gap).
Notch and Dynamic IslandBackground color extends into the safe area. Notch is not cut off.
Dark modeDark mode uses a dedicated color palette with elevated surfaces, not just an inverted light theme.
Image zoomUsers can view images at full size. Pinch-to-zoom is supported.
Image gallerySwipe between images is supported where multiple images are shown.
Consistent dialogsAlert and modal dialogs are styled the same way across the entire app.
Universal iconsIcons carry meaning without requiring a label for most users.
Screen transition animationScreen transitions use smooth, directional animations that reinforce navigation hierarchy.

Spacing Tokens

TokenValueCommon use
space-14ptIcon gap, tight padding
space-28ptInline padding, list item gap
space-312ptComponent inner padding
space-416ptSection padding, standard margin
space-624ptCard padding, screen edge margin
space-832ptSection separator gap
space-1248ptLarge section gap

Touch target minimums (44x44pt iOS, 48x48dp Android) are hit-area sizes, not spacing tokens — a small icon may keep its visual size as long as its tappable area meets the minimum.


Typography Scale (iOS, HIG-derived)

RoleSizeWeight
Display34spBold
Title 128spBold
Title 222spSemibold
Headline17spSemibold
Body17spRegular
Callout16spRegular
Subhead15spRegular
Footnote13spRegular
Caption12spRegular

Typography Scale (Android, Material 3)

RoleSizeWeight
Headline Medium28spRegular
Title Large22spRegular
Title Medium16spMedium
Body Large16spRegular
Body Medium14spRegular
Label Large14spMedium
Label Small11spMedium

Use the scale native to each platform rather than forcing one scale on both. Roles below Body (subhead, footnote, caption, labels) are supporting text — the 16sp readability minimum in the checklist applies to body copy.


Patterns

Color as a secondary signal: Never use color as the only way to communicate state. Always pair color with an icon, label, or shape so color-blind users get the same information.

Consistent elevation: Use shadow and surface color to communicate layers — overlays, cards, and sheets should each have a clearly distinct elevation level. This is especially important in dark mode.

Reduce-motion awareness: Check the OS reduce-motion setting and disable or simplify decorative animations when it is enabled. Motion should never be the only way to communicate state change.


How to Review

When applying this checklist to a screen, flow, or codebase:

  1. Go through every checklist item and mark it Pass, Fail, or N/A — never skip items silently.
  2. Cite specific evidence for each finding: the screen, component, file, or line it applies to.
  3. Tag each failure with a severity: Blocker (breaks the experience), Major (hurts usability), or Minor (polish).
  4. End the review with the top 3 recommended fixes, ranked by user impact.

Related Skills

  • ux-accessibility — contrast ratios, text scaling, and reduce-motion requirements
  • ux-content — the words inside the components
  • ux-error-handling — canonical empty-state standards

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.