Skip to content
ha-dashboard-layouts logo

Home Assistant Dashboard Layouts

ha-dashboard-layouts

Provides Home Assistant dashboard layout patterns using vertical-stack (top-to-bottom), horizontal-stack (side-by-side), grid (responsive multi-column), panel (full-screen), and nested layouts for complex designs. Use when asked to "arrange cards side by side", "create 3 column grid", "stack card...

SKILL.md

Full skill instructions

Works with Lovelace YAML configurations, native layout cards, and mobile-first responsive patterns.

Home Assistant Dashboard Layouts

Create responsive Home Assistant Lovelace dashboards using native layout types.

When to Use This Skill

Use this skill when you need to:

  • Arrange cards vertically (top-to-bottom stacking) for sequential information
  • Place cards side-by-side horizontally for comparisons or related controls
  • Create multi-column grid layouts that automatically reflow on mobile
  • Build full-screen panel views for maps, cameras, or single-focus displays
  • Nest layouts for complex dashboard designs with sections
  • Make dashboards responsive with automatic mobile stacking

Do NOT use when:

  • You need conditional card visibility (use ha-conditional-cards instead)
  • Building forms or input interfaces (use entities card or custom forms)
  • You need advanced CSS Grid features (consider layout-card from HACS)

Usage

  1. Identify user intent: Map natural language ("side by side", "3 columns") to layout type
  2. Choose layout: vertical-stack (top to bottom), horizontal-stack (side by side), grid (multi-column), panel (full-screen)
  3. Apply configuration: Add YAML with appropriate type and options
  4. Test responsiveness: Verify mobile behavior (grid auto-stacks, horizontal stays side-by-side)
  5. Refine: Adjust columns, square property, or nest layouts for complex designs

How to Request Layouts

Map user's natural language to layout types:

Vertical Stack (top to bottom):

  • "Stack these vertically"
  • "Put these one below the other"
  • "Top to bottom"

Horizontal Stack (side by side):

  • "Put these side by side"
  • "Arrange them horizontally"
  • "Next to each other"
  • "Layout in a row"

Grid Layouts:

  • "Use a 3-column grid" → columns: 3
  • "Grid with columns: 4" → columns: 4
  • "Two columns side by side" → columns: 2
  • "Make cards square" → square: true
  • "Equal height and width" → square: true

Panel View (full-screen single card):

  • "Make this type: panel"
  • "Full-screen card"
  • "Kiosk mode"

Nested Layouts:

  • "Vertical stack with horizontal rows"
  • "Put separator, then gauges horizontal, then graph below"
  • "Stack sections vertically, but put cards side-by-side"

Layout Types Quick Reference

1. Vertical Stack

Cards stack top to bottom, full width.

{
    "type": "vertical-stack",
    "cards": [
        {"type": "entity", "entity": "sensor.temperature"},
        {"type": "entity", "entity": "sensor.humidity"},
        {"type": "entity", "entity": "sensor.pressure"},
    ]
}

Use when: Cards should stack regardless of screen size.

2. Horizontal Stack

Cards arranged left to right, equal width distribution.

{
    "type": "horizontal-stack",
    "cards": [
        {"type": "entity", "entity": "sensor.temperature"},
        {"type": "entity", "entity": "sensor.humidity"},
    ]
}

Use when: Cards should appear side-by-side on desktop and mobile. Limit to 2-3 cards (more gets cramped on mobile).

3. Grid Layouts

Multi-column grid with automatic mobile reflow.

# 3-column grid
{
    "type": "grid",
    "columns": 3,  # Auto-stacks to 1 column on mobile
    "cards": [
        {"type": "entity", "entity": "sensor.temp1"},
        {"type": "entity", "entity": "sensor.temp2"},
        {"type": "entity", "entity": "sensor.temp3"},
        {"type": "entity", "entity": "sensor.temp4"},
        # Cards wrap to next row
    ]
}

# Square cards (equal width/​height)
{
    "type": "grid",
    "columns": 3,
    "square": True,  # Forces equal aspect ratio
    "cards": [...]
}

Common column counts:

  • columns: 2 → Mobile-friendly, compact
  • columns: 3 → Balanced tablet/​desktop
  • columns: 4 → Wide desktop screens

Use square: true when: Uniform appearance needed (gauges, icons, visual consistency).

4. Panel View

Full-screen single card (view-level property, not card type).

{
    "views": [
        {
            "title": "Map",
            "type": "panel",  # ← VIEW property
            "cards": [
                {"type": "map", "entities": ["person.john"]}
                # Only ONE card allowed
            ]
        }
    ]
}

Use when: Full-screen dashboards, kiosk mode, maps, cameras, single-focus displays.

5. Nested Layouts

Combine layouts for complex designs.

# Pattern: Vertical stack containing sections
{
    "type": "vertical-stack",
    "cards": [
        # Section 1: Horizontal cards
        {
            "type": "custom:bubble-card",
            "card_type": "separator",
            "name": "Quick Controls",
        },
        {
            "type": "horizontal-stack",
            "cards": [
                {"type": "entity", "entity": "sensor.temp"},
                {"type": "entity", "entity": "sensor.humidity"},
            ]
        },
        # Section 2: Grid layout
        {
            "type": "custom:bubble-card",
            "card_type": "separator",
            "name": "Sensors",
        },
        {
            "type": "grid",
            "columns": 3,
            "cards": [
                {"type": "entity", "entity": "sensor.pm25"},
                {"type": "entity", "entity": "sensor.co2"},
                {"type": "entity", "entity": "sensor.voc"},
            ]
        },
    ]
}

Common nesting patterns:

  • vertical-stack → horizontal-stack (sections with side-by-side cards)
  • vertical-stack → grid (sections with multi-column cards)
  • horizontal-stack → vertical-stack (two-column responsive layout)

Mobile Responsiveness

Grid cards automatically reflow:

  • Desktop: Respects columns value
  • Mobile: Stacks to 1 column
  • No media queries needed

Horizontal stacks:

  • Remain side-by-side on mobile
  • Use sparingly (2-3 cards max)

Best practices:

  • Test on actual mobile device (browser resize ≠ mobile behavior)
  • Place frequently-used controls at top
  • Use columns: 2 or columns: 3 for mobile-friendly grids

Advanced Layouts

For more complex requirements, see reference files:

Common Dashboard Patterns

Temperature Gauges in Grid

{
    "type": "grid",
    "columns": 4,
    "cards": [
        {
            "type": "custom:modern-circular-gauge",
            "entity": "sensor.office_temperature",
            "name": "Office",
            "min": 10,
            "max": 40,
        },
        {
            "type": "custom:modern-circular-gauge",
            "entity": "sensor.living_room_temperature",
            "name": "Living Room",
            "min": 10,
            "max": 40,
        },
        # ... more gauges
    ]
}

Gauge + Graph Side-by-Side

{
    "type": "horizontal-stack",
    "cards": [
        {
            "type": "custom:modern-circular-gauge",
            "entity": "sensor.temperature",
            "name": "Current",
        },
        {
            "type": "custom:mini-graph-card",
            "entity": "sensor.temperature",
            "name": "24h Trend",
            "hours_to_show": 24,
        },
    ]
}

Section with Separator

{
    "type": "vertical-stack",
    "cards": [
        {
            "type": "custom:bubble-card",
            "card_type": "separator",
            "name": "Climate",
            "icon": "mdi:thermometer",
        },
        {
            "type": "grid",
            "columns": 3,
            "cards": [
                # Climate cards here
            ],
        },
    ]
}

Official Documentation

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View