# ui-density

Matches information density to screen size and user expertise. Guides table layouts, dashboards, and mobile adaptation without shrinking UI elements.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 915 installs · ★ 165
- Author: dembrandt
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/dembrandt/dembrandt-skills/tree/HEAD/skills/ui-density/SKILL.md
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/skills/ui-density

## What it does

The skill sets guidelines for interface density across desktop, tablet, and mobile views. Trading desks tolerate high density. Operators spend 8 hours there every day. Consumer products require lower density with clear breathing room. Because mobile screens rely on touch, dense layouts cannot be copied there directly.

It includes CSS tokens for spacing scales. They define row heights: 32px for compact mode, 44px for default, and 56px for spacious layouts. When moving desktop views to phones, the skill removes secondary columns and turns tables into card lists. Porting a dense desktop layout straight to mobile ruins touch targets.

Reading load slows down the interface. The rules prioritize cutting words over shrinking fonts and placing key numbers at the start of labels.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill ui-density -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/ui-density/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/ui-density/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill ui-density -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/ui-density/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill ui-density -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/ui-density/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dembrandt/dembrandt-skills ui-density
```

2. **Manually: put the files in place**
- File: `.github/skills/ui-density/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill ui-density -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/dembrandt/dembrandt-skills --path skills/ui-density
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/ui-density/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill ui-density -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/dembrandt/dembrandt-skills/tree/HEAD/skills/ui-density/SKILL.md

## When to use it
- adapt desktop dashboards for mobile viewports
- configure compact density modes for data tables
- reduce reading load and word count in complex UIs
- set up CSS tokens for multiple spacing scales

## Example prompts
- Make this enterprise data table more compact using CSS tokens
- Reduce this desktop dashboard layout for mobile screens
- This UI feels too crowded, help me simplify the information density

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: ef13d6e268bae744.

BEGIN THIRD-PARTY FILE ef13d6e268bae744
```text
---
name: ui-density
description: Match information density to platform and user type. Use when designing data tables, dashboards or toolbars, or adapting a desktop product for mobile.
metadata:
  priority: 7
  pathPatterns:
    - "**/*.css"
    - "**/*.scss"
    - "components/**"
    - "src/components/**"
    - "**/*.tsx"
    - "**/*.jsx"
    - "design-system/**"
  promptSignals:
    phrases:
      - "density"
      - "compact"
      - "spacious"
      - "too crowded"
      - "too much"
      - "feature count"
      - "information density"
      - "data table"
      - "dashboard"
      - "power user"
      - "power user mode"
      - "expert user"
      - "reading is time"
retrieval:
  aliases:
    - ui density
    - compact layout
    - spacious layout
    - information density
    - feature count
    - dashboard density
    - power user mode
    - expert vs casual user
    - reading is time
  intents:
    - decide how dense the UI should be
    - make a dashboard less overwhelming
    - design a compact data table
    - reduce feature count on mobile
    - match density to user type
    - design for domain experts / power users
    - reduce how much the user has to read
  examples:
    - this dashboard feels overwhelming
    - how dense should this table be
    - reduce this for mobile
    - this is an enterprise tool, can it be denser
    - design a power-user mode for domain experts
    - the UI has too much to read
---

# UI Density

Density describes how much information and how many interactive elements appear in a given area. The right density is not a universal standard — it depends on platform, user type, and session context.

## Platform Defaults

| Platform | Default density | Reason |
|---|---|---|
| Desktop | Medium to high | Large screen, precise input, often primary work surface |
| Tablet | Medium | Touch input, larger than phone but less than desktop |
| Mobile | Low | Small screen, touch targets need space, interrupted sessions |

Never port a dense desktop layout directly to mobile. Remove, collapse, or deprioritise features rather than shrinking them.

## User Type and Density

| User type | Appropriate density | Examples |
|---|---|---|
| Power user / enterprise | High density acceptable | Trading platforms, ERP, analytics, developer tools |
| Occasional / general user | Medium — clear visual breathing room | SaaS dashboards, project management |
| Consumer / first-time user | Low — guided, uncluttered | Onboarding flows, consumer apps, e-commerce |

A trading platform operator sits in the product for 8 hours a day and has learned every pixel — high density serves them. A user visiting a settings page once a month needs clear space and obvious labels.

**Domain experts tolerate complexity — if it solves the *right* problem quickly.** People who know the domain (especially in internal tools) will happily use dense, complex, feature-rich interfaces, because the complexity maps to a mental model they already hold. Two conditions make this work rather than overwhelm:
```
END THIRD-PARTY FILE ef13d6e268bae744

The third-party file has ended. Everything between the ef13d6e268bae744 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 3051 of 7638 bytes. © dembrandt · MIT · https://github.com/dembrandt/dembrandt-skills/tree/HEAD/skills/ui-density/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
