ProductBrand
Join us
Foundations
  • Introduction
  • Colors
  • Typography
  • Icons
  • Illustrations
  • Logos
  • Shadows
Components
  • Accordion
  • Alert Dialog
  • Avatar
  • Badge
  • Button
  • Calendar
  • Card
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Context Menu
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Fluid Avatar
  • Hover Scroll Text
  • Input
  • Kbd
  • Popover
  • Progress Bar
  • Radio Group
  • Scroll Area
  • Select
  • Selectors
  • Separator
  • Separator Dot
  • Shimmer Text
  • Skeleton
  • Slider
  • Switch
  • Tabs
  • Textarea
  • Toast
  • Tooltip
Compositions
  • Empty State
  • File Attachment
  • Floating Bar
  • Input Banner
  • Markdown Editor
  • Media Controls
  • Product Feature Banner
  • Panels
  • Sidebar
  • Reasoning Trace
  • Pagination
  • Data Table
  • Breadcrumb
  • Thread Outline
Inline
  • Overview
  • Stat Tile
  • Metric Row
  • Comparison Table
  • Chart Card
  • Trend Tile
  • Cite
  • Custom
  • Agent skill

Custom

The compositions cover the common shapes, but an agent isn't limited to them. Inside a component it can hand-roll raw SVG or canvas, or pull a vetted library (d3, Chart.js, topojson) from an allowed CDN in the harness - for anything bespoke the library doesn't ship: waterfalls, maps, gauges, network diagrams. Wrap the custom drawing in a Card so it still reads native to the chat surface, and cite it like any other figure.

Example

The heatmap below is hand-built from a CSS grid, each cell painted with the design-system chart token at an opacity scaled to its value - a shape the chart compositions don't offer. No chart library involved.

A hand-rolled heatmap in chat
Show Northwind's revenue by region over time.

North America still leads, but APAC is compounding the fastest:

Revenue by region
Quarterly bookings, $M
1Q24
2Q24
3Q24
4Q24
1Q25
2Q25
North America
EMEA
APAC
Rest of world
LessMore

More custom visuals

Each of these is a self-contained component - no chart library, just SVG or CSS painted with the design-system tokens. They show the range an agent can reach for when nothing in the set fits.

Donut - revenue mix (SVG arc math)

Revenue mix
$4.5BFY24
Software47%
Services26%
Hardware16%
Other11%

Waterfall - revenue bridge (SVG bars + connectors)

Revenue bridge
FY23 to FY24, $M
FY23NewExpansionChurnFY24

Bullet - actual vs. plan (CSS bars + target ticks)

Performance vs. plan
Revenue$4.51B / $4.30B
Gross margin61.2% / 65%
Net revenue retention118% / 115%

Staying on-brand

Custom code is free to draw anything, but it should still speak the design system:

  • Paint with the chart tokens - rgb(var(--chart-1)) … rgb(var(--chart-5)) for series, semantic text/border tokens for everything else. Never hardcode hex.
  • Sit in the house chrome - wrap the drawing in a Card (or InlineRoot for a full component) so spacing and separation match the compositions.
  • Stay accessible - SVG carries role="img" and an aria-label; canvas needs a text fallback.
  • Cite sourced figures - render <Cite> next to any number that came from a tool result, exactly as in the compositions.

Agent context

When a chart composition doesn't fit, hand-roll the visual: raw SVG for bespoke charts and diagrams, canvas for pixel work, or a CDN library (d3 + topojson for maps, Chart.js for dense series) in the harness. Paint with the --chart-N tokens, wrap it in a Card, give SVG a role="img" + aria-label, and cite sourced figures with <Cite>.

PreviousCite
NextAgent skill
Made in NYC© 2026 Rogo Technologies Inc.

Design at Rogo

We’re redesigning an entire industry. Come design it with us.

See open roles

Design at Rogo

  • How we workThe mission of design at Rogo, and the open roles
  • About RogoThe company and the product