К основному содержанию
скилл CX Codex

gestalt-ui-organisation — скилл для Claude Code: группировка

Скилл раскладывает контролы по принципам гештальта, чтобы пользователь видел, что к чему относится, без чтения подписей. Пригодится при вёрстке тулбаров, форм, навигации и дашбордов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add dembrandt/dembrandt-skills --skill gestalt-ui-organisation -a claude-code
Открыть на GitHub

Что делает gestalt-ui-organisation

Скилл объясняет агенту шесть принципов гештальта применительно к интерфейсу: близость, сходство, общая область, связанность, фигура и фон, непрерывность. Дальше он применяет их к вашему коду — группирует связанные кнопки, разводит несвязанные блоки отступами, выравнивает контролы по одной оси.

Отдельный акцент на близости. Скилл советует группировать отступами, а не разделительными линиями: линии добавляют шум и не несут информации. Но есть оговорка — убрав линию, нужно добавить воздуха, иначе группы слипнутся. Чем дальше элементы друг от друга, тем сильнее нужен разделитель: компактная таблица читается без линий, та же таблица во всю ширину уже требует строк или зебры.

Ещё скилл следит за связкой «клик — результат». Содержимое должно появляться рядом с местом клика, а не через весь экран, и одинаково во всех представлениях. Работает по файлам **/*.tsx, **/*.jsx, **/*.vue, **/*.svelte и по каталогам components/**, design-system/**, ui/**.

Какие задачи решает

  • сгруппировать кнопки тулбара так, чтобы связь читалась без разделителей
  • развести отступами несвязанные блоки формы
  • убрать лишние разделительные линии и добавить вместо них воздух
  • выровнять контролы по одной оси внутри логической группы
  • привязать появление контента к месту клика в навигации

Примеры запросов агенту

  • сгруппируй эти кнопки, чтобы пользователь понял, что они связаны
  • сделай понятнее, какие команды относятся друг к другу
  • разложи этот тулбар по принципам гештальта

Как установить gestalt-ui-organisation

1Через Skills CLI (Vercel)

npx skills add dembrandt/dembrandt-skills --skill gestalt-ui-organisation -a claude-code

2Вручную: положить файлы

~/.claude/skills/gestalt-ui-organisation/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/gestalt-ui-organisation/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора34

modular-scale-typography Строит гармоничную типографику на основе единого коэффициента. Скилл помогает задать CSS-переменные или конфиг Tailwind, когда кегли в проекте подобраны хаотично. CX Codex +1 884установок algorithmic-color-palette Скилл выводит полную UI-палитру из одной-двух брендовых красок: состояния, серые с оттенком бренда, семантические цвета. CX Codex +1 887установок user-flows-and-guided-paths Скилл помогает проектировать пошаговые сценарии, визарды, экраны онбординга и чекаута. Подсказывает, как выстроить навигацию и сохранить контекст пользователя. CX Codex +1 879установок responsive-paradigms Задаёт для ИИ-агента правила адаптивной вёрстки: делит мобильные, планшетные и десктопные интерфейсы на разные парадигмы взаимодействия, а не просто масштабирует один макет. CX Codex +1 875установок visual-emphasis-and-hierarchy Задаёт правила визуальной иерархии в интерфейсе: акценты на кнопках, контраст, отступы и выделение текста. Пригодится при вёрстке дашбордов, карточек и баннеров. CX Codex +1 874установок button-states Скилл описывает шесть состояний интерактивных элементов и выводит цвета hover и active из базового цвета по HSL. Пригодится, когда кнопки в проекте выглядят незаконченными. CX Codex +1 877установок component-family-consistency Скилл следит, чтобы кнопки, поля ввода, бейджи и пилюли делили радиус, цвета, тени, границы и отступы. Пригодится при сборке или ревизии библиотеки компонентов. CX Codex +1 874установок loading-states-and-perceived-performance Скилл для ИИ-кодинга, который помогает выбрать спиннер, скелетон или прогресс-бар и сделать интерфейс быстрее на ощупь. CX Codex +1 871установок

Похожие

law-of-common-region Owl-Listener Скилл по гештальт-принципу общей области: подсказывает, когда объединять элементы рамкой, фоном или карточкой, а не одним отступом. CX Codex +1 1 700установок dark-glass-clean-layout MengTo Скилл задаёт тёмную стеклянную систему интерфейса с колонками, плавающими карточками и спокойной глубиной. Нужен для рабочих пространств и консолей. CX Codex +1 1 400установок framed-grid-layout MengTo Скилл задаёт правила вёрстки страниц с тонкими видимыми границами секций, L-образными уголками и строгой привязкой к сетке. CX Codex +1 1 400установок critique-composition Owl-Listener Оценивает баланс, пустое пространство, ритм и гештальт-группировку на готовом экране. Помогает, когда в макете всё на месте по иерархии, но композиция выглядит разваленной. CX Codex +1 1 900установок arrange aladicf Скилл разбирает слабую пространственную композицию интерфейса: произвольные отступы, слипшиеся блоки, однообразные сетки карточек. CX Codex +1 577установок impeccable pbakaus Скилл для ИИ-агента: проектирует и переделывает интерфейсы — лендинги, дашборды, формы, экраны iOS и Android. Пригодится, когда вёрстку пора привести в порядок по правилам дизайна. CX Codex +1 361 300установок

Рядом в теме «Дизайн»

Всё по теме «Дизайн» →

Вопросы о gestalt-ui-organisation

Как установить gestalt-ui-organisation в Claude?

Выполните npx skills add dembrandt/dembrandt-skills --skill gestalt-ui-organisation -a claude-code. Скилл окажется в ~/.claude/skills/gestalt-ui-organisation/SKILL.md.

Что делает gestalt-ui-organisation?

Помогает агенту группировать контролы по принципам гештальта: близость, сходство, общая область, связанность, фигура и фон, непрерывность. В результате визуальная структура сама показывает, какие элементы относятся друг к другу.

На каких файлах работает скилл?

Он подключается к **/*.tsx, **/*.jsx, **/*.vue, **/*.svelte, а также к каталогам components/**, src/components/**, design-system/** и ui/**.

Исходный текст

SKILL.md · MIT
---
name: gestalt-ui-organisation
description: Group controls with Gestalt principles so users see what belongs together. Use when laying out components, navigation, toolbars, forms or dashboards.
metadata:
  priority: 7
  docs:
    - "https://www.interaction-design.org/literature/topics/gestalt-principles"
  pathPatterns:
    - "**/*.tsx"
    - "**/*.jsx"
    - "**/*.vue"
    - "**/*.svelte"
    - "components/**"
    - "src/components/**"
    - "design-system/**"
    - "ui/**"
  promptSignals:
    phrases:
      - "gestalt"
      - "grouping"
      - "visual hierarchy"
      - "ui layout"
      - "component organisation"
      - "related controls"
      - "ui clarity"
retrieval:
  aliases:
    - gestalt
    - visual grouping
    - ui organisation
    - proximity
    - similarity
    - figure ground
  intents:
    - group related controls
    - make ui clearer
    - organise components
    - show which elements belong together
    - improve visual hierarchy
  examples:
    - group these buttons so users know they're related
    - make it clearer which commands belong together
    - organise this toolbar using gestalt
---

# 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-pattern | Problem | Fix |
|---|---|---|
| All buttons same size and colour regardless of function | Similarity principle violated — implies all actions are equivalent | Differentiate primary, secondary, destructive visually |
| Related controls spread across distant areas of the screen | Proximity violated — user cannot perceive the relationship | Co-locate related controls |
| Menu on the left, content starting far right | The eye crosses the screen on every selection | Anchor content left, title level with the selected row; add a middle column on wide screens |
| Overuse of divider lines to group elements | Relies on decoration rather than spatial logic | Use whitespace and proximity instead |
| Identical whitespace between all elements | No grouping signal — everything reads as a flat list | Apply 8pt/4pt spacing scale: tight within group, loose between groups |
| Mixed icon styles within one toolbar | Similarity broken — implies different functional families | Use a single consistent icon set and weight per toolbar |

© dembrandt · MIT · dembrandt/dembrandt-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой