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).
dashUse when building, debugging, testing, or maintaining Plotly Dash applications, callbacks, server backends, component packages, renderer internals, and Dash repository workflows.
Independent GitHub snapshot · Automated classification · Original documentation governs
Dash is Plotly's Python framework for building reactive web applications with Python layouts, React component bundles, and server-side or clientside callbacks. Use this repo skill when a task involves Dash application code, callback routing, Dash server backends, component wrapper generation, the Dash renderer, or Dash repo test/build workflows.
For ordinary app use:
python -m pip install dash
python - <<'PY'
import dash
from dash import Dash, html, dcc, Input, Output
print(dash.__version__)
app = Dash(__name__)
app.layout = html.Div([dcc.Input(id="name"), html.Div(id="out")])
@app.callback(Output("out", "children"), Input("name", "value"))
def update(value):
return value or ""
print(app.layout.to_plotly_json()["type"], len(app.callback_map))
PY
Choose extras only when the workflow needs them:
| Need | Install |
|---|---|
| Selenium/browser testing fixtures | python -m pip install "dash[testing]" |
| Diskcache background callbacks | python -m pip install "dash[diskcache]" |
| Celery background callbacks | python -m pip install "dash[celery]" plus a broker/result backend |
| FastAPI backend and WebSocket callbacks | python -m pip install "dash[fastapi]" |
| Quart backend | python -m pip install "dash[quart]" |
async def callbacks on Flask | python -m pip install "dash[async]" |
| Component generation helpers | install Dash from a checkout with the development dependencies needed by the component package |
Use sub-skills/app-callback-workflows/SKILL.md when the task mentions:
Dash(...), layout trees, html, dcc, dash_table, component IDs, assets,
URL prefixes, Jupyter display, CSP hashes, or pages.@app.callback, @dash.callback, Input, Output, State, MATCH, ALL,
ALLSMALLER, ctx, callback_context, PreventUpdate, no_update, or
Patch.window.dash_clientside.Start with its callbacks and layouts reference, then use its smoke scripts for layout/callback/page checks.
Use sub-skills/server-backends-and-async/SKILL.md when the task mentions:
async def callbacks, dash[async], websocket_callbacks, websocket=True,
persistent=True, ctx.websocket, set_props, or WebSocket disconnects.background=True, DiskcacheManager, CeleryManager, progress, running,
cancel, or callback caching.configure_mcp_server.Run its backend inspection script for a safe optional-extra report before promising backend coverage.
Use sub-skills/component-renderer-development/SKILL.md when the task mentions:
dash-generate-components, dash-update-components, renderer, component
metadata, generated Python wrappers, R/Julia wrapper generation, or built-in
component packages.Component, to_plotly_json, _children_props, _js_dist, _css_dist,
serve_locally, external_url, dev_package_path, or resource fingerprints.dash-renderer, callback queues, setProps, crawlLayout, paths,
window.dash_component_api, SharedWorker/WebSocket client, React versions, or
JSX runtime problems.Use its CLI-check scripts before running heavier Node or component builds.
Use sub-skills/testing-and-maintenance/SKILL.md when the task mentions:
pytest, dash_duo, Selenium, ChromeDriver, Percy, renderer tests, component
tests, npm run build, npm run lint, Black/flake8/pylint/eslint/prettier,
or contribution policy.Follow its rule: never run all integration tests by default. Use focused files and preserve enough output to see tracebacks and assertion context.