scipilot-figure-skill

Profiles datasets and renders publication-grade scientific figures with matplotlib, seaborn, and plotly.

Updated Aug 26, 2026
One-click install
npx skills add https://github.com/coollx/stable-harness --skill scipilot-figure-skill-coollx
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: scipilot-figure-skill
Source: https://github.com/coollx/stable-harness/tree/main/paper/.claude/skills/scipilot-figure-skill
Command: npx skills add https://github.com/coollx/stable-harness --skill scipilot-figure-skill-coollx

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires matplotlib, seaborn, plotly, pandas, numpy, scipy, Pillow, and includes scripts (resource) and references (resource) components.

What problem does it solve? Researchers often have data but don't know which chart best supports their argument, and generic plotting produces figures that fail journal requirements—wrong sizes, missing CJK glyphs, colorblind-unsafe palettes, or misleading chart types like mean-only bars on tiny samples. ## Core Features & Use Cases - Advisor-first workflow: Profiles your data (column types, sample sizes, distributions, outliers, correlations) and recommends chart types based on your argument, actively intercepting classic mistakes like pie charts, dual Y-axes, rainbow colormaps, and mean bars with n<10. - Journal-compliant rendering: Applies Nature / Science / IEEE / Elsevier / PNAS / Chinese journal presets for column width, font size, DPI, and vector formats, with automatic CJK font configuration and colorblind-safe Okabe-Ito palettes. - Post-render self-check loop: Renders PNG previews, programmatically audits for missing glyphs, clipped text, and overlapping ticks, then re-reads the image to verify legend placement and panel alignment before exporting PDF/SVG/PNG with grayscale previews. - Use Case: You drop in a results.csv and ask for a paper figure. The skill profiles the data, asks what claim the figure should support, recommends box plot + stripplot over your requested mean bar chart (n=5 per group), renders it at Nature single-column size, self-checks the output, and exports vector files. ## Quick Start Ask the AI to analyze your CSV data file and create a publication-ready figure for your target journal, describing what conclusion the figure should support.

Frequently Asked Questions about scipilot-figure-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose the right chart type for my research data?

Run the data profiling script on your CSV to get column types, sample sizes, distributions, and correlations, then match your data shape and argument goal against the chart selection decision framework. The skill recommends a primary chart plus alternatives with rationale.

How do I make matplotlib figures meet Nature or IEEE submission requirements?

Set figsize directly to the journal's column width (Nature single column 3.5 in, IEEE double column 7.16 in), use 7-9 pt fonts, export as PDF/SVG/EPS with TrueType font embedding, and never rescale afterward in Word or LaTeX. The setup_style script applies these presets automatically.

Why does matplotlib show boxes instead of Chinese characters?

Default matplotlib fonts like DejaVu Sans contain no CJK glyphs. Configure a Chinese font such as Noto Sans CJK SC, Source Han Sans SC, SimHei, or Microsoft YaHei, and disable unicode_minus to fix minus-sign boxes. The setup_style script does both automatically.

Should I use a bar chart or box plot for small sample sizes?

For groups with n<10, avoid mean-only bar charts because they hide the distribution and reviewers typically demand individual data points. Use a box plot or violin plot with a stripplot overlay showing every raw point, or a plain stripplot when n<3.

What are the limitations of this visualization skill?

It covers only data-driven charts such as line, bar, scatter, box, heatmap, and distribution plots. It does not create schematic diagrams, flowcharts, or architecture diagrams, and interactive plotly output is unsuitable for journal PDF submission systems.