Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot official · Anthropic

create-viz — Claude Code skill: charts from data

Generates publication-quality charts from tables and database queries using Python. Selects chart type, formats axes, and saves PNG for reports and presentations.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add anthropics/knowledge-work-plugins --skill create-viz -a claude-code
Open on GitHub

What create-viz does

The skill takes data—from a database query, CSV, Excel, or pasted text—and produces a formatted chart. It picks the right type (line for trends, bars for comparisons, scatter for correlation) or uses the type you specify.

Runs on matplotlib and seaborn for static charts, or plotly for interactive ones. Applies best practices: removes chart junk, labels axes, formats numbers (currency as "$1.2M", not "1200000"), uses a colorblind-friendly palette. Output is saved as PNG at 150 DPI.

Requires pandas and Python; if data lives in a separate system, needs a connected database connector.

What it helps with

  • turn query results into a trend line
  • pick the right chart type for your dataset
  • build an interactive chart with hover and zoom
  • prepare a visualization for a presentation or report
  • create a heatmap or multidimensional plot

Example prompts for the agent

  • /create-viz last 12 months revenue as a line chart with trend highlighted
  • /create-viz here's our NPS by product [paste data], horizontal bar chart ranking by score
  • /create-viz query the orders table and show order volume by day-of-week and hour as a heatmap

How to install create-viz

1Skills CLI (Vercel)

npx skills add anthropics/knowledge-work-plugins --skill create-viz -a claude-code

2Manually: put the files in place

~/.claude/skills/create-viz/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/create-viz/

From the same set89

The whole set →
data-visualization official anthropics Selects chart types based on data structure and produces Python visualization code in matplotlib, seaborn, and plotly. Useful for reports and research figures. Claude Code CX Codex Cursor +1 13,700installs documentation official anthropics A skill for technical writing that drafts READMEs, API references, runbooks, architecture docs and onboarding guides. Useful when the code exists but the description does not. Claude Code CX Codex Cursor +1 10,300installs build-dashboard official anthropics Builds a self-contained HTML dashboard with Chart.js charts, KPI cards, and filterable tables. Useful for turning raw data or queries into a standalone browser report. Claude Code CX Codex Cursor +1 9,100installs memory-management official anthropics This skill organizes workplace shorthand, names, and project details into files an agent can consult. It fits projects where requests rely on an internal vocabulary and shared context. Claude Code CX Codex Cursor +1 7,400installs task-management official anthropics Tracks commitments, active work, and follow-ups in a local TASKS.md file. Useful when managing project to-dos directly from the AI coding chat. Claude Code CX Codex Cursor +1 7,200installs architecture official anthropics Writes an Architecture Decision Record or reviews a system design: options, trade-offs, consequences. Useful when you have to pick between technologies. Claude Code CX Codex Cursor +1 6,700installs knowledge-synthesis official anthropics Merges search results across chats, emails, and documents into deduplicated answers with source attribution. Flags conflicting facts and scores source reliability. Claude Code CX Codex Cursor +1 6,400installs testing-strategy official anthropics This skill designs testing strategies and test plans for a project. Use it when you need test types, coverage goals, or gaps in existing checks. Claude Code CX Codex Cursor +1 6,400installs

Similar

create-spring-boot-java-project official github Creates a Spring Boot Java skeleton with Maven, database settings and Docker Compose. Use it when a new API needs PostgreSQL, Redis and MongoDB locally. GitHub Copilot 9,516installs power-bi-report-design-consultation official github This skill guides Power BI report planning, from chart choices to page layout and accessibility. Use it when a report needs to support specific decisions for a defined audience. GitHub Copilot 9,390installs dataverse-python-advanced-patterns official github Guides GitHub Copilot to generate Dataverse Python code with error recovery, batch work, and OData query patterns. GitHub Copilot 9,213installs power-bi-dax-optimization official github Reviews DAX formulas, proposes a revised version, and explains the changes. Use it when Power BI measures are hard to read or slow under filters. GitHub Copilot 9,100installs snowflake-semanticview official github This skill creates, alters, and validates Snowflake semantic views through Snowflake CLI. Use it for semantic-layer definitions and related DDL troubleshooting. GitHub Copilot 9,000installs power-bi-model-design-review official github Reviews Power BI model architecture, relationships, and storage modes. Use it before a model release or when investigating slow queries. GitHub Copilot 9,000installs xlsx official anthropics Creates, reads, edits, and converts spreadsheet files. Use it when the requested deliverable is an Excel workbook or another tabular file. Claude Code Claude.ai 187,223installs google-agents-cli-observability official Google This skill guides you through tracing and monitoring AI agents, including ADK agents. Use it when you need to inspect agent execution or monitor a deployed agent. Claude Code CX Codex Cursor +1 509,900installs

Questions about create-viz

How do I install create-viz in Claude Code?

Run npx skills add anthropics/knowledge-work-plugins --skill create-viz -a claude-code, then open ~/.claude/skills/create-viz/SKILL.md. For other platforms, change the flag: -a codex for Codex, -a cursor for Cursor, -a gemini-cli for Gemini CLI.

What does create-viz do?

It takes a table or query results and builds a Python chart. Picks the diagram type (line, bar, scatter, etc.), formats axes, removes unnecessary design elements, and saves the output as PNG to your current directory.

What libraries does it need?

By default, matplotlib and seaborn for static charts. If you ask for an interactive chart (by mentioning "interactive"), it uses plotly. Requires pandas to work with data.

Source text

SKILL.md · Apache-2.0
---
name: create-viz
description: Create publication-quality visualizations with Python. Use when turning query results or a DataFrame into a chart, selecting the right chart type for a trend or comparison, generating a plot for a report or presentation, or needing an interactive chart with hover and zoom.
argument-hint: "<data source> [chart type]"
---

# /create-viz - Create Visualizations

> If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](../../CONNECTORS.md).

Create publication-quality data visualizations using Python. Generates charts from data with best practices for clarity, accuracy, and design.

## Usage

```
/create-viz <data source> [chart type] [additional instructions]
```

## Workflow

### 1. Understand the Request

Determine:

- **Data source**: Query results, pasted data, CSV/Excel file, or data to be queried
- **Chart type**: Explicitly requested or needs to be recommended
- **Purpose**: Exploration, presentation, report, dashboard component
- **Audience**: Technical team, executives, external stakeholders

### 2. Get the Data

**If data warehouse is connected and data needs querying:**
1. Write and execute the query
2. Load results into a pandas DataFrame

**If data is pasted or uploaded:**
1. Parse the data into a pandas DataFrame
2. Clean and prepare as needed (type conversions, null handling)

**If data is from a previous analysis in the conversation:**
1. Reference the existing data

### 3. Select Chart Type

If the user didn't specify a chart type, recommend one based on the data and question:

| Data Relationship | Recommended Chart |
|---|---|
| Trend over time | Line chart |
| Comparison across categories | Bar chart (horizontal if many categories) |
| Part-to-whole composition | Stacked bar or area chart (avoid pie charts unless <6 categories) |
| Distribution of values | Histogram or box plot |
| Correlation between two variables | Scatter plot |
| Two-variable comparison over time | Dual-axis line or grouped bar |
| Geographic data | Choropleth map |
| Ranking | Horizontal bar chart |
| Flow or process | Sankey diagram |
| Matrix of relationships | Heatmap |

Explain the recommendation briefly if the user didn't specify.

### 4. Generate the Visualization

Write Python code using one of these libraries based on the need:

- **matplotlib + seaborn**: Best for static, publication-quality charts. Default choice.
- **plotly**: Best for interactive charts or when the user requests interactivity.

**Code requirements:**

```python
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

# Set professional style
plt.style.use('seaborn-v0_8-whitegrid')
sns.set_palette("husl")

# Create figure with appropriate size
fig, ax = plt.subplots(figsize=(10, 6))

# [chart-specific code]

# Always include:
ax.set_title('Clear, Descriptive Title', fontsize=14, fontweight='bold')
ax.set_xlabel('X-Axis Label', fontsize=11)
ax.set_ylabel('Y-Axis Label', fontsize=11)

# Format numbers appropriately
# - Percentages: '45.2%' not '0.452'
# - Currency: '$1.2M' not '1200000'
# - Large numbers: '2.3K' or '1.5M' not '2300' or '1500000'

# Remove chart junk
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

plt.tight_layout()
plt.savefig('chart_name.png', dpi=150, bbox_inches='tight')
plt.show()
```

### 5. Apply Design Best Practices

**Color:**
- Use a consistent, colorblind-friendly palette
- Use color meaningfully (not decoratively)
- Highlight the key data point or trend with a contrasting color
- Grey out less important reference data

**Typography:**
- Descriptive title that states the insight, not just the metric (e.g., "Revenue grew 23% YoY" not "Revenue by Month")
- Readable axis labels (not rotated 90 degrees if avoidable)
- Data labels on key points when they add clarity

**Layout:**
- Appropriate whitespace and margins
- Legend placement that doesn't obscure data
- Sorted categories by value (not alphabetically) unless there's a natural order

**Accuracy:**
- Y-axis starts at zero for bar charts
- No misleading axis breaks without clear notation
- Consistent scales when comparing panels
- Appropriate precision (don't show 10 decimal places)

### 6. Save and Present

1. Save the chart as a PNG file with descriptive name
2. Display the chart to the user
3. Provide the code used so they can modify it
4. Suggest variations (different chart type, different grouping, zoomed time range)

## Examples

```
/create-viz Show monthly revenue for the last 12 months as a line chart with the trend highlighted
```

```
/create-viz Here's our NPS data by product: [pastes data]. Create a horizontal bar chart ranking products by score.
```

```
/create-viz Query the orders table and create a heatmap of order volume by day-of-week and hour
```

## Tips

- If you want interactive charts (hover, zoom, filter), mention "interactive" and Claude will use plotly
- Specify "presentation" if you need larger fonts and higher contrast
- You can request multiple charts at once (e.g., "create a 2x2 grid of charts showing...")
- Charts are saved to your current directory as PNG files

© anthropics · Apache-2.0 · anthropics/knowledge-work-plugins

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor