dashlisted
Install: claude install-skill MarieLynneBlock/arcanum-artifex
# Dash App Development
Build interactive, reactive web apps with Dash. Dash apps are stateless: every callback
must be safe to run on any worker, in any order, without depending on state left behind
by another callback or another user's session. Most Dash bugs — inconsistent output,
data leaking between users, apps that stop scaling — trace back to breaking this rule.
## When to use it
- Structuring a new Dash app's layout and callback graph
- Wiring interactivity: `Input`/`Output`/`State`, chained callbacks, multiple inputs/outputs
- Handling a variable/dynamic number of components with pattern-matching callbacks (`ALL`, `MATCH`, `ALLSMALLER`)
- Sharing data between callbacks without global variables (`dcc.Store`, server-side caching)
- Building or restructuring a multi-page app with Dash Pages
- Diagnosing "duplicate callback outputs", circular imports, callbacks firing in the wrong order, or data from one user showing up for another
- Deciding between a normal callback, a clientside callback, and a background callback
- Adding tests for callbacks before shipping
Not for: authoring the underlying Plotly figures themselves (see Plotly Express/graph_objects
docs), non-Dash Flask/FastAPI apps, or Dash Enterprise-only features beyond what is documented
on the public Dash Python User Guide. This skill also does not cover the visual or accessibility
design of the dashboard (layout strategy, colour semantics, KPI panel critique) — only the
callback wiring and data architecture