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.
76
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
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.md11c74d6
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.