Skip to content
Back to skills

Core Dashboard Build

ASecurity

"Build, validate, run, and troubleshoot Vizro dashboards in Python

  • 247 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 9, 2026
developmentpythonbashtestingapi

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill core-dashboard-build --agent claude-code

Installs 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 with every re-scan.

Security grade badge for Core Dashboard Build
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-core-dashboard-build/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-core-dashboard-build)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.