"Use and maintain vizro-experimental chat model and floating popup,
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill experimental-chat-popup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Experimental Chat Popup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-experimental-chat-popup)More formats (shields.io, HTML) on the badges page.
---
name: experimental-chat-popup
description: "Use and maintain vizro-experimental chat model and floating popup,
preserving optional LLM dependencies and security boundaries."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# Experimental Chat Popup
Use this sub-skill when the task involves `vizro-experimental`, the `Chat` model, floating chat popup, dashboard-agent helper, chat security, or experimental chat examples/docs.
Route elsewhere when the task is mainly about:
- Stable Vizro core dashboard layout/components: `../core-dashboard-build/SKILL.md` and `../core-components-data-actions/SKILL.md`.
- Vizro-MCP agent workflows: `../mcp-agent-workflows/SKILL.md`.
## Experimental caveat
`vizro-experimental` is an incubation package. APIs may change, be removed, or graduate into `vizro-core`. Say this when giving user-facing guidance.
## Chat model
```python
from vizro_experimental.chat.models.chat import Chat
chat = Chat(
id="assistant",
placeholder="Ask a question about this dashboard",
file_upload=False,
example_questions=["What changed this month?"],
)
```
Live signature in the verified snapshot:
```text
Chat(*, id=<factory>, type='chat', actions=[], placeholder='How can I help you?', file_upload=False, example_questions=[])
```
## Floating popup
The popup package uses lazy exports:
```python
from vizro_experimental.chat.popup import add_chat_popup
add_chat_popup(
generate_response=lambda messages, **kwargs: "Local deterministic response",
title="Analytics Assistant",
streaming=False,
)
```
Available lazy exports:
- `add_chat_popup`
- `create_dashboard_agent`
- `make_generate_response`
There is no `Popup` class exported from `vizro_experimental.chat.popup` in this snapshot.
## Optional dependency boundary
Preserve the BYO callback boundary:
- Users who pass `generate_response` should not need dashboard-agent provider dependencies.
- Do not promote dashboard-agent/pydantic-ai imports to module scope if that would break BYO mode.
- Only load `create_dashboard_agent`/`make_generate_response` when the user explicitly requests agent-backed behavior.
## Security defaults
- Treat chat input and uploaded file content as untrusted.
- Do not leak API keys or environment variables into chat responses or logs.
- Avoid executing user-provided code from chat messages.
- Prefer deterministic/mocked `generate_response` in tests.
- Require explicit provider credentials and network/cost authorization before live LLM calls.
## Repository tests
From `vizro-experimental/`:
```bash
hatch run test-unit tests/unit/test_component.py tests/unit/test_security.py tests/unit/popup/test_popup.py
```
Browser integration tests under `tests/integration/browser/` require a browser backend; do not make them required on a host without Chrome/Chromium.
## Debug checklist
- Is the task using stable core features or truly experimental chat APIs?
- Is the user using `Chat` as a model component or adding the floating popup to an already built Vizro app?
- Is `generate_response` provided? If yes, keep provider dependencies out of the path.
- If using dashboard-agent helpers, are credentials/model/provider settings available and authorized?
- Are tests using mocked local responses rather than live LLM calls?
## Evidence anchors
- `vizro-experimental/src/vizro_experimental/chat/models/chat.py`
- `vizro-experimental/src/vizro_experimental/chat/popup/__init__.py`
- `vizro-experimental/src/vizro_experimental/chat/popup/popup.py`
- `vizro-experimental/src/vizro_experimental/chat/popup/dashboard_agent.py`
- `vizro-experimental/docs/pages/chat/{chat-component,api-reference}.md`
- `vizro-experimental/examples/chat_component/app.py`
- `vizro-experimental/tests/unit/{test_component,test_security}.py`
- `vizro-experimental/tests/unit/popup/test_popup.py`
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!