"Build, validate, run, and troubleshoot Vizro dashboards in Python
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill core-dashboard-build --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Core Dashboard Build?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-core-dashboard-build)More formats (shields.io, HTML) on the badges page.
---
name: core-dashboard-build
description: "Build, validate, run, and troubleshoot Vizro dashboards in Python
or YAML using vizro-core models and the Vizro app wrapper."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# Core Dashboard Build
Use this sub-skill when the task is to create, validate, run, deploy, or troubleshoot a Vizro dashboard at the dashboard/page/layout level.
Route elsewhere when the task is mainly about:
- Data, controls, actions, or component wiring: `../core-components-data-actions/SKILL.md`.
- Chart selection or Plotly figure code: `../charts-and-figures/SKILL.md`.
- Agent/MCP dashboard generation: `../mcp-agent-workflows/SKILL.md`.
- Repository tests/build tooling: `../repo-development-testing/SKILL.md`.
## Fast Path: Python dashboard
```python
from vizro import Vizro
import vizro.models as vm
page = vm.Page(
title="Overview",
components=[
vm.Card(text="Hello Vizro"),
],
)
dashboard = vm.Dashboard(pages=[page], title="My dashboard")
app = Vizro().build(dashboard) # returns the Vizro wrapper
app.run(debug=True)
```
Important: `Vizro().build()` returns the `Vizro` wrapper. Use `app.dash` for raw Dash APIs, callback maps, `index_string`, server integration, or app title checks.
## Fast Path: YAML dashboard
YAML examples load into the same Pydantic models:
```python
from pathlib import Path
import yaml
from vizro import Vizro
from vizro.models import Dashboard
config = yaml.safe_load(Path("dashboard.yaml").read_text(encoding="utf-8"))
dashboard = Dashboard(**config)
Vizro().build(dashboard).run()
```
Use `scripts/validate_vizro_dashboard.py dashboard.yaml` to parse and build without starting a server.
## Dashboard/page rules of thumb
- Build from `vm.Dashboard(pages=[...])` and `vm.Page(title=..., components=[...])` first; add data, filters, actions, and charts after the skeleton validates.
- Keep each page title unique and human-readable. The navigation layer derives behavior from pages and routes.
- Prefer documented Vizro models over raw Dash components for normal authoring; raw Dash components are useful for custom components only after model options are exhausted.
- Use Pydantic validation errors as a guide: they usually point to a wrong model field, wrong component type, or missing required nested object.
- If a page uses external assets, pass `assets_folder` into `Vizro(...)` rather than relying on the current working directory.
## Layout guidance
- Use Vizro containers/layout models for dashboard layout rather than manual Dash CSS when possible.
- Start with simple vertical page structure and introduce grids/tabs/containers only when the user asks for specific layout behavior.
- Existing e2e-flow layout knowledge in the repository favors task-driven layouts: prioritize dashboard purpose, page hierarchy, and scan order before styling details.
## Validation and smoke checks
```bash
# Installed package smoke
python scripts/probe_vizro_environment.py
# Validate a YAML or Python dashboard without running a server
python scripts/validate_vizro_dashboard.py path/to/dashboard.yaml
python scripts/validate_vizro_dashboard.py path/to/app.py
```
For repository edits, use package-local tests from `../repo-development-testing/SKILL.md`; do not start with full browser e2e unless the task actually touches browser behavior and Chrome/Chromium is available.
## Evidence anchors
- `vizro-core/src/vizro/_vizro.py`: `Vizro`, `build`, `run`, Dash app handling.
- `vizro-core/src/vizro/models/_dashboard.py`, `_page.py`: core model validation/build behavior.
- `vizro-core/examples/tutorial/app.py`: Python dashboard example.
- `vizro-core/examples/dev/yaml_version/{app.py,dashboard.yaml}`: YAML loading pattern.
- `vizro-core/docs/pages/user-guides/{layouts,run-deploy}.md` and existing `vizro-e2e-flow` dashboard/YAML/layout skills.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!