npx skills add https://github.com/pvergaraf/chart-skill --skill chart使用 QuickChart.io 生成简洁、极简风格的图表,采用 shadcn 启发的灰度配色方案(无需依赖项)。
用户可以自然地描述图表:
/chart show me monthly revenue: Jan $12k, Feb $15k, Mar $18k, Apr $14k
/chart compare Q4 performance - Revenue was 450, Costs 320, Profit 130
/chart visualize team breakdown: Engineering 45%, Product 25%, Design 20%, Operations 10%
/chart create an area chart of daily active users over the past week
/chart horizontal bar ranking: Chile 89, Mexico 76, Peru 65, Colombia 58
/chart plot this data as a line chart [paste CSV or JSON]
Label1 Value1, Label2 Value2, Label3 Value3
/chart line chart from /path/to/data.csv
| 类型 | 关键词 | 描述 |
|---|---|---|
| 柱状图(垂直) | bar, |
Generate clean, minimal charts with shadcn-inspired grayscale styling using QuickChart.io (no dependencies needed).
Users can describe charts naturally:
/chart show me monthly revenue: Jan $12k, Feb $15k, Mar $18k, Apr $14k
/chart compare Q4 performance - Revenue was 450, Costs 320, Profit 130
/chart visualize team breakdown: Engineering 45%, Product 25%, Design 20%, Operations 10%
/chart create an area chart of daily active users over the past week
/chart horizontal bar ranking: Chile 89, Mexico 76, Peru 65, Colombia 58
/chart plot this data as a line chart [paste CSV or JSON]
Label1 Value1, Label2 Value2, Label3 Value3
/chart line chart from /path/to/data.csv
| Type | Keywords | Description |
|---|
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
bar chart| 垂直柱状图 |
| 柱状图(水平) | horizontal bar, hbar | 水平柱状图 |
| 折线图 | line, line chart | 时间序列、趋势 |
| 面积图 | area, area chart | 填充式折线图 |
| 饼图 | pie, pie chart | 比例分布 |
| 环形图 | doughnut, donut | 环形比例图 |
title "My Chart Title"save to /path/to/chart.png (默认: ~/Downloads/chart_YYYYMMDD_HHMMSS.png)size 800x600 (宽度 x 高度,单位:像素,默认: 600x400)| 颜色 | 十六进制 | 用途 |
|---|---|---|
| zinc-900 | #18181B | 主数据系列 |
| zinc-700 | #3F3F46 | 次数据系列 |
| zinc-500 | #71717A | 第三数据系列 |
| zinc-400 | #A1A1AA | 第四数据系列 |
| zinc-300 | #D4D4D8 | 第五数据系列 |
| zinc-200 | #E4E4E7 | 第六数据系列 |
| zinc-100 | #F4F4F5 | 网格线 |
当用户请求生成图表时:
解析请求 以识别:
~/Downloads/chart_$(date +%Y%m%d_%H%M%S).png)构建 Chart.js 配置,使用以下 shadcn 风格模板:
{
"type": "bar",
"data": {
"labels": ["A", "B", "C"],
"datasets": [{
"data": [10, 20, 30],
"backgroundColor": "#18181B",
"borderRadius": 4
}]
},
"options": {
"layout": {
"padding": { "top": 20, "right": 30, "bottom": 20, "left": 20 }
},
"plugins": {
"title": {
"display": true,
"text": "Chart Title",
"align": "start",
"font": { "size": 16, "weight": "600", "family": "Inter, system-ui, sans-serif" },
"color": "#18181B",
"padding": { "bottom": 20 }
},
"legend": { "display": false },
"datalabels": { "display": false }
},
"scales": {
"y": {
"beginAtZero": true,
"border": { "display": false },
"grid": { "color": "#F4F4F5" },
"ticks": { "color": "#71717A", "padding": 10, "font": { "size": 11 } }
},
"x": {
"border": { "display": false },
"grid": { "display": false },
"ticks": { "color": "#71717A", "padding": 10, "font": { "size": 11 } }
}
}
}
}
3. 生成图表,使用 POST 请求发送到 QuickChart.io:
curl -X POST https://quickchart.io/chart \
-H 'Content-Type: application/json' \
-d '{
"version": "4",
"backgroundColor": "white",
"width": 600,
"height": 400,
"chart": CHART_CONFIG_JSON
}' \
--output ~/Downloads/chart_$(date +%Y%m%d_%H%M%S).png
4. 显示结果,使用 Read 工具读取生成的图像文件
{
"type": "bar",
"data": {
"labels": ["A", "B", "C"],
"datasets": [{
"data": [10, 20, 30],
"backgroundColor": "#18181B",
"borderRadius": 4
}]
}
}
{
"type": "bar",
"data": {
"labels": ["A", "B", "C"],
"datasets": [{
"data": [10, 20, 30],
"backgroundColor": "#18181B",
"borderRadius": 4
}]
},
"options": {
"indexAxis": "y"
}
}
{
"type": "line",
"data": {
"labels": ["Jan", "Feb", "Mar"],
"datasets": [{
"data": [10, 20, 30],
"borderColor": "#18181B",
"borderWidth": 2,
"tension": 0.3,
"pointRadius": 0,
"fill": false
}]
}
}
{
"type": "line",
"data": {
"labels": ["Jan", "Feb", "Mar"],
"datasets": [{
"data": [10, 20, 30],
"borderColor": "#18181B",
"backgroundColor": "rgba(24, 24, 27, 0.1)",
"borderWidth": 2,
"tension": 0.3,
"pointRadius": 0,
"fill": true
}]
}
}
{
"type": "line",
"data": {
"labels": ["Jan", "Feb", "Mar", "Apr"],
"datasets": [
{
"label": "Desktop",
"data": [100, 150, 120, 180],
"borderColor": "#18181B",
"backgroundColor": "rgba(24, 24, 27, 0.15)",
"borderWidth": 2,
"tension": 0.3,
"fill": true
},
{
"label": "Mobile",
"data": [80, 120, 140, 160],
"borderColor": "#71717A",
"backgroundColor": "rgba(113, 113, 122, 0.15)",
"borderWidth": 2,
"tension": 0.3,
"fill": true
}
]
},
"options": {
"plugins": {
"legend": { "display": true, "position": "bottom", "labels": { "color": "#71717A", "usePointStyle": true } }
}
}
}
{
"type": "doughnut",
"data": {
"labels": ["A", "B", "C"],
"datasets": [{
"data": [45, 30, 25],
"backgroundColor": ["#18181B", "#71717A", "#D4D4D8"],
"borderWidth": 0
}]
},
"options": {
"cutout": "60%"
}
}
/chart compare our Q4 numbers - Revenue hit 450, Costs were 320, and Profit came in at 130
生成的 curl 命令:
curl -X POST https://quickchart.io/chart \
-H 'Content-Type: application/json' \
-d '{
"version": "4",
"backgroundColor": "white",
"width": 600,
"height": 400,
"chart": {
"type": "bar",
"data": {
"labels": ["Revenue", "Costs", "Profit"],
"datasets": [{"data": [450, 320, 130], "backgroundColor": "#18181B", "borderRadius": 4}]
},
"options": {
"layout": {"padding": {"top": 20, "right": 30, "bottom": 20, "left": 20}},
"plugins": {
"title": {"display": true, "text": "Q4 Financial Summary", "align": "start", "font": {"size": 16, "weight": "600"}, "color": "#18181B", "padding": {"bottom": 20}},
"legend": {"display": false}
},
"scales": {
"y": {"beginAtZero": true, "border": {"display": false}, "grid": {"color": "#F4F4F5"}, "ticks": {"color": "#71717A", "padding": 10}},
"x": {"border": {"display": false}, "grid": {"display": false}, "ticks": {"color": "#71717A", "padding": 10}}
}
}
}
}' \
--output ~/Downloads/chart_$(date +%Y%m%d_%H%M%S).png
/chart show monthly visitors as an area chart - Jan had 186, Feb 305, Mar 237, Apr 73, May 209, Jun 214
/chart compare desktop vs mobile traffic:
Desktop: Jan 100, Feb 150, Mar 120
Mobile: Jan 80, Feb 120, Mar 140
/chart visualize this CSV as a line chart:
date,users
2024-01-01,150
2024-01-02,180
2024-01-03,220
图表默认保存到 ~/Downloads/chart_YYYYMMDD_HHMMSS.png(带时间戳)。使用 Read 工具向用户显示生成的图像。
此技能使用 QuickChart.io 的免费 API - 无需本地安装包。只需 curl。
每周安装量
106
仓库
首次出现
2026年2月2日
安全审计
已安装于
opencode102
codex101
cursor100
gemini-cli99
github-copilot97
amp96
| Bar (vertical) | bar, bar chart | Vertical bars |
| Bar (horizontal) | horizontal bar, hbar | Horizontal bars |
| Line | line, line chart | Time series, trends |
| Area | area, area chart | Filled line chart |
| Pie | pie, pie chart | Proportions |
| Doughnut | doughnut, donut | Ring-style proportions |
title "My Chart Title"save to /path/to/chart.png (default: ~/Downloads/chart_YYYYMMDD_HHMMSS.png)size 800x600 (width x height in pixels, default: 600x400)| Color | Hex | Usage |
|---|---|---|
| zinc-900 | #18181B | Primary series |
| zinc-700 | #3F3F46 | Secondary series |
| zinc-500 | #71717A | Third series |
| zinc-400 | #A1A1AA | Fourth series |
| zinc-300 | #D4D4D8 | Fifth series |
| zinc-200 | #E4E4E7 | Sixth series |
| zinc-100 | #F4F4F5 | Grid lines |
When the user requests a chart:
Parse the request to identify:
~/Downloads/chart_$(date +%Y%m%d_%H%M%S).png)Build the Chart.js configuration using this shadcn-style template:
{
"type": "bar",
"data": {
"labels": ["A", "B", "C"],
"datasets": [{
"data": [10, 20, 30],
"backgroundColor": "#18181B",
"borderRadius": 4
}]
},
"options": {
"layout": {
"padding": { "top": 20, "right": 30, "bottom": 20, "left": 20 }
},
"plugins": {
"title": {
"display": true,
"text": "Chart Title",
"align": "start",
"font": { "size": 16, "weight": "600", "family": "Inter, system-ui, sans-serif" },
"color": "#18181B",
"padding": { "bottom": 20 }
},
"legend": { "display": false },
"datalabels": { "display": false }
},
"scales": {
"y": {
"beginAtZero": true,
"border": { "display": false },
"grid": { "color": "#F4F4F5" },
"ticks": { "color": "#71717A", "padding": 10, "font": { "size": 11 } }
},
"x": {
"border": { "display": false },
"grid": { "display": false },
"ticks": { "color": "#71717A", "padding": 10, "font": { "size": 11 } }
}
}
}
}
3. Generate the chart using POST to QuickChart.io:
curl -X POST https://quickchart.io/chart \
-H 'Content-Type: application/json' \
-d '{
"version": "4",
"backgroundColor": "white",
"width": 600,
"height": 400,
"chart": CHART_CONFIG_JSON
}' \
--output ~/Downloads/chart_$(date +%Y%m%d_%H%M%S).png
4. Show the result by reading the generated image file with the Read tool
{
"type": "bar",
"data": {
"labels": ["A", "B", "C"],
"datasets": [{
"data": [10, 20, 30],
"backgroundColor": "#18181B",
"borderRadius": 4
}]
}
}
{
"type": "bar",
"data": {
"labels": ["A", "B", "C"],
"datasets": [{
"data": [10, 20, 30],
"backgroundColor": "#18181B",
"borderRadius": 4
}]
},
"options": {
"indexAxis": "y"
}
}
{
"type": "line",
"data": {
"labels": ["Jan", "Feb", "Mar"],
"datasets": [{
"data": [10, 20, 30],
"borderColor": "#18181B",
"borderWidth": 2,
"tension": 0.3,
"pointRadius": 0,
"fill": false
}]
}
}
{
"type": "line",
"data": {
"labels": ["Jan", "Feb", "Mar"],
"datasets": [{
"data": [10, 20, 30],
"borderColor": "#18181B",
"backgroundColor": "rgba(24, 24, 27, 0.1)",
"borderWidth": 2,
"tension": 0.3,
"pointRadius": 0,
"fill": true
}]
}
}
{
"type": "line",
"data": {
"labels": ["Jan", "Feb", "Mar", "Apr"],
"datasets": [
{
"label": "Desktop",
"data": [100, 150, 120, 180],
"borderColor": "#18181B",
"backgroundColor": "rgba(24, 24, 27, 0.15)",
"borderWidth": 2,
"tension": 0.3,
"fill": true
},
{
"label": "Mobile",
"data": [80, 120, 140, 160],
"borderColor": "#71717A",
"backgroundColor": "rgba(113, 113, 122, 0.15)",
"borderWidth": 2,
"tension": 0.3,
"fill": true
}
]
},
"options": {
"plugins": {
"legend": { "display": true, "position": "bottom", "labels": { "color": "#71717A", "usePointStyle": true } }
}
}
}
{
"type": "doughnut",
"data": {
"labels": ["A", "B", "C"],
"datasets": [{
"data": [45, 30, 25],
"backgroundColor": ["#18181B", "#71717A", "#D4D4D8"],
"borderWidth": 0
}]
},
"options": {
"cutout": "60%"
}
}
/chart compare our Q4 numbers - Revenue hit 450, Costs were 320, and Profit came in at 130
Generated curl:
curl -X POST https://quickchart.io/chart \
-H 'Content-Type: application/json' \
-d '{
"version": "4",
"backgroundColor": "white",
"width": 600,
"height": 400,
"chart": {
"type": "bar",
"data": {
"labels": ["Revenue", "Costs", "Profit"],
"datasets": [{"data": [450, 320, 130], "backgroundColor": "#18181B", "borderRadius": 4}]
},
"options": {
"layout": {"padding": {"top": 20, "right": 30, "bottom": 20, "left": 20}},
"plugins": {
"title": {"display": true, "text": "Q4 Financial Summary", "align": "start", "font": {"size": 16, "weight": "600"}, "color": "#18181B", "padding": {"bottom": 20}},
"legend": {"display": false}
},
"scales": {
"y": {"beginAtZero": true, "border": {"display": false}, "grid": {"color": "#F4F4F5"}, "ticks": {"color": "#71717A", "padding": 10}},
"x": {"border": {"display": false}, "grid": {"display": false}, "ticks": {"color": "#71717A", "padding": 10}}
}
}
}
}' \
--output ~/Downloads/chart_$(date +%Y%m%d_%H%M%S).png
/chart show monthly visitors as an area chart - Jan had 186, Feb 305, Mar 237, Apr 73, May 209, Jun 214
/chart compare desktop vs mobile traffic:
Desktop: Jan 100, Feb 150, Mar 120
Mobile: Jan 80, Feb 120, Mar 140
/chart visualize this CSV as a line chart:
date,users
2024-01-01,150
2024-01-02,180
2024-01-03,220
Charts are saved to ~/Downloads/chart_YYYYMMDD_HHMMSS.png by default (with timestamp). Use the Read tool to display the generated image to the user.
This skill uses QuickChart.io's free API - no local packages required. Just curl.
Weekly Installs
106
Repository
First Seen
Feb 2, 2026
Security Audits
Installed on
opencode102
codex101
cursor100
gemini-cli99
github-copilot97
amp96
Lark Skill Maker 教程:基于飞书CLI创建AI技能,自动化工作流与API调用指南
31,500 周安装