Vizro designing-vizro-layouts

Use this skill when designing or building Vizro dashboard layouts — grid configuration, component sizing, filter/parameter placement, selector types, or container patterns. Activate when the user is creating wireframes, defining page structure, placing controls, or sizing charts.

install
source · Clone the upstream repo
git clone https://github.com/mckinsey/vizro
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mckinsey/vizro "$T" && mkdir -p ~/.claude/skills && cp -r "$T/vizro-e2e-flow/skills/designing-vizro-layouts" ~/.claude/skills/mckinsey-vizro-designing-vizro-layouts && rm -rf "$T"
manifest: vizro-e2e-flow/skills/designing-vizro-layouts/SKILL.md
source content

Vizro Layout Guidelines

Core Rules

  • Use
    type: grid
    (not
    vm.Layout
    ). Recommended: 12 columns,
    row_min_height: "140px"
    .
  • Use
    -1
    for empty cells. Every component must form a perfect rectangle in the grid.
  • Place 2–3 charts per row. Full-width only for time-series line charts.
  • Modifying existing layouts: Replicate the original structure and apply only the technical constraints below. See layout-guidelines.md for details.

Component Sizing (12-col grid, 140px rows)

ComponentColumnsRowsHeight
KPI Card2–31140px
Small Chart43420px
Large Chart64–5560–700px
Table124–6560–840px

KPI cards: Place in the page

Grid
with equal columns and equal rows per card (e.g. 4 cards = 3 cols each). Use
-1
for remaining empty cells. See layout-guidelines.md for the full KPI count lookup table and YAML examples. Charts need at least 2–3 rows to avoid looking squeezed.

Filter Placement

  • Page-level (left sidebar): filters shared across multiple components
  • Container-level (above container): filters scoped only to the components inside that container
  • Prefer Filters over Parameters. Do not set
    targets:
    by default — all components containing the specified column are automatically affected. Only set
    targets:
    when you want to limit which components are affected.

Selectors

Default: Just provide the column name to

Filter
or
Parameter
— Vizro auto-selects the appropriate selector based on the data type. Only override when the auto-selected selector doesn't fit:

Data typeSelectorExample
2–4 optionsRadioItemsRegion (N/S/E/W)
5+ optionsDropdownCategory (many)
Numeric rangeRangeSliderPrice ($0–$1000)
Single numberSliderYear (2020–2025)
DateDatePickerOrder date
Multi-selectChecklistStatus (Active, etc.)

Deep Dive

Load layout-guidelines.md when you need: grid YAML examples (correct vs incorrect), flexible width distributions, container patterns (plain/filled/outlined), visual hierarchy principles, or Vizro platform constraints.