plugins/build-web-data-visualization/skills/d3-data-visualization/SKILL.md
Build custom data visualizations with D3. Use when the user needs SVG or DOM-based charts, rich annotation, domain-native contextual backgrounds, data joins, custom scales or interactions, scroll-driven SVG scene states, or precise control over browser visualization behavior.
npx skillsauth add openai/plugins d3-data-visualizationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill for custom browser visualizations where SVG or DOM semantics matter and a declarative grammar no longer fits cleanly. D3 is strongest when the chart needs bespoke scales, marks, layouts, transitions, zooming, brushing, annotations, or vector export.
Default assumption: use D3 for scales, layouts, geometry, labels, annotation layers, and behavior. Do not turn D3 into the entire application architecture if a framework already owns the surrounding UI.
../uml-and-software-architecture-visualization/SKILL.md has defined the diagram semantics./references/svg-polish-and-crispness.md before calling the chart finished. Explicitly set font sizes, tick padding, gridline strokes, data stroke widths, icon sizes, label alignment, and zoom-stable stroke behavior.../../references/foundations/mobile-first-responsive-visualization.md so the D3 layout is recomputed for large-screen and mobile states rather than scaled down from one desktop SVG..tickSizeOuter(0), 6-8 px tick padding, quiet gridlines, removed domains when redundant, and fewer ticks before rotated or tiny labels.shape-rendering: crispEdges for straight axes, gridlines, and rectangular cells; do not apply it globally to curves, symbols, circles, or diagonal marks.vector-effect: non-scaling-stroke for zoomable outlines, axes, annotation connectors, map borders, and icons that should keep screen-stable stroke weight.../scrollytelling-and-parallax-data-visualization/SKILL.md for the scroll narrative, then let D3 own scales, derived geometry, data joins, labels, and SVG transitions. Keep each scene valid as a still.d3-array for grouping, extent, ticks, and summariesd3-scale for position, color, and size mappingsd3-axis for readable axesd3-shape for lines, areas, arcs, and symbol generationd3-selection and d3-transition for DOM behaviord3-brush, d3-zoom, and d3-drag for direct manipulationd3-force, d3-hierarchy, d3-contour, and other layouts only when their data structure fitsviewBox.../../references/foundations/editorial-infographic-system.md../../references/foundations/art-directed-interactive-visual-stories.md../../references/foundations/perception-color-and-encoding.md../../references/foundations/mobile-first-responsive-visualization.md../../references/foundations/domain-contextual-surfaces.md../../references/foundations/storytelling-annotation-and-critique.md../../references/foundations/implementation-design-and-tradeoffs.md./references/d3-module-map.md./references/d3-architecture-patterns.md./references/d3-interaction-and-annotation.md./references/d3-pitfalls-and-scale-limits.md./references/svg-polish-and-crispness.md../uml-and-software-architecture-visualization/SKILL.md../scrollytelling-and-parallax-data-visualization/SKILL.mddevelopment
Use when the user wants to spin up / create / launch / provision a DigitalOcean droplet (or "a remote dev box on DO") and connect to it from Codex as a remote SSH workspace.
data-ai
Search through Microsoft Teams chats or channels, triage unread or recent activity, draft follow-ups, and manage Planner tasks through connected Teams data.
tools
Motion / animation context for the `use_figma` MCP tool — animating Figma nodes via manual keyframes, animation styles, easing, and timeline duration. Load alongside figma-use whenever a task involves adding, editing, or inspecting animation on a node.
development
SwiftUI ↔ Figma translation. Use whenever the user mentions Swift, SwiftUI, iOS, iPhone, or iPad — in EITHER direction — translating a Figma design into SwiftUI (design → code), or pushing SwiftUI views / screens / tokens back into a Figma file (code → design). Triggers on phrases like 'implement this Figma design in SwiftUI', 'build this screen in Swift', 'push this SwiftUI view to Figma', 'mirror my Swift code in a Figma file', or whenever a Figma URL appears alongside `.swift` files / an `.xcodeproj`. Routes to a direction-specific reference doc; loads alongside `figma-use` for the code → design path.