
ui-density
Match information density to platform and user type. Use when designing data tables, dashboards or toolbars, or adapting a desktop product for mobile.
- Installs
- 927
- Last 24h
- +8
- Trending rank
- #9746
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/dembrandt/dembrandt-skills --skill ui-density- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads ui-density automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
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:
- Terminology matches their vocabulary. The labels, abbreviations, and jargon are the ones they already use. A term that's opaque to a consumer is a precise, fast signal to an expert — don't dumb it down for an audience that isn't there.
- The outcome stays quickly reachable. Density is fine as long as the result — the answer they came for, or the action they need — is fast to see or do, typically through an obvious primary action (see [[visual-emphasis-and-hierarchy]]). Complexity that surrounds a clear path to the outcome is power; complexity that buries the outcome is clutter.
Design a power-user mode around this: high density, expert terminology, keyboard-driven, primary action always in reach — distinct from a casual/first-time mode that guides and unclutters. The same product may offer both; match the mode to who is actually using the view.
Density Tokens
Define spacing scale with density in mind. A compact variant reduces padding without changing structure:
/* Default density */
--density-row-height: 44px;
--density-cell-padding: var(--space-3) var(--space-4);
--density-gap: var(--space-4);
/* Compact (enterprise / data-heavy) */
[data-density="compact"] {
--density-row-height: 32px;
--density-cell-padding: var(--space-2) var(--space-3);
--density-gap: var(--space-2);
}
/* Spacious (consumer / onboarding) */
[data-density="spacious"] {
--density-row-height: 56px;
--density-cell-padding: var(--space-4) var(--space-6);
--density-gap: var(--space-6);
}
Feature Count by Platform
Not every feature belongs on every platform. For each feature ask: does a mobile user need this right now?
| Priority | Mobile | Tablet | Desktop |
|---|---|---|---|
| Core task | Always | Always | Always |
| Secondary actions | Collapsed (menu/sheet) | Visible | Visible |
| Filters and sorting | Accessible but not persistent | Collapsible | Persistent sidebar or toolbar |
| Bulk actions | Hidden or minimal | Reduced | Full |
| Advanced settings | Link to separate screen | Link or panel | Inline or panel |
| Data visualisation | Simplified (key metric only) | Reduced chart | Full chart |
Density and Feature Reduction on Mobile
Sections and features can be removed, collapsed, or repositioned on smaller viewports — not just resized.
- Remove: Decorative sidebars, secondary data columns, promotional banners
- Collapse: Filters, advanced options, secondary navigation into accordions or bottom sheets
- Reposition: Toolbars move from top to bottom (thumb reach), sidebars move to drawers
- Simplify: A multi-column data table becomes a card list; a full chart becomes a single key metric
Progressive disclosure is the principle: show the minimum needed to complete the primary task, reveal more on demand.
Reading Is Time
The most under-counted cost in a dense UI is reading. Every word the user must read to orient themselves is time spent, and it compounds — the more there is to read, the slower the whole interface feels, on every visit. Density is not just "how much fits on screen"; it's "how much the user has to read to act." Reduce that load:
- Cut words before you shrink them. The fix for a cramped screen is usually less content, not smaller type (see [[modular-scale-typography]]).
- Let recognisable icons replace reading where a concept has an unambiguous, standard icon — the eye recognises a shape faster than it reads a word (see [[brand-visual-language]]).
- But don't over-ice with icons. A wrong or decorative icon adds a thing to interpret instead of removing one; and an icon on everything is its own noise. Right icon, relevant place only.
- Front-load the scannable bit. Put the word or number the user scans for at the start of the line/label, so they don't read the whole thing to find it.
The goal: a user should be able to glance, not read, to know where they are and what to do next.
Review Checklist
- Is the density appropriate for the primary platform (desktop = can be denser, mobile = must be sparse)?
- Is the density appropriate for the user type (power user = higher density, consumer = more space)?
- Are spacing tokens used to define density — not one-off padding values?
- On mobile: are secondary features collapsed, repositioned, or removed rather than shrunk?
- Are touch targets ≥ 44×44px even in compact density variants?
- Is a density toggle offered for enterprise tools where users have strong personal preferences?
FAQ
What does the ui-density skill do?
Match information density to platform and user type. Use when designing data tables, dashboards or toolbars, or adapting a desktop product for mobile.
How do I install ui-density?
Run npx skills add https://github.com/dembrandt/dembrandt-skills --skill ui-density in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ui-density/ (personal) or .claude/skills/ui-density/ (project).
Which AI agents can use ui-density?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is ui-density safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains ui-density?
It is published by dembrandt in dembrandt/dembrandt-skills. It has 927 recorded installs.
More from dembrandt/dembrandt-skills
nielsen-usability-heuristics
dembrandt/dembrandt-skills
Nielsen's 10 usability heuristics. Use when auditing an interface, designing interaction flows, writing error messages or reviewing usability.
performance-and-web-vitals
dembrandt/dembrandt-skills
Lighthouse audits and Core Web Vitals — LCP, CLS, INP. Use when optimising page load, layout shift, input delay, images, fonts or render-blocking resources.
color-mode-and-theme
dembrandt/dembrandt-skills
Light, dark or both, and when a theme selector is worth it. Use when defining a base palette or deciding on dark mode support.
form-design
dembrandt/dembrandt-skills
Helper text, placeholders, validation and submit behaviour. Use when designing or reviewing a form, input field or data entry UI.
brand-visual-language
dembrandt/dembrandt-skills
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.
semantic-html-and-seo
dembrandt/dembrandt-skills
Semantic HTML5, SEO basics, alt text, progressive enhancement and SPA concerns. Use when building web UI, reviewing markup or optimising for search.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.