PluginBench
Skill
Pass
Audit score 90

layout

pbakaus/impeccable

Improve layout, spacing, and visual rhythm to fix monotonous grids and weak hierarchy.

What is layout?

Assesses and improves spatial design by analyzing spacing consistency, visual hierarchy, grid structure, and rhythm. Use when layout feels off, spacing is inconsistent, visual hierarchy is weak, or the UI feels crowded or poorly composed.

  • Analyze spacing consistency and identify arbitrary or monotonous spacing patterns
  • Evaluate visual hierarchy using the squint test to assess information priority
  • Assess grid structure and detect overuse of identical card layouts
  • Identify rhythm and variety issues in layout composition
  • Evaluate density and breathing room relative to content type
  • Create systematic spacing scales and hierarchy strategies

How to install layout

npx skills add https://github.com/pbakaus/impeccable --skill layout
Prerequisites
  • Invoke /impeccable skill first to access design principles and Context Gathering Protocol
  • Run /impeccable teach if no design context exists yet
Claude Code
Cursor
Windsurf
Cline

How to use layout

  1. 1.Run /impeccable to establish design context and gather spatial design principles
  2. 2.Analyze the current layout using the five assessment criteria: spacing, visual hierarchy, grid structure, rhythm, and density
  3. 3.Consult the spatial design reference from the impeccable skill for detailed guidance
  4. 4.Create a systematic plan for spacing scale, hierarchy strategy, layout approach, and rhythm
  5. 5.Implement improvements by establishing a spacing system, creating visual rhythm, choosing appropriate layout tools (Flexbox vs Grid), and strengthening hierarchy
  6. 6.Verify improvements using the squint test, rhythm evaluation, hierarchy check, and responsiveness testing

Use cases

Good for
  • Fixing a dashboard that feels cramped with inconsistent spacing between sections
  • Redesigning a marketing page with weak visual hierarchy and monotonous card grids
  • Improving a data-dense interface by establishing a consistent spacing system and rhythm
  • Restructuring a page layout to guide user attention to primary actions
  • Converting arbitrary spacing values to a semantic spacing scale
Who it's for
  • UI/UX designers refining layout and composition
  • Frontend developers implementing design systems with consistent spacing
  • Product teams addressing feedback that interfaces feel 'off' or cluttered
  • Developers building responsive layouts that adapt gracefully across screen sizes

layout FAQ

When should I use Flexbox vs Grid?

Use Flexbox for 1D layouts (rows of items, nav bars, card contents, component internals). Use Grid for 2D layouts (page structure, dashboards, data-dense interfaces where rows and columns need coordinated control). Default to Flexbox when Flexbox with flex-wrap would be simpler.

How do I establish a consistent spacing system?

Use a defined spacing scale from a framework (Tailwind), rem-based tokens, or a custom system. Name tokens semantically (--space-xs through --space-xl). Use gap for sibling spacing instead of margins, and apply clamp() for fluid spacing that adapts to screen size.

What's the squint test and why does it matter?

Blur your eyes metaphorically and check if you can still identify the most important element, secondary elements, and clear groupings. It reveals whether your visual hierarchy is working through space and weight alone, without relying on color or other details.

How do I break monotonous card grid layouts?

Don't default to card grids for everything. Use cards only when content is truly distinct and actionable. Vary card sizes, span columns, mix cards with non-card content, or use spacing and alignment to create groupings naturally without wrapping everything in cards.

What spacing values should I use for rhythm?

Use tight grouping (8-12px) for related elements, generous separation (48-96px) between distinct sections, and varied spacing within sections. Avoid making all spacing equal—variety creates hierarchy and rhythm.

Full instructions (SKILL.md)

Source of truth, from pbakaus/impeccable.


name: layout 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. version: 2.1.1 user-invocable: true argument-hint: "[target]"

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 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, 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 all spacing equal — variety creates hierarchy
  • Wrap everything in cards — not everything needs a container
  • Nest cards inside cards — use spacing and dividers for hierarchy within
  • Use identical card grids everywhere (icon + heading + text, repeated)
  • Center everything — left-aligned with asymmetry feels more designed
  • Default to the hero metric layout (big number, small label, stats, gradient) as a template. If showing real user data, a prominent metric can work — but it should display actual data, not decorative numbers.
  • Default to CSS Grid when Flexbox would be simpler — use the simplest tool for the job
  • Use arbitrary z-index values (999, 9999) — build a semantic scale

Verify Layout Improvements

  • Squint test: Can you identify primary, secondary, and groupings with blurred vision?
  • Rhythm: Does the page have a satisfying beat of tight and generous spacing?
  • Hierarchy: Is the most important content obvious within 2 seconds?
  • Breathing room: Does the layout feel comfortable, not cramped or wasteful?
  • Consistency: Is the spacing system applied uniformly?
  • Responsiveness: Does the layout adapt gracefully across screen sizes?

Remember: Space is the most underused design tool. A layout with the right rhythm and hierarchy can make even simple content feel polished and intentional.