Skip to content
cccskills
FreePublished on GitHub

charts

Create PNG bar, line, and area charts for embedding in chat responses. Set labels, colors, themes, dimensions, and multiple data series, then use the returned full URL to display the chart alongside explanatory text.

OriginalShow the original description

Generate inline chart images (PNG) for embedding in chat responses. Use this skill when you need to create bar, line, or area charts for data visualization in chat.

BuilderIO/agent-native7,527 stars(GitHub 7,527 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Showing monthly metrics as a bar chart
  • Plotting a trend over time with a line chart
  • Comparing multiple data series
  • Embedding a chart image in a chat response

Files included (1)

  • SKILL.md4.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Chart Generation

How It Works

Charts are generated server-side as PNG images using chartjs-node-canvas (Chart.js) and served via /api/media/. The generate-chart script renders charts and returns a fully qualified URL for embedding in chat markdown.

Script Usage

pnpm action generate-chart --type=bar --title="Title" --labels='["A","B","C"]' --data='[1,2,3]' --color="#18B4F4"

Parameters

ParamValuesDefault
--typebar, line, areabar
--titleChart title (keep SHORT)required
--subtitleOptional subtitle — avoid unless needed—
--labelsJSON array of x-axis labelsrequired
--dataJSON array of numbers, OR array of {label, data, color} for multi-seriesrequired
--colorPrimary hex color#18B4F4
--themedark, lightauto from media/theme.json
--stackedtrue for stacked barsfalse
--filenameOutput filename (no ext)auto from title
--width / --heightImage dimensions800x400

Output

{ filename, url, width, height } — the url is fully qualified with cache buster.

Color Palette

ColorHexUse
Blue#18B4F4Default/primary for all charts
Purple#8b5cf6Secondary
Green#22c55eTertiary
Amber#f59e0b
Indigo#6366f1
Red#ef4444
Teal#14b8a6
Orange#f97316

Style Preferences (from Steve)

  • Minimal text on chart — short title only, no subtitle
  • Stats and context in chat text around the chart, not on the image
  • Large fonts: title 22px, axis 13px
  • Few axis labels: maxTicksLimit 8 on x-axis, 5 on y-axis
  • No rotated labels (maxRotation: 0)

Good pattern:

**Example Corp Product Usage — Last 30 Days**
![chart](https://...your-app.example.com/api/media/chart.png?v=123)
**528 messages** over 18 active days | Peak: **89** (Feb 14)

QuickChart Inline Styling (for non-script charts)

When using QuickChart (https://quickchart.io/chart/create) with Chart.js v2:

  • Background: #09090b (zinc-950)
  • Grid: horizontal only, dashed [3,3], color #27272a
  • Axis ticks: #52525b, 11px
  • Title: #fafafa, 16px bold
  • Legend: #a1a1aa, 11px
  • Default bar/line color: #18B4F4 (primary blue)
  • Tooltips: bg #09090b, border #27272a, text #fafafa

Multi-Series & Stacked Charts

  • Use --stacked=true flag
  • Pass data as --data='[{"label":"User A","data":[...],"color":"#..."}]'
  • Script sets stack: "stack1" on all datasets

Key Gotchas

  • Relative paths do NOT work — chat UI is on a different origin. Always use the fully qualified URL from script output (uses APP_ORIGIN)
  • Cache busting (?v=<timestamp>) auto-appended
  • chartjs-node-canvas depends on canvas native module — pnpm.onlyBuiltDependencies must include "canvas". If not built, run pnpm rebuild canvas
  • Theme auto-detected from media/theme.json (set by the sidebar toggle via the set-theme action)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

a2a-assets

FreeSummary

Generate, refine, export, and place brand images or videos from an Assets library into another app. The skill covers choosing a library, handling image batches and video runs, and updating selected assets after feedback.

  • Generate brand images for slides or another app
  • Refine an existing asset after feedback
  • Create and export a video asset
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

account-health

FreeSummary

Prepare a customer account health, renewal, or contract usage readout. Verify the account identity, use approved metric definitions, compare contracted capacity with actual usage, and trace findings to sources, time windows, and known gaps.

  • Preparing a named customer's account health review
  • Comparing contracted seats or capacity with usage
  • Gathering adoption signals before a renewal or QBR
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

actions

FreeSummary

Create focused app actions that agents can call as tools and frontend code can use through client hooks. Use them to add provider integrations or fetch UI data, with validated inputs and structured results.

  • Adding a new app operation
  • Connecting an external provider API
  • Fetching data for a frontend view
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

adding-a-feature

FreeSummary

Use this checklist when adding a feature or integration to an agent-native app. It covers the user interface, agent-callable actions, instructions, and app-state sync so both the user and agent can work with the capability consistently.

  • Planning a new feature across UI and agent actions
  • Checking that agent changes appear in the UI
  • Documenting actions and feature state for the agent
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

adhoc-analysis

FreeSummary

Investigate complex questions by combining data from multiple sources, then summarize patterns, metrics, and evidence in a clear report. Save requested analyses as dashboards with instructions for future refreshes.

  • Comparing CRM deals with call records
  • Investigating customer health across systems
  • Saving a repeatable performance analysis
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

admin-surfaces

FreeSummary

Use the Analytics admin surfaces to inspect and change workspace feature flags, review dashboard ownership and usage activity, or browse and edit databases connected from other agent-native apps. The skill guides administrators to the relevant view and actions.

  • Review dashboard owners, views, and edits
  • Change a workspace feature flag for an app
  • Browse or edit a connected app database
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

See all skills by BuilderIO

Report a problem with this skill