← Back to Skills Marketplace
openlark

Chartjs

by OpenLark · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
110
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install chartjs
Description
Chart.js charting skill. Used to generate visual charts such as line charts, bar charts, pie charts, radar charts, scatter plots, etc.
README (SKILL.md)

Chart.js

Chart.js is a popular open-source charting library supporting 8 chart types, rendered via Canvas with responsive design.

Trigger Scenarios

  • User requests to create/generate/draw a chart
  • User mentions Chart.js or data visualization
  • User requests to visualize data with a chart
  • User uploads data and requests visualization

Installation

npm:

npm install chart.js

CDN (Script Tag):

\x3Cscript src="https://cdn.jsdelivr.net/npm/chart.js">\x3C/script>

Webpack/Rollup (recommended for tree-shaking):

import Chart from 'chart.js/auto';  // Full features, no manual registration needed

Chart Types and Required Components

Each chart type has minimal dependencies; importing on demand optimizes bundle size:

Chart Type Controller Element Default Scale
Bar BarController BarElement CategoryScale(x) + LinearScale(y)
Line LineController LineElement + PointElement CategoryScale(x) + LinearScale(y)
Pie PieController ArcElement
Doughnut DoughnutController ArcElement
PolarArea PolarAreaController ArcElement RadialLinearScale
Radar RadarController LineElement + PointElement RadialLinearScale
Scatter ScatterController PointElement LinearScale(x/y)
Bubble BubbleController PointElement LinearScale(x/y)

Basic Usage

HTML:

\x3Cdiv style="max-width: 600px">
  \x3Ccanvas id="myChart">\x3C/canvas>
\x3C/div>

JavaScript:

const ctx = document.getElementById('myChart');
new Chart(ctx, {
  type: 'bar',  // Chart type
  data: {
    labels: ['January', 'February', 'March'],
    datasets: [{
      label: 'Sales (10k)',
      data: [12, 19, 3],
      borderWidth: 1
    }]
  },
  options: {
    responsive: true,
    scales: {
      y: { beginAtZero: true }
    }
  }
});

Common Configurations

Responsive (auto-adapts to container width)

options: {
  responsive: true,
  maintainAspectRatio: false
}

Fill Line Chart (Area)

datasets: [{
  fill: true,        // or 'origin'/'start'/'end'
  tension: 0.4       // Curve smoothness 0-1
}]

Multiple Datasets

datasets: [
  { label: '2023', data: [1, 2, 3], borderColor: 'red' },
  { label: '2024', data: [3, 2, 1], borderColor: 'blue' }
]

Quick Color Settings

backgroundColor: [
  'rgba(255, 99, 132, 0.5)',
  'rgba(54, 162, 235, 0.5)',
]

Interaction Events

Click to get data point values (requires helpers import):

import Chart from 'chart.js/auto';
import { getRelativePosition } from 'chart.js/helpers';

options: {
  onClick: (e) => {
    const pos = getRelativePosition(e, chart);
    const x = chart.scales.x.getValueForPixel(pos.x);
    const y = chart.scales.y.getValueForPixel(pos.y);
    console.log(x, y);
  }
}

Time Scale

Requires a date adapter (e.g., chartjs-adapter-moment):

import moment from 'moment';
import 'chartjs-adapter-moment';
// Then configure scales with type: 'time'

Output Methods

After generation, there are two output paths:

  1. Render directly in an HTML page — Generate a complete HTML file containing canvas + Chart.js CDN, open with a browser
  2. Screenshot/PDF — Take a screenshot using the browser tool, or generate an image file using puppeteer/canvas

Tip: Generating HTML is the simplest and most reliable output method; let Chart.js handle responsive layout itself.

More References

For detailed API and examples, see references/api.md.

Usage Guidance
This is documentation-style help for Chart.js and appears coherent. It does not ask for credentials or system access. Things to keep in mind before you act on its instructions: if you follow the npm install or puppeteer/canvas suggestions, you will install third-party packages—verify package versions and sources and avoid running arbitrary post-install scripts; the CDN link (jsdelivr) is a common choice but will load remote code into a page, so only use it for trusted environments; generating screenshots with a headless browser can access local resources if run on your machine, so review any code the agent proposes to execute and approve installs/commands manually.
Capability Analysis
Type: OpenClaw Skill Name: chartjs Version: 1.0.0 The skill bundle provides standard documentation and instructions for using the Chart.js library to generate data visualizations. It contains legitimate API references, usage examples, and configuration options without any evidence of malicious intent, data exfiltration, or harmful prompt injection (SKILL.md, references/api.md).
Capability Assessment
Purpose & Capability
Name/description (Chart.js charting helper) matches the SKILL.md and reference content. The skill only documents how to install and use Chart.js and related adapters/plugins; nothing requests unrelated services, credentials, or system access.
Instruction Scope
Runtime instructions are documentation and examples (npm install, CDN script tag, example code, tips about using puppeteer/canvas to produce screenshots). The instructions do not direct the agent to read arbitrary system files, access environment variables, or exfiltrate data. The only external network endpoint mentioned is a well-known CDN (jsdelivr) and npm packages relevant to Chart.js.
Install Mechanism
There is no install spec in the registry (instruction-only). The SKILL.md recommends npm and a CDN (jsdelivr) which are standard for front-end libs. It also mentions optional tools like puppeteer/canvas and chartjs-adapter-moment—these are reasonable for image/screenshot generation but would install heavier dependencies if the user chooses that output path.
Credentials
The skill requires no environment variables, credentials, or config paths. Examples reference common JS/browser APIs and optional npm packages only, which are proportionate to chart generation.
Persistence & Privilege
always is false and there is no install action that would persist or modify other skills or system config. The skill being instruction-only means it does not request persistent privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install chartjs
  3. After installation, invoke the skill by name or use /chartjs
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of the chartjs skill. - Provides Chart.js integration for generating visual charts (line, bar, pie, radar, scatter, etc.). - Details installation methods (npm, CDN, import) and setup instructions. - Describes chart types, required controllers/elements, and basic usage. - Includes tips for common configurations, responsive layouts, multiple datasets, colors, and interactions. - Covers output methods, including HTML rendering and screenshot/image export. - Reference to additional API documentation for advanced usage.
Metadata
Slug chartjs
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Chartjs?

Chart.js charting skill. Used to generate visual charts such as line charts, bar charts, pie charts, radar charts, scatter plots, etc. It is an AI Agent Skill for Claude Code / OpenClaw, with 110 downloads so far.

How do I install Chartjs?

Run "/install chartjs" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Chartjs free?

Yes, Chartjs is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Chartjs support?

Chartjs is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Chartjs?

It is built and maintained by OpenLark (@openlark); the current version is v1.0.0.

💬 Comments