Agent skill

Visualization Chooser

by revfactory in revfactory/harness-100

Visualization type selection matrix by data type and analysis purpose, matplotlib/seaborn/plotly implementation pattern guide.

Apache-2.0Auto-check passedData & Analytics

Install Visualization Chooser

skills CLI
$ npx skills add revfactory/harness-100 --skill visualization-chooser -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install revfactory/harness-100 visualization-chooser --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/revfactory/harness-100.git skills-src && mkdir -p .claude/skills && cp -r skills-src/en/32-data-analysis/.claude/skills/visualization-chooser .claude/skills/visualization-chooser && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
visualization-chooser
GitHub stars
1.3k
Token cost
~1.3k tokens
SKILL.md length
289 words
Files
1
Skills in repo
464
Repo updated
First seen
Licence
Apache-2.0

At a glance

Visualization type selection matrix by data type and analysis purpose, matplotlib/seaborn/plotly implementation pattern guide.

  • Data visualization design involving visualization selection
  • SKILL.md covers Visualization Selection Matrix, Implementation Code Patterns, Visualization Anti-patterns and Interactive Visualization…, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Dashboard layout

What it does

Visualization Chooser is an agent skill from revfactory/harness-100. Visualization type selection matrix by data type and analysis purpose, matplotlib/seaborn/plotly implementation pattern guide. Use this skill for data visualization design involving 'visualization selection', 'chart type', 'graph types', 'matplotlib', 'seaborn', 'plotly', 'heatmap', 'scatter plot', 'box plot', 'dashboard layout', etc. Enhances the visualizer's visualization design capabilities. Note: statistical analysis and data cleaning are outside this skill's scope.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Data & Analytics, covering Data visualization. It works with Plotly, Matplotlib and Seaborn. The licence is Apache-2.0.

When your agent uses it

  • Data visualization design involving visualization selection
  • Dashboard layout

Example prompts

  • “visualization selection”
  • “chart type”
  • “graph types”
  • “/visualization-chooser”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 8e8d35c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Visualization Chooser loads about 1.3k tokens when it runs. Until then it costs about 124 tokens; SKILL.md has 289 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from revfactory/harness-100 at commit 8e8d35c, republished under its Apache-2.0 licence (© revfactory). 289 words, ~1,294 tokens.

Download SKILL.mdSave it as .claude/skills/visualization-chooser/SKILL.md (or your agent's skills folder).
name
visualization-chooser
description
Visualization type selection matrix by data type and analysis purpose, matplotlib/seaborn/plotly implementation pattern guide. Use this skill for data visualization design involving 'visualization selection', 'chart type', 'graph types', 'matplotlib', 'seaborn', 'plotly', 'heatmap', 'scatter plot', 'box plot', 'dashboard layout', etc. Enhances the visualizer's visualization design capabilities. Note: statistical analysis and data cleaning are outside this skill's scope.

Visualization Chooser — Visualization Type Selection Matrix Guide

A framework for selecting optimal visualizations based on data type and communication purpose.

Visualization Selection Matrix

Comparison
PurposeChartSuitableExample
Item comparisonBar chart5-15 categoriesSales by product
Time trend comparisonLine chartContinuous time, 2-5 seriesMonthly sales trend
Part-to-wholeStacked barRatio comparisonSales by channel share
Few ratiosPie chart2-5 items onlyMarket share
Many ratiosTreemapHierarchical dataSales by category
Distribution
PurposeChartSuitableExample
Single distributionHistogramContinuous variableAge distribution
Distribution comparisonBox plotGroup comparisonSalary by department
Density comparisonViolin plotDistribution shape mattersScore distribution
Outlier emphasisStrip plotSmall dataIndividual data points
Relationship
PurposeChartSuitableExample
Two-variable relationshipScatter plotContinuous×ContinuousAd spend vs sales
Multi-variable correlationHeatmapCorrelation matrixInter-variable correlation
Trend lineRegression plotLinear relationshipExperience vs salary
Density scatter2D densityToo many data pointsLocation data
Bubble chartScatter + size3 variablesGDP/population/life expectancy by country
Time
PurposeChartSuitableExample
TrendLine chartContinuous time seriesDaily stock price
SeasonalityDecomposition chartPeriodic patternsMonthly electricity usage
Event highlightAnnotated lineSpecific time pointsMarketing campaign effect
RangeArea chartCumulative/ratioTraffic by channel

Implementation Code Patterns

Font Configuration (Essential for non-Latin scripts)
python
import matplotlib.pyplot as plt
import platform

if platform.system() == 'Darwin':  # macOS
    plt.rcParams['font.family'] = 'AppleGothic'
elif platform.system() == 'Windows':
    plt.rcParams['font.family'] = 'Malgun Gothic'
else:  # Linux
    plt.rcParams['font.family'] = 'NanumGothic'
plt.rcParams['axes.unicode_minus'] = False
Color Palettes
python
# Sequential (continuous values)
palette_sequential = 'YlOrRd'

# Categorical (discrete)
palette_categorical = ['#4C72B0', '#55A868', '#C44E52', '#8172B3', '#CCB974']

# Diverging (bipolar)
palette_diverging = 'RdBu_r'

# Accessibility-friendly
palette_colorblind = sns.color_palette('colorblind')
Dashboard Layout
python
fig, axes = plt.subplots(2, 3, figsize=(18, 10))
fig.suptitle('Sales Analysis Dashboard', fontsize=16, fontweight='bold')

# KPI Card (text-based)
axes[0,0].text(0.5, 0.5, f'Total Sales\n${total:,.0f}', ha='center', va='center', fontsize=20)

# Trend chart
axes[0,1].plot(dates, sales, '-o')

# Distribution
axes[0,2].boxplot([q1, q2, q3, q4])

# Comparison
axes[1,0].barh(categories, values)

# Correlation
sns.heatmap(corr_matrix, ax=axes[1,1], annot=True, cmap='RdBu_r')

# Pie
axes[1,2].pie(shares, labels=channels, autopct='%1.1f%%')

plt.tight_layout()

Visualization Anti-patterns

Anti-patternProblemSolution
3D chartsDistortion, hard to readUse 2D
Dual Y-axesMisleading comparisonsSeparate charts or normalize
Pie with >5 slicesCannot compareSwitch to bar chart
Rainbow colorsHard to distinguish patternsUse sequential/categorical palettes
Y-axis not starting at 0Exaggerates differencesStart Y-axis from 0
Information overloadMisses the pointFocus on one highlight
No legendCannot interpretClear legends/labels

Interactive Visualization (Plotly)

python
import plotly.express as px

# Scatter + color + size + hover
fig = px.scatter(
    df, x='ad_spend', y='sales',
    color='category', size='customers',
    hover_data=['product_name'],
    title='Ad Spend vs Sales Analysis'
)
fig.show()

# Plotly → HTML export
fig.write_html('interactive_chart.html')

Executive Report Visualization Principles

1. One key message: One insight per chart
2. Title = Conclusion: "Sales declined 15%" (O) vs "Monthly Sales" (X)
3. Color = Meaning: Red=bad, Green=good, Gray=baseline
4. Annotations: Display key figures directly
5. Comparison baseline: Prior month, prior year, target, industry average

© revfactory, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in en/32-data-analysis/.claude/skills/visualization-chooser of revfactory/harness-100.

Open the folder on GitHubat commit 8e8d35c

Compare with similar skills

Visualization Chooser next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Visualization Chooser compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Visualization Chooser this skillrevfactory/harness-1001.3k—~1.3kAutomated safety check: PassApache-2.0
MatplotlibzLanqing/codex-claude-academic-skills4.6k17 repos~2.9kAutomated safety check: PassMIT
Scientific Visualizationmims-harvard/OptimusKG14619 repos~6.3kAutomated safety check: PassMIT
SeabornzLanqing/codex-claude-academic-skills4.6k16 repos~4.9kAutomated safety check: PassBSD-3-Clause
CJK Font Setup for Plotsxjtulyc/MedgeClaw6171 repos~1.3kAutomated safety check: PassNone
Tufte Data Vizcaylent/tufte-data-viz222—~3.5kAutomated safety check: PassMIT

Similar skills

  • Matplotlib

    zLanqing/codex-claude-academic-skills

    Low-level plotting library for full customization. An agent skill from zLanqing/codex-claude-academic-skills.

    4.6k GitHub starsUsed in 17 repos~2.9k tokens
    Data & AnalyticsAuto-check passed
  • Scientific Visualization

    mims-harvard/OptimusKG

    Create publication figures with matplotlib/seaborn/plotly. An agent skill from mims-harvard/OptimusKG.

    146 GitHub starsUsed in 19 repos~6.3k tokens
    Data & AnalyticsAuto-check passed
  • Seaborn

    zLanqing/codex-claude-academic-skills

    Statistical visualization with pandas integration. An agent skill from zLanqing/codex-claude-academic-skills.

    4.6k GitHub starsUsed in 16 repos~4.9k tokens
    Data & AnalyticsAuto-check passed
  • CJK Font Setup for Plots

    xjtulyc/MedgeClaw

    Detects a usable Chinese, Japanese or Korean font and configures matplotlib so chart labels, titles and legends render instead of showing empty boxes.

    617 GitHub starsUsed in 1 repo~1.3k tokens
    Data & AnalyticsAuto-check passed
  • Tufte Data Viz

    caylent/tufte-data-viz

    A skill your agent uses when creating, reviewing, or styling charts, graphs, dashboards, sparklines, or any data visualization.

    222 GitHub stars~3.5k tokensUpdated 7 mo ago
    Data & AnalyticsAuto-check passed
  • Create and audit truthful, accessible, publication-ready scientific figures with Matplotlib, Seaborn, or Plotly.

    205 GitHub stars~3.4k tokensUpdated yesterday
    Data & AnalyticsAuto-check: notes

More from revfactory/harness-100

All 464 skills in this repo
  • Anti Bot Analyzer

    revfactory/harness-100

    A skill for analyzing website anti-bot defense mechanisms and developing legitimate evasion strategies.

    1.3k GitHub stars~1.1k tokensUpdated 6 mo ago
    Auto-check passed
  • API Error Design Patterns

    revfactory/harness-100

    Reference for designing how an API reports failures: structured error codes, response shapes, client-friendly messages, an error catalog and retry or fallback advice.

    1.3k GitHub stars~1.6k tokensUpdated 6 mo ago
    Auto-check passed
  • API Security Checklist

    revfactory/harness-100

    Walks a backend-dev agent through OWASP API Top 10 checks, authentication and authorization patterns, and defense code during API design.

    1.3k GitHub stars~1.7k tokensUpdated 6 mo ago
    Auto-check passed
  • Arg Parser Generator

    revfactory/harness-100

    Methodology for systematically designing and generating CLI tool argument parser structures.

    1.3k GitHub stars~1.2k tokensUpdated 6 mo ago
    Auto-check passed
  • Audience Segmentation

    revfactory/harness-100

    Audience segmentation skill used by the analyst and curator agents.

    1.3k GitHub stars~1.3k tokensUpdated 6 mo ago
    Auto-check passed
  • Audio Storytelling

    revfactory/harness-100

    Audio storytelling skill used by the podcast scriptwriter and show note editor.

    1.3k GitHub stars~1.6k tokensUpdated 6 mo ago
    Auto-check passed

Questions about Visualization Chooser

What does Visualization Chooser do?

Visualization type selection matrix by data type and analysis purpose, matplotlib/seaborn/plotly implementation pattern guide. Visualization Chooser is an agent skill from revfactory/harness-100. Visualization type selection matrix by data type and analysis purpose, matplotlib/seaborn/plotly implementation pattern guide.

When should I use Visualization Chooser?

Visualization Chooser fits situations like: data visualization design involving visualization selection; dashboard layout.

How do I install Visualization Chooser in Claude Code?

Run `npx skills add revfactory/harness-100 --skill visualization-chooser -a claude-code`. Or copy the skill folder (en/32-data-analysis/.claude/skills/visualization-chooser in revfactory/harness-100) into .claude/skills/visualization-chooser in your project. Claude Code loads it when a task matches its description.

How do I install Visualization Chooser in Codex?

Run `npx skills add revfactory/harness-100 --skill visualization-chooser -a codex`. Or copy the skill folder (en/32-data-analysis/.claude/skills/visualization-chooser in revfactory/harness-100) into .agents/skills/visualization-chooser in your project. Codex loads it when a task matches its description.

Can I use Visualization Chooser in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add revfactory/harness-100 --skill visualization-chooser -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/visualization-chooser, .gemini/skills/visualization-chooser, .github/skills/visualization-chooser and .opencode/skills/visualization-chooser in your project.

What does Visualization Chooser need to run?

SKILL.md names no scripts, command-line tools or credentials: Visualization Chooser is instructions for the agent only. Our summary lists: Python 3.

Does Visualization Chooser access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Visualization Chooser safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Visualization Chooser use?

Visualization Chooser is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Visualization Chooser use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Visualization Chooser?

Skills that share tags, products or a category with Visualization Chooser: Matplotlib (zLanqing/codex-claude-academic-skills, 4.6k stars), Scientific Visualization (mims-harvard/OptimusKG, 146 stars), Seaborn (zLanqing/codex-claude-academic-skills, 4.6k stars) and CJK Font Setup for Plots (xjtulyc/MedgeClaw, 617 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Visualization Chooser?

revfactory (a GitHub user) maintains it in revfactory/harness-100, which has 1,290 GitHub stars. The repository holds 464 skills in this directory. The repository was last updated on March 22, 2026.

Source: revfactory/harness-100 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.