Skip to content
Agent Orchestration
Skill

/arrange

Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.

BOOST
From plugin
ccg
5.9k47 skills19 commands
Install
$ npx -y skills add fengshao1227/ccg-workflow --skill arrange --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/arrange

Context preview

The summary Claude sees to decide when to auto-load this skill.

Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.

SKILL.md

arrange.SKILL.md
name: arrange
description: "Improve layout, spacing, and visual rhythm. Fixes monotonous grids, inconsistent spacing, and weak visual hierarchy. Use when the user mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition."
argument-hint: "[target]"
user-invocable: false

Assess and improve layout and spacing that feels monotonous, crowded, or structurally weak — turning generic arrangements into intentional, rhythmic compositions.

MANDATORY PREPARATION

Invoke /frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /teach-impeccable first.

---

Assess Current Layout

Analyze what's weak about the current spatial design:

1. **Spacing**:

  • Is spacing consistent or arbitrary? (Random padding/margin values)
  • Is all spacing the same? (Equal padding everywhere = no rhythm)
  • Are related elements grouped tightly, with generous space between groups?

2. **Visual hierarchy**:

  • Apply the squint test: blur your (metaphorical) eyes — can you still identify the most important element, second most important, and clear groupings?
  • Is hierarchy achieved effectively? (Space and weight alone can be enough — but is the current approach working?)
  • Does whitespace guide the eye to what matters?

3. **Grid & structure**:

  • Is there a clear underlying structure, or does the layout feel random?
  • Are identical card grids used everywhere? (Icon + heading + text, repeated endlessly)
  • Is everything centered? (Left-aligned with asymmetric layouts feels more designed, but not a hard and fast rule)

4. **Rhythm & variety**:

  • Does the layout have visual rhythm? (Alternating tight/generous spacing)
  • Is every section structured the same way? (Monotonous repetition)
  • Are there intentional moments of surprise or emphasis?

5. **Density**:

  • Is the layout too cramped? (Not enough breathing room)
  • Is the layout too sparse? (Excessive whitespace without purpose)
  • Does density match the content type? (Data-dense UIs need tighter spacing; marketing pages need more air)

**CRITICAL**: Layout problems are often the root cause of interfaces feeling "off" even when colors and fonts are fine. Space is a design material — use it with intention.

Plan Layout Improvements

Consult the [spatial design reference](reference/spatial-design.md) from the frontend-design skill for detailed guidance on grids, rhythm, and container queries.

Create a systematic plan:

  • **Spacing system**: Use a consistent scale — whether that's a framework's built-in scale (e.g., Tailwind), rem-based tokens, or a custom system. The specific values matter less than consistency.
  • **Hierarchy strategy**: How will space communicate importance?
  • **Layout approach**: What structure fits the content? Flex for 1D, Grid for 2D, named areas for complex page layouts.
  • **Rhythm**: Where should spacing be tight vs generous?

Improve Layout Systematically

Establish a Spacing System

  • Use a consistent spacing scale — framework scales (Tailwind, etc.), rem-based tokens, or a custom scale all work. What matters is that values come from a defined set, not arbitrary numbers.
  • Name tokens semantically if using custom properties: `--space-xs` through `--space-xl`, not `--spacing-8`
  • Use `gap` for sibling spacing instead of margins — eliminates margin collapse hacks
  • Apply `clamp()` for fluid spacing that breathes on larger screens

Create Visual Rhythm

  • **Tight grouping** for related elements (8-12px between siblings)
  • **Generous separation** between distinct sections (48-96px)
  • **Varied spacing** within sections — not every row needs the same gap
  • **Asymmetric compositions** — break the predictable centered-content pattern when it makes sense

Choose the Right Layout Tool

  • **Use Flexbox for 1D layouts**: Rows of items, nav bars, button groups, card contents, most component internals. Flex is simpler and more appropriate for the majority of layout tasks.
  • **Use Grid for 2D layouts**: Page-level structure, dashboards, data-dense interfaces, anything where rows AND columns need coordinated control.
  • **Don't default to Grid** when Flexbox with `flex-wrap` would be simpler and more flexible.
  • Use `repeat(auto-fit, minmax(280px, 1fr))` for responsive grids without breakpoints.
  • Use named grid areas (`grid-template-areas`) for complex page layouts — redefine at breakpoints.

Break Card Grid Monotony

  • Don't default to card grids for everything — spacing and alignment create visual grouping naturally
  • Use cards only when content is truly distinct and actionable — never nest cards inside cards
  • Vary card sizes, span columns, or mix cards with non-card content to break repetition

Strengthen Visual Hierarchy

  • Use the fewest dimensions needed for clear hierarchy. Space alone can be enough — generous whitespace around an element draws the eye. Some of the most sophisticated designs achieve rhythm with just space and weight. Add color or size contrast only when simpler means aren't sufficient.
  • Be aware of reading flow — in LTR languages, the eye naturally scans top-left to bottom-right, but primary action placement depends on context (e.g., bottom-right in dialogs, top in navigation).
  • Create clear content groupings through proximity and separation.

Manage Depth & Elevation

  • Create a semantic z-index scale (dropdown → sticky → modal-backdrop → modal → toast → tooltip)
  • Build a consistent shadow scale (sm → md → lg → xl) — shadows should be subtle
  • Use elevation to reinforce hierarchy, not as decoration

Optical Adjustments

  • If an icon looks visually off-center despite being geometrically centered, nudge it — but only if you're confident it actually looks wrong. Don't adjust speculatively.

**NEVER**:

  • Use arbitrary spacing values outside your scale
  • Make
Read more
Ships withccg

多模型协作工作流引擎 — /ccg:go 一个命令,AI 自动分析意图、选择策略、编排 Codex + Gemini + Claude 协作执行

Get the whole plugin

Other skills on ccg.

verify-change
Skill

verify-change

变更校验关卡。分析代码变更,检测文档同步状态,评估变更影响范围。当用户提到变更检查、文档同步、代码审查、提交前检查、diff分析时使用。在设计级变更、重构完成时自动触发。

verify-module
Skill

verify-module

模块完整性校验关卡。扫描目录结构、检测缺失文档、验证代码与文档同步。当用户提到模块校验、文档检查、结构完整性、README检查、DESIGN检查时使用。在新建模块完成时自动触发。

verify-quality
Skill

verify-quality

代码质量校验关卡。检测复杂度、重复代码、命名规范、函数长度等质量指标。当用户提到代码质量、复杂度检查、代码异味、重构建议、lint检查、代码规范时使用。在复杂模块、重构完成时自动触发。

verify-security
Skill

verify-security

安全校验关卡。自动扫描代码安全漏洞,检测危险模式,确保安全决策有文档记录。当用户提到安全扫描、漏洞检测、安全审计、代码安全、OWASP、注入检测、敏感信息泄露时使用。在新建模块、安全相关变…