
Arrange
Tune spacing, grids, and visual hierarchy when a solo builder’s UI feels crowded, flat, or misaligned.
Overview
Arrange is an agent skill most often used in Build (also Ship review) that assesses and improves layout, spacing, and visual hierarchy when UI composition feels off.
Install
npx skills add https://github.com/pbakaus/impeccable --skill arrangeWhat is this skill?
- Mandatory prep via /impeccable Context Gathering Protocol before any layout changes
- Three-axis assessment: spacing rhythm, squint-test hierarchy, grid and structure
- Diagnoses equal-padding monotony and arbitrary margin values
- Groups related elements with tight internal spacing and generous between-group gaps
- Targets user-invoked pain: layout feels off, alignment, crowded UI, weak composition
- Three assessment areas: spacing, visual hierarchy, grid and structure
- Mandatory /impeccable Context Gathering Protocol before proceeding
Adoption & trust: 39.5k installs on skills.sh; 35.9k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your interface looks fine in pieces but feels crowded, flat, or randomly spaced with no clear visual priority when you step back.
Who is it for?
Solo builders polishing SaaS dashboards, marketing pages, or mobile shells who already use Impeccable and want rhythm and grouping fixed—not a full redesign.
Skip if: Skip when you have no UI to change yet, refuse the /impeccable teach step when context is missing, or need brand-new information architecture instead of spatial tuning.
When should I use this skill?
User mentions layout feeling off, spacing issues, visual hierarchy, crowded UI, alignment problems, or wanting better composition.
What do I get? / Deliverables
You get a structured layout assessment and concrete spacing and hierarchy improvements aligned with Impeccable design principles after /impeccable prep runs.
- Layout and spacing assessment against Impeccable principles
- Concrete hierarchy and grouping recommendations for target screens
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build because layout fixes land on shipped UI surfaces; the skill is invoked while composing or refactoring screens. Frontend is where spacing tokens, component padding, and page composition live—the primary artifacts this skill improves.
Where it fits
Refactor a settings page where every card uses identical padding so primary actions finally read as dominant.
Tighten form field grouping and add breathing room between sections on a crowded onboarding flow.
Run arrange before launch when marketing and app shells share components but spacing feels inconsistent across routes.
How it compares
Use for spatial composition and rhythm within Impeccable’s checklist system—not as a generic “make it pretty” one-shot prompt.
Common Questions / FAQ
Who is arrange for?
Solo and indie builders using Claude Code, Cursor, or similar agents on frontend work who notice spacing, alignment, or hierarchy problems in real UI code.
When should I use arrange?
During Build frontend passes when layout feels off; during Ship review before launch when screens feel crowded; anytime you mention spacing issues, weak hierarchy, or alignment problems on an existing screen.
Is arrange safe to install?
It guides design assessment and layout recommendations on your codebase—review the Security Audits panel on this page and inspect what files your agent edits before applying changes.
SKILL.md
READMESKILL.md - Arrange
Assess and improve layout and spacing that feels monotonous, crowded, or structurally weak — turning generic arrangements into intentional, rhythmic compositions. ## MANDATORY PREPARATION Invoke /impeccable — 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 /impeccable teach 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 impeccable 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,