brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
repo-development-testingWork safely in the Vizro monorepo: package layout, Hatch commands, build steps, focused tests, changelog, and backend-classified verification.
Independent GitHub snapshot ยท Automated classification ยท Original documentation governs
Use this sub-skill whenever the task changes repository code, docs, tests, package metadata, build scripts, generated assets, or developer tooling in the Vizro monorepo.
Also load the feature sub-skill that owns the changed behavior.
vizro-core/: main vizro framework.vizro-ai/: deprecated chart agent package.vizro-mcp/: MCP server package.vizro-experimental/: incubating experimental features.vizro-dash-components/: TypeScript/React Dash components plus generated Python package.vizro-e2e-flow/: Claude Code plugin/reference skills; do not run Hatch commands there.Run Hatch from the package directory, not the monorepo root:
cd vizro-core
hatch run lint
hatch run test-unit
Common Hatch commands across packages:
hatch run python -c "import package"
hatch run pypath
hatch run lint
hatch run test-unit
hatch run docs:serve
hatch run changelog:add
Do not assume every package defines every script; check hatch.toml/pyproject.toml for the package you are editing.
| Changed area | First focused checks |
|---|---|
Dashboard/page/model behavior in vizro-core | cd vizro-core && hatch run test-unit tests/unit/vizro/models/test_dashboard.py plus the touched model tests. |
| Core examples/YAML/docs | cd vizro-core && hatch run test-unit tests/integration/test_examples.py where feasible; validate specific YAML/Python example with scripts/validate_vizro_dashboard.py. |
| Actions/controls/tables | Focus unit tests for the touched model/action plus browser e2e only if browser backend is available and behavior is DOM/callback-specific. |
vizro-mcp server/schema | cd vizro-mcp && hatch run test-unit tests/unit/vizro_mcp/test_server.py. |
vizro-ai chart agent | cd vizro-ai && hatch run test-unit tests/unit/vizro-ai/agents/test_chart_agent.py; avoid provider-backed live calls. |
vizro-experimental chat | cd vizro-experimental && hatch run test-unit tests/unit/test_component.py tests/unit/test_security.py tests/unit/popup/test_popup.py. |
vizro-dash-components TypeScript/components | cd vizro-dash-components && npm install --legacy-peer-deps && npm run build; browser tests require Chrome/Chromium. |
Before running e2e/browser tests:
command -v google-chrome || command -v chromium || command -v chromium-browser
If no browser exists, do not claim browser tests passed. Use CPU/import/build checks and report the browser gate as blocked.
vizro-dash-components/vizro_dash_components/ files are generated. Edit src/ts and regenerate.vizro-core/tools/generate_templates.py) rather than by hand when possible.For PR-quality work, run package lint and add a changelog fragment when the repository workflow requires it:
cd <package>
hatch run lint
hatch run changelog:add
If the user's task is only skill construction or analysis, do not create product changelog fragments.
Use the bundled skill probe to confirm installed-package health:
python skills/disco/vizro/scripts/probe_vizro_environment.py
Or with the prepared prefix:
conda run --prefix "<env-prefix>" python skills/disco/vizro/scripts/probe_vizro_environment.py
python -m pytest commands inside a prepared environment.vizro-dash-components build failure: run npm install --legacy-peer-deps, then ensure dash-generate-components is on PATH.AGENTS.md and CLAUDE.md files.hatch.toml and pyproject.toml files.references/environment.md and references/verification.md in this skill.