MCPInstall

gestalt-ui-organisation

Group controls with Gestalt principles so users see what belongs together. Use when laying out components, navigation, toolbars, forms or dashboards.

Installs
887
Last 24h
+8
Trending rank
#9508
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/dembrandt/dembrandt-skills --skill gestalt-ui-organisation
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads gestalt-ui-organisation automatically when relevant.

  3. 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.

Gestalt UI Organisation

UI should be organised so that the visual structure communicates relationships — which commands, controls, and elements belong together — without requiring users to read labels or documentation.

Core Gestalt Principles for UI Layout

1. Proximity

Elements that are close together are perceived as a group.

  • Place related controls (e.g. Bold / Italic / Underline) close together with minimal gap between them
  • Separate unrelated groups with larger whitespace
  • Do not use lines or borders as the primary grouping mechanism — proximity alone should convey the relationship

Example: A toolbar with [Cut] [Copy] [Paste] grouped tightly, then a wider gap before [Undo] [Redo], communicates two distinct command groups without any visual divider.

Prefer whitespace over separator lines

Default to whitespace, not divider lines, for grouping. Most separators do work that spacing does better — they add noise and a "boxed-in" feel without adding information. Remove the majority and let proximity carry the grouping.

Caveat: a line takes almost no space, so removing it leaves groups too close. Removing separators usually means adding spacing — budget the whitespace (occasionally a subtle background or heading) rather than just deleting the line and leaving the layout cramped.

The need for a separator grows with distance

Elements packed tightly separate themselves; elements far apart need help. A compact table with short rows reads without any lines, because each row is already next to the one it belongs with. The same table at full width, or with tall rows, needs row lines or zebra striping, or the eye loses its place crossing the row.

So the question is not "lines or no lines" but how far the elements sit from each other. Pick the lightest device that bridges the gap, in this order: spacing, a subtle fill or stripe, a hairline, a boxed region. Set it per size: a wide table may carry row lines while its compact variant in a sidebar drops them.

Cause and effect stay close

Proximity also governs time: what a click produces should appear next to the click. When a left-hand menu opens content that starts at the far right, the eye crosses the whole screen for every selection, and the user re-orients each time.

  • Anchor content to the left edge of the pane, not the centre. Content begins where the menu ends.
  • Put the page title and primary action in the top-left of the pane, level with the selected menu row. The first landing point is then a short hop from the click.
  • On wide screens prefer three narrow columns (menu, list, detail) over one narrow menu and one wide field. Each step moves the eye one column, never the full width.
  • Highlight the selected row and let the content enter with a small motion from the left, so the movement leads the eye.
  • Do this the same way in every view. If one screen answers a click next to it and another answers far away, the user learns nothing they can reuse.

2. Similarity

Elements that look alike are perceived as related.

  • Use consistent colour, shape, size, and iconography within a functional group
  • Differentiate groups through visual contrast (shape, fill, size) — not just position
  • Primary actions and secondary actions should look visually distinct from each other

Example: Destructive actions (Delete, Remove) use a different colour than constructive actions (Save, Add), signalling different intent groups.

3. Common Region

Elements enclosed in a shared region are perceived as a group.

  • Use cards, panels, or background fills to enclose logically related content
  • Avoid wrapping unrelated elements in the same container
  • Nested regions should reflect nested logical hierarchy

A region needs no border — but a borderless one needs air. Enclosure can come from a border/fill or from whitespace alone. When a card has no border or background, generous internal padding and a clear gap to its neighbours are what make it read as one region; without a border doing that job, cut the air and separate cards collapse into one blur. Borderless is fine — cramped-and-borderless is not.

Example: Form sections grouped in bordered cards signal that fields inside each card form a logical unit.

4. Connectedness

Elements connected by lines or visual links are perceived as related.

  • Use connectors, lines, or flow arrows only when a genuine relationship exists
  • In navigation trees or node-based editors, visible connections should match data relationships exactly

5. Figure / Ground

Users distinguish foreground interactive elements from background context.

  • Interactive controls should have sufficient contrast against their background
  • Disabled or contextual information should visually recede (lower contrast, smaller weight)
  • Modals and overlays must clearly separate from the underlying content layer

6. Continuity

The eye follows smooth paths and lines.

  • Align related controls along a consistent axis (left edge, baseline, or centre line)
  • Avoid breaking alignment within a logical group
  • Grid-aligned layouts reinforce groupings through shared axis continuity

Review Checklist

When reviewing a UI layout for Gestalt compliance:

  • Can a new user identify which controls belong together without reading labels?
  • Is proximity used as the primary grouping signal (not only borders/lines)?
  • Do visually similar elements share a functional purpose?
  • Are unrelated groups separated by meaningful whitespace?
  • Does the result of a click appear near the click, in the same place on every view?
  • Have unnecessary divider lines been removed in favour of whitespace (with spacing added to compensate)?
  • Does visual hierarchy match interaction hierarchy (primary > secondary > tertiary)?
  • Are destructive or irreversible actions visually distinct from constructive ones?
  • Is the figure/ground contrast sufficient for all interactive elements?

Common Anti-Patterns

Anti-patternProblemFix
All buttons same size and colour regardless of functionSimilarity principle violated — implies all actions are equivalentDifferentiate primary, secondary, destructive visually
Related controls spread across distant areas of the screenProximity violated — user cannot perceive the relationshipCo-locate related controls
Menu on the left, content starting far rightThe eye crosses the screen on every selectionAnchor content left, title level with the selected row; add a middle column on wide screens
Overuse of divider lines to group elementsRelies on decoration rather than spatial logicUse whitespace and proximity instead
Identical whitespace between all elementsNo grouping signal — everything reads as a flat listApply 8pt/4pt spacing scale: tight within group, loose between groups
Mixed icon styles within one toolbarSimilarity broken — implies different functional familiesUse a single consistent icon set and weight per toolbar

FAQ

What does the gestalt-ui-organisation skill do?

Group controls with Gestalt principles so users see what belongs together. Use when laying out components, navigation, toolbars, forms or dashboards.

How do I install gestalt-ui-organisation?

Run npx skills add https://github.com/dembrandt/dembrandt-skills --skill gestalt-ui-organisation 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/gestalt-ui-organisation/ (personal) or .claude/skills/gestalt-ui-organisation/ (project).

Which AI agents can use gestalt-ui-organisation?

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 gestalt-ui-organisation 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 gestalt-ui-organisation?

It is published by dembrandt in dembrandt/dembrandt-skills. It has 887 recorded installs.

More from dembrandt/dembrandt-skills

View all →

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.

Docs & Writing989 installs

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.

Frontend & Design940 installs

ui-density

dembrandt/dembrandt-skills

Match information density to platform and user type. Use when designing data tables, dashboards or toolbars, or adapting a desktop product for mobile.

Frontend & Design927 installs

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.

Frontend & Design925 installs

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.

Marketing & SEO915 installs

Popular frontend & design skills

View category →

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 & Design1.1M installs

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.

OfficialFrontend & Design1M installs

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.

Frontend & Design999.2K installs

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.

Frontend & Design930.5K installs

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.

OfficialFrontend & Design843.1K installs