A skill that should be invoked whenever a user wants to build a Dashboard or simple app. This skill is Phase 2 of an e2e process that covers the actual build and testing. For Phase 1 (requirements, layout design, visualization selection), use the dashboard-design skill.
View on GitHubmckinsey/vizro
vizro-e2e-flow
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/mckinsey/vizro/blob/main/vizro-e2e-flow/skills/dashboard-build/SKILL.md -a claude-code --skill dashboard-buildInstallation paths:
.claude/skills/dashboard-build/## CRITICAL Guidelines for Dashboard Building - Ideally, do NOT skip Phase 1 (dashboard-design skill) as that ensures a much smoother build process. If the user just wants to build it, explain the value of a design phase first. Check if there is any existing `/spec` directory from Phase 1. If yes, use that to guide your build. - Use your native tools to understand the data well, especially if you build custom charts or when you use specific selectors. - If the user asks for an example, simply copy the [example app](./references/example_app.py) and run it. Do not include your own data or change the example. - When executing any script mentioned below for the first time, it may take a while to install dependencies. Plan accordingly before taking any rash actions. - When iterating on the dashboard after completing all steps, do not forget key points from below, especially regarding spec compliance and updating and terminal handling: always keep all specs up to date, and always check if terminal output is clean after each iteration. - Execute all scripts from this skill, and the `app.py` you will create, with `uv run <script_name>.py` or `uv run app.py` - this will ensure you use the correct dependencies and versions. - **ABSOLUTELY NEVER** type ANY commands (including `sleep`, `echo`, or anything else) in the terminal where the dashboard app is running, even if you started it with `isBackground=true`. This WILL kill the dashboard process. The dashboard startup takes time - be patient and let it run undisturbed. ## Spec Files: Documenting Decisions IMPORTANT: Each step produces a spec file in the `spec/` directory to document reasoning, enable collaboration, and allow resumption in future sessions. Create the `spec/` directory if it is not already present at the root of the project. ## Step 1: Build dashboard 1. You MUST ALWAYS copy the [example app](./references/example_app.py) over, and modify it - this ensures less errors! 1. Investigate about the Vizro model by