SciPilot Figure
scipilot-figure-skill
A scientific visualization advisor skill: it profiles the data and picks a chart for the argument first, then renders it to journal-grade quality
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Runs Python scripts that read data files and write figure files
- Installs third-party plotting packages
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/scipilot-figure-skillDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal in the project folder
npx skills add haojae/scipilot-figure-skill --skill scipilot-figure-skill -a claude-code -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Run in a terminal in the project folder
npx skills add haojae/scipilot-figure-skill --skill scipilot-figure-skill -a cursor -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Run in a terminal in the project folder
npx skills add haojae/scipilot-figure-skill --skill scipilot-figure-skill -a github-copilot -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Run in a terminal in the project folder
npx skills add haojae/scipilot-figure-skill --skill scipilot-figure-skill -a codex -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Run in a terminal in the project folder
npx skills add haojae/scipilot-figure-skill --skill scipilot-figure-skill -a gemini-cli -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Run in a terminal in the project folder
npx skills add haojae/scipilot-figure-skill --skill scipilot-figure-skill -a cline -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Run in a terminal in the project folder
npx skills add haojae/scipilot-figure-skill --skill scipilot-figure-skill -a roo -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
A fork of Roo Code, same .roo folders.
Run in a terminal in the project folder
npx skills add haojae/scipilot-figure-skill --skill scipilot-figure-skill -a opencode -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Install the skill: clone the repo into ~/.claude/skills/scipilot-figure-skill, then pip install -r ~/.claude/skills/scipilot-figure-skill/requirements.txt. Start by profiling the data with scripts/profile_data.py.
Other ways from the author
git clone https://github.com/Haojae/scipilot-figure-skill.git ~/.claude/skills/scipilot-figure-skill
pip install -r ~/.claude/skills/scipilot-figure-skill/requirements.txtThe SciencePlots, pypdf, kaleido and PyMuPDF packages are optional; without them the skill runs with reduced features.
This is third-party code. Review the repository files before installing.
What it does
The skill acts as a scientific graphics advisor first and a renderer second. It profiles the data with profile_data.py: column types, sample size, distributions, outliers, correlations. Then it asks what the figure should argue and picks a chart type from a decision framework, actively refusing common mistakes: mean-only bars on small samples, dual Y axes, pie and 3D charts, improper axis truncation, rainbow palettes. Next it checks journal specs for column width, font size and DPI, configures style and fonts including CJK auto-detection, and renders with matplotlib, seaborn and plotly. After rendering it runs a self-check loop: a program audit for missing glyphs, clipping and overlaps, plus reading the rendered image for occlusion and panel alignment. Export happens at the final size with vector formats and a grayscale preview.
Who it is for. For researchers, analysts and paper authors who need journal-grade figures with a justified choice of chart type.
Good fit when
- You have a data table and are unsure which chart conveys the conclusion
- You need a figure that meets a specific journal spec, for example Nature or IEEE
- You need a multi-panel figure with a unified style and correct stats in the caption
- You need CJK labels in matplotlib without boxes instead of characters
Not a fit when
- You need schematics, flowcharts or architecture diagrams rather than data charts
- You cannot install Python and the plotting libraries
Example request
Here is results.csv, help me turn it into a figure for a paper at Nature single-column widthLimitations
The skill covers only data charts: lines, bars, scatter, box and violin, heatmaps, distributions, correlation matrices and multi-panel figures, and it does not make schematics or flowcharts. It needs Python 3.9 or newer with matplotlib, seaborn, plotly, pandas, numpy and scipy; some features require extra packages such as SciencePlots, kaleido or PyMuPDF, and without them those features are skipped. Correct CJK labels require CJK fonts installed in the system.
How to disable. Remove the scipilot-figure-skill folder from the skills directory, for example ~/.claude/skills/. The installed Python packages can be removed separately if needed.
Security check
- Runs Python scripts that read data files and write figure files
- Installs third-party plotting packages
README in short
The README describes a SciPilot family skill that thinks first and plots second: it profiles the data, clarifies the figure's goal, picks a chart type from a decision framework and refuses common scientific-plotting mistakes. An eight-step workflow runs from data profiling to chart selection, journal-spec checks, rendering and export at final size. Version 2.1 adds a visual self-check loop after rendering: a program audit plus reading the rendered image. The stack is matplotlib, seaborn and SciencePlots for static and plotly for interactive, with CJK font auto-detection and a colorblind-safe default palette. The skill works with Claude Code, Codex and Cursor, the documentation is in English and Chinese, and it is MIT licensed.
SKILL.md
--- name: scipilot-figure-skill description: >- SciPilot Skills 家族成员,负责科研数据可视化——但定位不是"画图工具", 而是"可视化顾问"。先做数据剖析(列类型/样本量/分布/异常值/分组结构/相关性), 再结合用户的论证目标推荐图型,主动拦截科研画图的经典错误(小样本画均值柱掩盖 分布、双 Y 轴、饼图、Y 轴不当截断、rainbow 色图、把分类点连成折线等),最后 产出 Nature / Science / IEEE / Elsevier / PNAS / 中文核心期刊级别的成图。 覆盖纯数据图:折线、柱状、散点、箱线 / 小提琴、热力图、误差棒、分布图(直方 图 / KDE)、相关性矩阵 / 散点矩阵、多面板组合。技术栈 matplotlib + seaborn + SciencePlots(静态)+ plotly(交互)。 --- # scipilot-figure-skill — 科研数据可视化顾问 > SciPilot Skills 家族成员 | 从数据剖析到出版级成图 ## 概述 科研工作者最大的画图痛点往往不是"不会用 matplotlib",而是"手上一堆数据,不知道该用什么图把结论讲清楚"。本技能的首要能力是【思考与判断】,其次才是【绘制】。
FAQ
Will the skill just draw what I ask?
Not always. If the chosen chart hides the data, for example mean bars on a sample of five points, the skill proposes an alternative and asks whether to keep the original or switch.
Why does Chinese text render as boxes?
There is no suitable CJK font. The setup_style mode picks a font and disables the minus-sign box, and a pre-export check catches any remaining missing glyphs.
Related
166 skills for scientific work: bioinformatics, cheminformatics, clinical data, geospatial analysis and 100+ databases
Google's open-source MCP server for databases: ready tools for Postgres, MySQL, BigQuery, Spanner and more, plus custom tools in tools.yaml
Official Hugging Face skills: Hub operations via the hf CLI, datasets, model training, Spaces, evals and deployment
A visualization language for agents and an MCP server: neat charts from a simple semantic spec