Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    FAeN399

    css-layout-builder

    FAeN399/css-layout-builder
    Coding

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Advanced CSS layout specialist for building complex, responsive layouts using CSS Grid, Flexbox, and modern positioning techniques.

    SKILL.md

    CSS Layout Builder

    Expert skill for creating sophisticated, responsive CSS layouts using modern techniques. Master CSS Grid, Flexbox, container queries, and advanced positioning patterns.

    Overview

    This skill specializes in complex layout challenges:

    • Multi-column responsive layouts
    • CSS Grid systems and named areas
    • Advanced Flexbox patterns
    • Container queries for component-based responsive design
    • Holy Grail, Sidebar, Dashboard layouts
    • Responsive navigation patterns
    • Complex grid systems

    Usage

    Trigger this skill with queries like:

    • "Build a responsive grid layout with [specifications]"
    • "Create a sidebar layout with CSS Grid"
    • "Design a dashboard layout"
    • "Build a responsive navigation system"
    • "Create a masonry-style grid"
    • "Implement container queries for responsive components"

    Layout Design Process

    Step 1: Requirements Analysis

    • Identify layout structure (sidebar, multi-column, grid, etc.)
    • Determine responsive breakpoints
    • Understand content hierarchy
    • Clarify interaction patterns

    Step 2: Layout Strategy

    • Choose appropriate technique (Grid vs Flexbox)
    • Plan responsive behavior
    • Define breakpoint strategy
    • Consider mobile-first approach

    Step 3: Implementation

    • Build base layout structure
    • Add responsive adjustments
    • Optimize for performance
    • Test across viewports

    Core Layout Patterns

    Holy Grail Layout

    Three-column layout with header and footer, where side columns have fixed width and center column is fluid.

    .holy-grail {
      display: grid;
      grid-template-areas:
        "header header header"
        "left main right"
        "footer footer footer";
      grid-template-columns: 200px 1fr 200px;
      grid-template-rows: auto 1fr auto;
      min-height: 100vh;
    }
    
    .header { grid-area: header; }
    .left { grid-area: left; }
    .main { grid-area: main; }
    .right { grid-area: right; }
    .footer { grid-area: footer; }
    
    /* Responsive */
    @media (max-width: 768px) {
      .holy-grail {
        grid-template-areas:
          "header"
          "main"
          "left"
          "right"
          "footer";
        grid-template-columns: 1fr;
      }
    }
    

    Sidebar Layout

    Content area with collapsible sidebar.

    .layout-with-sidebar {
      display: grid;
      grid-template-columns: 250px 1fr;
      gap: 2rem;
    }
    
    .sidebar {
      position: sticky;
      top: 2rem;
      height: fit-content;
    }
    
    /* Collapsed sidebar */
    .layout-with-sidebar[data-sidebar="collapsed"] {
      grid-template-columns: 60px 1fr;
    }
    
    @media (max-width: 1024px) {
      .layout-with-sidebar {
        grid-template-columns: 1fr;
      }
    
      .sidebar {
        position: fixed;
        transform: translateX(-100%);
        transition: transform 0.3s;
      }
    
      .sidebar[data-open="true"] {
        transform: translateX(0);
      }
    }
    

    Dashboard Grid

    Flexible dashboard with resizable panels.

    .dashboard {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 1.5rem;
      padding: 1.5rem;
    }
    
    .panel-large {
      grid-column: span 8;
    }
    
    .panel-medium {
      grid-column: span 6;
    }
    
    .panel-small {
      grid-column: span 4;
    }
    
    @media (max-width: 768px) {
      .panel-large,
      .panel-medium,
      .panel-small {
        grid-column: span 12;
      }
    }
    

    Masonry Layout (CSS Grid)

    Pinterest-style masonry layout.

    .masonry {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
      grid-auto-rows: 10px;
      gap: 1rem;
    }
    
    .masonry-item {
      /* Items span rows based on content height */
      grid-row-end: span var(--row-span);
    }
    

    Card Grid

    Responsive card grid with auto-fit.

    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 2rem;
    }
    
    /* With maximum columns */
    .card-grid-limited {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
      max-width: 1400px;
      margin: 0 auto;
    }
    
    @supports (width: min(300px, 100%)) {
      .card-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
      }
    }
    

    Advanced Techniques

    Container Queries

    Component-responsive design independent of viewport.

    .card-container {
      container-type: inline-size;
      container-name: card;
    }
    
    .card {
      display: block;
    }
    
    @container card (min-width: 400px) {
      .card {
        display: grid;
        grid-template-columns: 200px 1fr;
      }
    }
    
    @container card (min-width: 600px) {
      .card {
        grid-template-columns: 300px 1fr;
      }
    }
    

    Subgrid

    Align nested grid items with parent grid.

    .main-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1rem;
    }
    
    .nested-grid {
      display: grid;
      grid-column: span 2;
      grid-template-columns: subgrid;
      gap: 1rem;
    }
    

    Sticky Headers/Footers

    Fixed positioning within scroll containers.

    .scroll-container {
      display: flex;
      flex-direction: column;
      height: 100vh;
    }
    
    .sticky-header {
      position: sticky;
      top: 0;
      z-index: 10;
      background: white;
    }
    
    .scrollable-content {
      flex: 1;
      overflow-y: auto;
    }
    
    .sticky-footer {
      position: sticky;
      bottom: 0;
      z-index: 10;
      background: white;
    }
    

    Responsive Navigation

    Mobile-first navigation patterns.

    /* Mobile: Hamburger menu */
    .nav {
      display: flex;
      flex-direction: column;
      position: fixed;
      top: 0;
      left: 0;
      width: 250px;
      height: 100vh;
      transform: translateX(-100%);
      transition: transform 0.3s;
    }
    
    .nav[data-open="true"] {
      transform: translateX(0);
    }
    
    /* Tablet: Horizontal */
    @media (min-width: 768px) {
      .nav {
        position: static;
        flex-direction: row;
        width: auto;
        height: auto;
        transform: none;
      }
    }
    
    /* Desktop: Full width with dropdowns */
    @media (min-width: 1024px) {
      .nav {
        justify-content: space-between;
      }
    
      .nav-dropdown {
        position: absolute;
        display: none;
      }
    
      .nav-item:hover .nav-dropdown {
        display: block;
      }
    }
    

    Bundled Resources

    Scripts

    scripts/layout_analyzer.py - Analyzes CSS layout complexity and suggests optimizations

    • Detects layout methods used (Grid, Flexbox, Float)
    • Identifies responsive breakpoints
    • Checks for browser compatibility issues
    • Suggests modern alternatives

    Usage:

    python scripts/layout_analyzer.py styles.css
    

    scripts/breakpoint_generator.py - Generates responsive breakpoint templates

    • Creates standard breakpoint boilerplate
    • Generates mobile-first media queries
    • Outputs container query templates

    Usage:

    python scripts/breakpoint_generator.py --output breakpoints.css
    

    References

    references/grid_complete_guide.md - Comprehensive CSS Grid guide with all properties and patterns

    references/flexbox_complete_guide.md - Complete Flexbox reference with alignment patterns and use cases

    references/responsive_patterns.md - Collection of responsive design patterns and breakpoint strategies

    references/container_queries_guide.md - Modern container queries guide for component-based responsive design

    references/layout_debugging.md - Techniques for debugging layout issues and common pitfalls

    Responsive Strategy

    Mobile-First Approach

    /* Base styles for mobile */
    .container {
      display: block;
      padding: 1rem;
    }
    
    /* Tablet and up */
    @media (min-width: 768px) {
      .container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        padding: 2rem;
      }
    }
    
    /* Desktop and up */
    @media (min-width: 1024px) {
      .container {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1200px;
        margin: 0 auto;
      }
    }
    

    Fluid Typography with Clamp

    h1 {
      font-size: clamp(2rem, 5vw, 4rem);
    }
    
    .container {
      width: clamp(300px, 90%, 1200px);
      padding: clamp(1rem, 3vw, 3rem);
    }
    

    Responsive Spacing

    :root {
      --spacing-xs: clamp(0.5rem, 1vw, 0.75rem);
      --spacing-sm: clamp(0.75rem, 2vw, 1rem);
      --spacing-md: clamp(1rem, 3vw, 1.5rem);
      --spacing-lg: clamp(1.5rem, 4vw, 2rem);
      --spacing-xl: clamp(2rem, 5vw, 3rem);
    }
    

    Best Practices

    CSS Grid

    • Use for two-dimensional layouts
    • Leverage named grid areas for clarity
    • Use auto-fit/auto-fill for responsive grids
    • Consider subgrid for nested grids
    • Use gap instead of margins between grid items

    Flexbox

    • Use for one-dimensional layouts
    • Best for navigation, toolbars, card rows
    • Use flex-wrap for responsive rows
    • Leverage flex-grow/shrink for flexible items
    • Combine with gap for consistent spacing

    General Layout

    • Start mobile-first
    • Use CSS custom properties for breakpoints
    • Minimize media queries with fluid techniques
    • Consider container queries for components
    • Test on real devices, not just browser resize
    • Use semantic HTML with layout CSS

    Performance

    • Avoid nested calc() functions
    • Minimize layout recalculations
    • Use transform for animations, not positioning
    • Consider will-change for animated elements
    • Optimize for paint and composite

    Common Patterns

    Centered Container

    .container {
      width: min(90%, 1200px);
      margin-inline: auto;
      padding-inline: 1rem;
    }
    

    Full Bleed Sections

    .full-bleed {
      width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
    }
    

    Aspect Ratio Containers

    .video-container {
      aspect-ratio: 16 / 9;
      width: 100%;
    }
    
    .square {
      aspect-ratio: 1;
    }
    

    Equal Height Columns

    .equal-height-columns {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-auto-rows: 1fr;
    }
    

    Troubleshooting

    Grid items not aligning

    • Check grid-template-columns definition
    • Verify grid-area names match
    • Ensure grid-column/row spans are correct
    • Check for conflicting positioning

    Flexbox items overflowing

    • Add flex-wrap: wrap
    • Set min-width: 0 on flex items
    • Check flex-shrink values
    • Verify parent width

    Responsive layout breaking

    • Test breakpoints at actual device widths
    • Check for fixed widths instead of max-width
    • Verify overflow handling
    • Test with long content

    Performance issues

    • Avoid animating layout properties
    • Use transform/opacity for animations
    • Check for excessive nesting
    • Minimize repaints with containment

    When to Use This Skill

    Use css-layout-builder when:

    • Building complex multi-section layouts
    • Creating responsive grid systems
    • Implementing dashboard or admin layouts
    • Need advanced positioning patterns
    • Building component-based responsive designs
    • Optimizing layout performance

    Choose other skills for:

    • Simple static pages (use html-static-design)
    • Adding interactions (use javascript-interactive-design)
    • Component libraries (use ui-component-design)
    • Complete design systems (use design-system-builder)

    Browser Support

    Modern features support:

    • CSS Grid: All modern browsers (IE11 with -ms- prefix)
    • Flexbox: All modern browsers (IE10+ with prefixes)
    • Container Queries: Chrome 105+, Safari 16+, Firefox 110+
    • Subgrid: Chrome 117+, Safari 16+, Firefox 71+
    • aspect-ratio: Chrome 88+, Safari 15+, Firefox 89+

    Use feature queries for progressive enhancement:

    @supports (container-type: inline-size) {
      /* Container query styles */
    }
    
    Repository
    faen399/skill-repo
    Files