К основному содержанию
скилл CX Codex

chart-designer — скилл для Claude Code: графики и дашборды

Подбирает тип диаграммы под данные и выдаёт готовые конфиги для ECharts и Chart.js. Пригодится, когда нужно собрать дашборд или отчёт, а не рисовать график вручную.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add claude-office-skills/skills --skill chart-designer -a claude-code
Открыть на GitHub

Что делает chart-designer

Скилл разбирает, что у вас за данные и какую мысль они должны донести, и предлагает тип графика. Дальше отдаёт конфигурацию: JSON для ECharts, объект для Chart.js, инструкции по настройке диаграммы в Excel. Плюс палитра цветов и размеры шрифтов для заголовка, подписей и осей.

Внутри — таблицы выбора графиков по задачам: сравнение категорий, тренд во времени, распределение, части целого, воронка, датчик, тепловая карта, Sankey. Есть дерево решений: отвечаете на вопрос, что хотите показать, получаете подходящий тип. Для каждого варианта указано, какие данные нужны — например, для круговой диаграммы категории и проценты, причём не больше пяти элементов.

Сам скилл графики не рисует. Он готовит конфиг, который вы вставляете в свой инструмент. Данные он тоже не читает — их описываете вы. Часть работы завязана на MCP-сервер office-mcp с инструментами create_chart, read_xlsx и create_xlsx: без него сборка диаграмм в Excel и чтение таблиц не сработают.

Какие задачи решает

  • выбрать тип графика под конкретные данные
  • получить готовый конфиг ECharts или Chart.js
  • продумать раскладку дашборда
  • подобрать палитру и размеры шрифтов
  • описать диаграмму для Excel

Примеры запросов агенту

  • У меня помесячная выручка по трём каналам за год, нужен график для отчёта руководству
  • Собери конфиг ECharts для воронки конверсии по этапам
  • Какие данные нужны для тепловой карты и подойдёт ли она здесь

Как установить chart-designer

1Через Skills CLI (Vercel)

npx skills add claude-office-skills/skills --skill chart-designer -a claude-code

2Вручную: положить файлы

~/.claude/skills/chart-designer/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/chart-designer/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о chart-designer

Как установить chart-designer в Claude?

Выполните npx skills add claude-office-skills/skills --skill chart-designer -a claude-code. Скилл встанет в ~/.claude/skills/chart-designer/SKILL.md.

Что делает chart-designer?

Рекомендует тип диаграммы под ваши данные и генерирует конфигурации для ECharts, Chart.js и Excel. Ещё предлагает цвета и оформление.

Скилл сам построит график?

Нет. Он выдаёт конфиг, который вы вставляете в свою библиотеку или инструмент. Данные он тоже не читает — их описываете вы.

Исходный текст

SKILL.md · MIT
---
# ═══════════════════════════════════════════════════════════════════════════════
# CLAUDE OFFICE SKILL - Chart Designer
# ═══════════════════════════════════════════════════════════════════════════════

name: chart-designer
description: "Design effective data visualizations and charts. Generate chart configurations for ECharts, Chart.js, and other libraries. Create dashboards and reports."
version: "1.0.0"
author: claude-office-skills
license: MIT

category: visualization
tags:
  - chart
  - data-visualization
  - echarts
  - dashboard
  - analytics
department: Data/Analytics

models:
  recommended:
    - claude-sonnet-4
    - claude-opus-4
  compatible:
    - claude-3-5-sonnet
    - gpt-4
    - gpt-4o

mcp:
  server: office-mcp
  tools:
    - create_chart
    - read_xlsx
    - create_xlsx

capabilities:
  - chart_selection
  - data_visualization
  - dashboard_design
  - configuration_generation
  - best_practices

languages:
  - en
  - zh

related_skills:
  - data-analysis
  - infographic
  - report-generator
---

# Chart Designer Skill

## Overview

I help you design effective data visualizations by recommending the right chart types, generating configurations for popular charting libraries, and applying data visualization best practices.

**What I can do:**
- Recommend appropriate chart types for your data
- Generate ECharts/Chart.js configurations
- Design dashboard layouts
- Apply visualization best practices
- Create Excel chart specifications
- Suggest color schemes and styling

**What I cannot do:**
- Render charts directly (use generated configs in tools)
- Create custom chart types from scratch
- Access your data directly

---

## How to Use Me

### Step 1: Describe Your Data

Tell me:
- What type of data you have
- What story you want to tell
- Your audience (technical, executive, public)
- Where it will be displayed (presentation, dashboard, report)

### Step 2: Get Recommendations

I'll suggest:
- Best chart type(s) for your data
- Configuration options
- Color schemes
- Layout considerations

### Step 3: Receive Chart Configs

I'll provide:
- ECharts JSON configuration
- Chart.js configuration
- Excel chart setup instructions
- CSS/styling recommendations

---

## Chart Selection Guide

### Comparison Charts
| Chart Type | Best For | Data Requirements |
|------------|----------|-------------------|
| Bar Chart | Comparing categories | Categories + values |
| Grouped Bar | Multiple series comparison | Categories + multiple series |
| Stacked Bar | Part-to-whole comparison | Categories + component values |

### Trend Charts
| Chart Type | Best For | Data Requirements |
|------------|----------|-------------------|
| Line Chart | Change over time | Time series data |
| Area Chart | Cumulative trends | Time series (stacked optional) |
| Sparkline | Compact trends | Simple time series |

### Distribution Charts
| Chart Type | Best For | Data Requirements |
|------------|----------|-------------------|
| Histogram | Value distribution | Numeric values |
| Box Plot | Distribution summary | Numeric values with quartiles |
| Scatter Plot | Correlation | Two numeric variables |

### Part-to-Whole Charts
| Chart Type | Best For | Data Requirements |
|------------|----------|-------------------|
| Pie Chart | Simple proportions (≤5 items) | Categories + percentages |
| Donut Chart | Proportions with total | Categories + percentages |
| Treemap | Hierarchical proportions | Hierarchical data + values |

### Specialized Charts
| Chart Type | Best For | Data Requirements |
|------------|----------|-------------------|
| Funnel | Process stages/conversion | Stages + values |
| Gauge | Single KPI vs target | Current value + target |
| Heatmap | Matrix comparisons | Row + Column + Value |
| Radar | Multi-dimensional comparison | Multiple metrics per item |
| Sankey | Flow/transitions | Source + Target + Value |

---

## Decision Tree

```
What do you want to show?
│
├─ Comparison
│   ├─ Among items → Bar Chart
│   ├─ Over time → Line Chart
│   └─ Multiple series → Grouped/Stacked Bar
│
├─ Composition
│   ├─ Static → Pie/Donut (≤5) or Treemap
│   ├─ Over time → Stacked Area
│   └─ Hierarchical → Treemap/Sunburst
│
├─ Distribution
│   ├─ Single variable → Histogram
│   ├─ Multiple datasets → Box Plot
│   └─ Two variables → Scatter Plot
│
├─ Relationship
│   ├─ Two variables → Scatter Plot
│   ├─ Three variables → Bubble Chart
│   └─ Correlation matrix → Heatmap
│
└─ Flow/Process
    ├─ Sequential stages → Funnel
    ├─ Transitions → Sankey
    └─ Single metric → Gauge
```

---

## Output Format

```markdown
# Chart Design: [Title]

**Data Type**: [Description]
**Purpose**: [What story to tell]
**Recommended Chart**: [Chart type]

---

## Chart Configuration

### ECharts

```javascript
const option = {
  title: {
    text: 'Chart Title',
    left: 'center'
  },
  tooltip: {
    trigger: 'axis'
  },
  legend: {
    data: ['Series 1', 'Series 2'],
    bottom: 10
  },
  xAxis: {
    type: 'category',
    data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      name: 'Series 1',
      type: 'bar',
      data: [120, 200, 150, 80, 70, 110]
    },
    {
      name: 'Series 2',
      type: 'line',
      data: [100, 180, 160, 90, 80, 100]
    }
  ]
};
```

### Chart.js

```javascript
const config = {
  type: 'bar',
  data: {
    labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
    datasets: [{
      label: 'Series 1',
      data: [120, 200, 150, 80, 70, 110],
      backgroundColor: 'rgba(54, 162, 235, 0.8)'
    }]
  },
  options: {
    responsive: true,
    plugins: {
      title: {
        display: true,
        text: 'Chart Title'
      }
    }
  }
};
```

---

## Styling Recommendations

### Color Palette
- Primary: `#5470c6`
- Secondary: `#91cc75`
- Accent: `#fac858`
- Neutral: `#73c0de`

### Typography
- Title: 16px, bold
- Labels: 12px, regular
- Axis: 11px, light

---

## Best Practices Applied

1. [Practice 1]
2. [Practice 2]
3. [Practice 3]

---

## Alternative Charts

If this doesn't work well, consider:
1. [Alternative 1] - when [condition]
2. [Alternative 2] - when [condition]
```

---

## ECharts Common Configurations

### Bar Chart
```javascript
{
  xAxis: { type: 'category', data: categories },
  yAxis: { type: 'value' },
  series: [{
    type: 'bar',
    data: values,
    itemStyle: { color: '#5470c6' }
  }]
}
```

### Line Chart
```javascript
{
  xAxis: { type: 'category', data: categories },
  yAxis: { type: 'value' },
  series: [{
    type: 'line',
    data: values,
    smooth: true,
    areaStyle: {} // for area chart
  }]
}
```

### Pie Chart
```javascript
{
  series: [{
    type: 'pie',
    radius: ['40%', '70%'], // donut
    data: [
      { value: 100, name: 'A' },
      { value: 200, name: 'B' }
    ]
  }]
}
```

### Scatter Plot
```javascript
{
  xAxis: { type: 'value' },
  yAxis: { type: 'value' },
  series: [{
    type: 'scatter',
    data: [[x1, y1], [x2, y2]],
    symbolSize: 10
  }]
}
```

---

## Color Palettes

### Professional
```
#5470c6, #91cc75, #fac858, #ee6666, #73c0de, #3ba272, #fc8452, #9a60b4
```

### Cool
```
#1f77b4, #aec7e8, #17becf, #9edae5, #6baed6, #c6dbef, #08519c, #3182bd
```

### Warm
```
#ff7f0e, #ffbb78, #d62728, #ff9896, #e377c2, #f7b6d2, #bcbd22, #dbdb8d
```

### Accessible (colorblind-friendly)
```
#0077BB, #33BBEE, #009988, #EE7733, #CC3311, #EE3377, #BBBBBB
```

---

## Best Practices

### Data Ink Ratio
- Remove unnecessary gridlines
- Minimize chart junk
- Let data be the focus

### Clarity
- Clear, descriptive titles
- Labeled axes with units
- Appropriate precision (not too many decimals)

### Comparison
- Start y-axis at zero for bar charts
- Use consistent scales for comparison
- Sort data logically

### Color
- Use color purposefully
- Consider colorblind users
- Don't use too many colors (≤7)

### Interaction
- Tooltips for details
- Zoom for dense data
- Drill-down for hierarchies

---

## Tips for Better Charts

1. **Know your audience** - technical vs. executive
2. **Start with the question** - what are you trying to answer?
3. **Choose the right chart** - don't force data into wrong formats
4. **Simplify** - less is more
5. **Label clearly** - assume viewers have no context
6. **Test with real users** - is the message clear?
7. **Consider accessibility** - colors, contrast, alt text

---

## Limitations

- Cannot render charts directly
- Configuration may need adjustment for specific tools
- Complex custom visualizations may require code
- Real-time data requires additional setup

---

*Built by the Claude Office Skills community. Contributions welcome!*

© claude-office-skills · MIT · claude-office-skills/skills

Похожие скиллы

Все скиллы по теме «Данные и базы» →
chart-visualization bytedance Скилл выбирает подходящий тип графика из 26 вариантов, собирает параметры и рисует картинку через JavaScript-скрипт. CX Codex +1 2 600установок chart Starchild-ai-agent Строит интерактивные графики на Apache ECharts: линии, столбцы, свечи, точки. Отдаёт готовую HTML-страницу и PNG-скриншот. CX Codex +1 3 900установок power-bi-report-design-consultation официальный github Скилл помогает спроектировать Power BI-отчёт: выбрать визуализации, продумать структуру страниц и учесть аудиторию. Пригодится, когда отчёт должен поддерживать конкретные решения. 9 390установок echarts sentimony Скилл для работы с графиками Apache ECharts: сборка, стилизация, отладка и оптимизация в JavaScript, React и Vue. CX Codex +1 2 700установок visualization-strategy-and-critique официальный OpenAI Выбирает форматы диаграмм, компонует дашборды и критикует визуализацию данных. Помогает продумать экран до написания кода. CX Codex GP ChatGPT 22установок syncfusion-react-3d-chart Syncfusion Inc Скилл помогает агенту собрать объёмные столбчатые и линейчатые диаграммы Syncfusion в React-проекте. Пригодится, когда нужен график с осями, легендой и экспортом. CX Codex +1 656установок

Из того же набора109

proposal-writer Скилл генерирует коммерческие предложения, сметы и заявки на партнёрство по готовым шаблонам. Пригодится при оформлении сделок и подготовке ответов на RFP. CX Codex +1 5 900установок PDF OCR Extraction Достаёт текст из сканированных и картинных PDF через OCR. Пригодится, когда документ нельзя выделить курсором, а искать по нему нужно. CX Codex +1 5 700установок image-generation Помогает писать промпты для генераторов картинок: разбирает замысел на детали и подгоняет формулировки под конкретный инструмент. CX Codex +1 5 600установок social-publisher Автоматизирует публикацию контента в соцсети и адаптирует подписи под TikTok, Instagram, YouTube и LinkedIn. Пригодится при дистрибуции видео по расписанию. CX Codex +1 5 600установок File Organizer Скилл раскладывает файлы по папкам и переименовывает их, опираясь на содержимое и метаданные. Пригодится, когда папка загрузок превратилась в свалку. CX Codex +1 5 500установок ads-copywriter Скилл генерирует рекламные объявления под лимиты Google Ads, Meta, TikTok и LinkedIn. Помогает подготовить варианты заголовков и текстов для A/B-тестирования. CX Codex +1 5 500установок Twilio SMS Automation Скилл для автоматизации SMS-рассылок, двусторонних переписок, кодов подтверждения и голосовых сценариев через Twilio. CX Codex +1 5 400установок contract-review Находит риски в договорах, проверяет структуру документов и готовит правки для торга. Пригодится перед подписанием соглашений об оказании услуг, NDA и трудовых контрактов. CX Codex +1 5 400установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой