visualize-data
Related Skills
Use $metric-diagnostics when the visual needs an explanation of a metric movement.
Use $build-report when the visual is part of a durable analytical report.
Data Visualization
Create quantitative visuals that are analytically sound, immediately readable, and polished enough to ship in a report, memo, slide, dashboard, notebook, widget, or HTML artifact. Treat charts as evidence for a takeaway. Redesign charts that are visually attractive but analytically weak, and revise charts that are technically correct but hard to interpret.
Runtime Delivery Routing
If surface = chatgpt_web and mode = work_mode are both positively identified, do not render with Data Analytics MCP chart or table widgets, do not call render_chart or render_table for inline delivery, and do not select an MCP artifact as the visual surface. This branch applies only after another workflow has already selected inline delivery; it does not choose inline over a report, dashboard, HTML, notebook, or other surface. For an already-selected inline visual, prefer native Work Mode rendering and read native-inline-visualizations.md to choose and invoke charts_widget_v2 or app_block. For one supported bar, line, pie, or scatter chart, treat charts_widget_v2 as directly surfaced in this runtime and emit its live genui content reference before considering fallback; do not self-declare it unavailable or search for it. The complete outer shape is genui{"charts_widget_v2":{"content":{...}}}: replace {...} with the real chart spec and emit the reference without Markdown backticks. The inner chart spec alone is not a response; do not print bare JSON, plain HTML, or a code fence. Keep app_block conditional on the host surfacing it. If the Visualize plugin is installed, also consult and follow its current visualization guidance for native chart or app-block authoring, while keeping this skill's delivery gate and fallback order authoritative. If an emitted native visual is rejected or fails to render, use a reproducible static/Matplotlib chart that fits a non-MCP surface; use a compact table only if no visual renderer can be delivered. Use static or Matplotlib charting for this native-render failure fallback or when the user explicitly asks for Python, a static image/file, notebook-oriented output, or export. A successful Data Analytics MCP tool result is not delivery confirmation in web Work Mode, so do not say a visual was plotted or rendered above unless the selected native or non-MCP surface actually rendered. MCP servers and other callable tools remain valid data sources.
Whenever the selected report or dashboard delivery surface is HTML, read recharts-html.md and use its packaged Recharts-in-HTML path with same-data static fallbacks. This includes Codex explicit HTML, ChatGPT web Work Mode, and HTML used for PDF, Google Docs, or Google Slides conversion.
Outside positively identified web Work Mode, keep the existing surface selection rules unchanged.