#438 by GitHub stars
Haojae/scipilot-figure-skill
SciPilot Skills 家族成员,负责科研数据可视化——但定位不是"画图工具", 而是"可视化顾问"。先做数据剖析(列类型/样本量/分布/异常值/分组结构/相关性), 再结合用户的论证目标推荐图型,主动拦截科研画图的经典错误(小样本画均值柱掩盖 分布、双 Y 轴、饼图、Y 轴不当截断、rainbow 色图、把分类点连成折线等),最后 产出 Nature / Science / IEEE / Elsevier / PNAS / 中文核心期刊级别的成图。 覆盖纯数据图:折线、柱状、散点、箱线 / 小提琴、热力图、误差棒、分布图(直方 图 / KDE)、相关性矩阵 / 散点矩阵、多面板组合。
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
43098ddb9e6a → 43098ddb9e6a
Heat
5.9- Star growth, last 7 daysAhead of 90% of tracked repositories
- Star growth, last 24 hoursAhead of 91% of tracked repositories
- Rank movement, last 7 daysAhead of 44% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
How it works
scipilot-figure-skill
When your agent uses it
SciPilot Skills 家族成员,负责科研数据可视化——但定位不是"画图工具", 而是"可视化顾问"。先做数据剖析(列类型/样本量/分布/异常值/分组结构/相关性), 再结合用户的论证目标推荐图型,主动拦截科研画图的经典错误(小样本画均值柱掩盖 分布、双 Y 轴、饼图、Y 轴不当截断、rainbow 色图、把分类点连成折线等),最后 产出 Nature / Science / IEEE / Elsevier / PNAS / 中文核心期刊级别的成图。 覆盖纯数据图:折线、柱状、散点、箱线 / 小提琴、热力图、误差棒、分布图(直方 图 / KDE)、相关性矩阵 / 散点矩阵、多面板组合。技术栈 matplotlib + seaborn + SciencePlots(静态)+ plotly(交互)。中英文双语,中文模式自动配置 Noto Sans CJK / Source Han Sans / SimHei 并修复负号方框,支持中文期刊"宋体正文 + Times New Roman 数字"混排。默认色盲安全配色 + 冗余编码 + 灰度预览。出图后做 "视觉自检闭环":渲染 PNG 预览→程序自检缺字/文字裁切/刻度重叠→AI 读图复核遮盖 与子图对齐→回改重渲,直到通过。 当用户的任务涉及以下任何情况时主动触发:论文配图、科研画图、数据可视化、 不知道用什么图、怎么展示数据、用什么图好、期刊投稿图、figure、出版级图表、 matplotlib、seaborn、plotly、误差棒、显著性标注、色盲安全配色、矢量图导出、 中文论文图表、多面板。**即使用户只是给一批数据问"这个怎么画"或"用什么图 好",也应使用本技能——本技能首要能力是"判断该用什么图",其次才是绘制。** 不做示意图、流程图、架构图。
What it loads into context
Frontmatter
534 tokensAlways available to the agent
SKILL.md
5,361 tokensWhen the skill is activated
Reference documents
29,540 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 概述
- 何时使用
- 核心工作流(8 步)
- 选图速查(详细决策在 chart_selection.md)
- 五条硬性原则
- 主动拦截(顾问职责)
- 中文支持
- 脚本说明
- 参考文档
- 常见任务示例
- 依赖
Scripts executed separately
scripts/check_figure.pyscripts/export_figure.pyscripts/layout_tools.pyscripts/profile_data.pyscripts/setup_style.pyscripts/visual_qa.py
Files
.gitignoreasset513 bytesLICENSEasset1,063 bytesREADME.mddoc14,453 bytesSKILL.mdcore17,171 bytesSKILL.mdcore17,171 bytesSKILL.mdcore17,171 bytesSKILL.mdcore17,171 bytesreferences/chart_selection.mddoc11,584 bytesreferences/data_profiling.mddoc8,566 bytesreferences/journal_specs.mddoc7,428 bytesreferences/plot_recipes.mddoc19,204 bytesreferences/publication_checklist.mddoc5,993 bytesreferences/visual_review.mddoc7,330 bytesreferences/viz_pitfalls.mddoc15,851 bytesrequirements.txtdoc287 bytesscripts/check_figure.pyruns9,709 bytesscripts/export_figure.pyruns6,450 bytesscripts/layout_tools.pyruns9,351 bytesscripts/profile_data.pyruns17,764 bytesscripts/setup_style.pyruns11,794 bytesscripts/visual_qa.pyruns12,677 bytes
Read SKILL.md
# scipilot-figure-skill — 科研数据可视化顾问
> SciPilot Skills 家族成员 | 从数据剖析到出版级成图
## 概述
科研工作者最大的画图痛点往往不是"不会用 matplotlib",而是"手上一堆数据,不知道该用什么图把结论讲清楚"。本技能的**首要能力是【思考与判断】**,其次才是【绘制】。
具体地——**永远先思考再画**:
1. 先理解数据再选图——拿到数据先做 EDA,用事实驱动图型选择
2. 先想清楚"这张图要论证什么"——同样数据,不同论点 = 不同图
3. 主动拦截科研画图的经典错误,而不是顺从
4. 维度太多就建议拆图,不硬塞
View the complete source on GitHubSkills included
- scipilot-figure-skill
Repository facts
- License
- MIT
- Created
- May 18, 2026
- Last pushed
- Jun 15, 2026
- Forks
- 100
- Open issues
- 2
- Project activity
- Slowing
Rank over the last 12 weeks
Now #438 · best #371 · down 55 in 30 days
- #430 on Oct 30
- #432 from Oct 31 to Nov 2
- #433 on Nov 3
- #436 on Nov 4
- #437 on Nov 5
- #438 since Nov 6
79 earlier periods
- #418 on Aug 2
- #412 on Aug 7
- #410 on Aug 8
- #403 on Aug 9
- #416 on Aug 10
- #414 on Aug 11
- #408 on Aug 12
- #414 on Aug 13
- #410 on Aug 14
- #406 on Aug 15
- #412 on Aug 16
- #409 on Aug 17
- #413 from Aug 18 to Aug 19
- #407 on Aug 20
- #404 on Aug 21
- #398 on Aug 22
- #405 on Aug 23
- #400 on Aug 24
- #402 on Aug 25
- #398 on Aug 26
- #401 from Aug 27 to Aug 28
- #397 on Aug 29
- #387 on Aug 30
- #397 on Aug 31
- #401 on Sep 1
- #391 on Sep 2
- #396 on Sep 3
- #384 on Sep 4
- #386 on Sep 5
- #381 on Sep 6
- #390 from Sep 7 to Sep 8
- #386 on Sep 9
- #387 on Sep 10
- #383 on Sep 11
- #384 on Sep 12
- #382 on Sep 13
- #385 on Sep 14
- #386 on Sep 15
- #387 on Sep 16
- #380 on Sep 17
- #381 on Sep 18
- #373 on Sep 19
- #381 on Sep 20
- #379 on Sep 21
- #383 on Sep 22
- #377 from Sep 23 to Sep 24
- #375 on Sep 25
- #371 on Sep 26
- #372 on Sep 27
- #376 on Sep 28
- #385 on Sep 29
- #382 on Sep 30
- #381 on Oct 1
- #383 on Oct 2
- #374 on Oct 3
- #371 on Oct 4
- #378 on Oct 5
- #380 on Oct 6
- #383 on Oct 7
- #385 on Oct 8
- #395 on Oct 9
- #385 on Oct 10
- #386 on Oct 11
- #395 on Oct 12
- #392 on Oct 13
- #395 on Oct 14
- #396 on Oct 15
- #400 on Oct 16
- #391 on Oct 17
- #398 on Oct 18
- #399 on Oct 19
- #403 on Oct 20
- #404 on Oct 21
- #402 on Oct 22
- #403 on Oct 23
- #397 on Oct 24
- #416 on Oct 25
- #425 on Oct 28
- #427 on Oct 29
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Changed on Oct 27, 2026
No longer found: Dangerous shell operation
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 3 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 4 dangerous shell commandsin 2 files: references/journal_specs.md:168 scripts/setup_style.py:160
- 33 network referencesin 3 files: README.md:6 references/journal_specs.md:37 scripts/setup_style.py:161
- No hidden or obfuscated text
- No instruction overrides
- 6 executable scriptsin 6 files: scripts/check_figure.py:1 scripts/export_figure.py:1 scripts/layout_tools.py:1 and 3 more
- 1 reference to secretsin 1 file: .gitignore:28
- No requests to vote in Hot
Show all 44 signals by file
.gitignore
- Access to secretsline 28
[Credential-related source omitted]
README.md
- Network accessline 6
[](LICENSE) - Network accessline 7
[](#dependencies--依赖) - Network accessline 8
[](#) - Network accessline 9
[](#为什么这不只是个画图工具) - Network accessline 10
[](#) - Network accessline 11
[](https://claude.com/claude-code) - Network accessline 13
A [Claude Code](https://claude.com/claude-code) / [Codex](https://github.com/openai/codex) / Cursor Skill that does **two things in order**: (1) profiles your data and recommends the right chart for the argument you want to make, (2) render - Network accessline 102
请帮我安装这个 Skill:https://github.com/Haojae/scipilot-figure-skill.git - Network accessline 108
git clone https://github.com/Haojae/scipilot-figure-skill.git \ - Network accessline 185
| Skill | 状态 | 功能 | |---|---|---| | scipilot-cite-skill | [v1.0.0](https://github.com/Haojae/scipilot-cite-skill) | 文献检索与引用插入 | - Network accessline 186
|---|---|---| | scipilot-cite-skill | [v1.0.0](https://github.com/Haojae/scipilot-cite-skill) | 文献检索与引用插入 | | **scipilot-figure-skill** | **v2.1.0 (本仓库)** | **可视化顾问 + 绘制 + 视觉自检闭环** | - Network accessline 187
| scipilot-cite-skill | [v1.0.0](https://github.com/Haojae/scipilot-cite-skill) | 文献检索与引用插入 | - Network accessline 188
| **scipilot-figure-skill** | **v2.1.0 (本仓库)** | **可视化顾问 + 绘制 + 视觉自检闭环** | | scipilot-writing-skill | [v1.0.0](https://github.com/Haojae/scipilot-writing-skill) | 学术写作与润色 | | scipilot-review-skill | 规划中 | AI 模拟审稿 | - Network accessline 189
| scipilot-writing-skill | [v1.0.0](https://github.com/Haojae/scipilot-writing-skill) | 学术写作与润色 | - Network accessline 279
Please install this Skill for me: https://github.com/Haojae/scipilot-figure-skill.git - Network accessline 285
git clone https://github.com/Haojae/scipilot-figure-skill.git \ - Network accessline 328
| Skill | Status | Purpose | |---|---|---| | scipilot-cite-skill | [v1.0.0](https://github.com/Haojae/scipilot-cite-skill) | Reference discovery & insertion | - Network accessline 329
|---|---|---| | scipilot-cite-skill | [v1.0.0](https://github.com/Haojae/scipilot-cite-skill) | Reference discovery & insertion | | **scipilot-figure-skill** | **v2.1.0 (this repo)** | **Advisor + renderer + visual self-check loop** | - Network accessline 330
| scipilot-cite-skill | [v1.0.0](https://github.com/Haojae/scipilot-cite-skill) | Reference discovery & insertion | - Network accessline 331
| **scipilot-figure-skill** | **v2.1.0 (this repo)** | **Advisor + renderer + visual self-check loop** | | scipilot-writing-skill | [v1.0.0](https://github.com/Haojae/scipilot-writing-skill) | Writing & polishing | | scipilot-review-skill | - Network accessline 332
| scipilot-writing-skill | [v1.0.0](https://github.com/Haojae/scipilot-writing-skill) | Writing & polishing |
references/journal_specs.md
- Network accessline 37
参考:[Nature Figure Guide](https://www.nature.com/nature/for-authors/formatting-guide) - Network accessline 75
参考:[IEEE Author Tools](https://journals.ieeeauthorcenter.ieee.org/create-your-ieee-journal-article/create-graphics-for-your-article/) - Network accessline 95
参考:[Elsevier Artwork Guidelines](https://www.elsevier.com/authors/policies-and-guidelines/artwork-and-media-instructions) - Dangerous shell operationline 168
sudo apt install fonts-noto-cjk fonts-noto-cjk-extra - Dangerous shell operationline 171
sudo dnf install google-noto-sans-cjk-fonts google-noto-serif-cjk-fonts - Network accessline 183
# 或手动从 Google Fonts / Adobe 下载 # https://fonts.google.com/noto/specimen/Noto+Sans+SC - Network accessline 184
# https://fonts.google.com/noto/specimen/Noto+Sans+SC - Network accessline 191
1. 去 https://github.com/notofonts/noto-cjk/releases 下载 `Noto_Sans_CJK_SC.zip` - Network accessline 213
- **Nature**:[NPP](https://npp.nature.com/) 投稿系统会自动检 DPI / 尺寸 / 字号 - Network accessline 214
- **IEEE**:[IEEE PDF Express](https://ieee-pdf-express.org/) 检查 PDF 嵌入字体
scripts/check_figure.py
- Executable scriptline 1
Executable file
scripts/export_figure.py
- Executable scriptline 1
Executable file
scripts/layout_tools.py
- Executable scriptline 1
Executable file
scripts/profile_data.py
- Executable scriptline 1
Executable file
scripts/setup_style.py
- Executable scriptline 1
Executable file - Dangerous shell operationline 160
Linux: sudo apt install fonts-noto-cjk # Debian/Ubuntu - Dangerous shell operationline 161
sudo dnf install google-noto-sans-cjk-fonts # Fedora/RHEL - Network accessline 161
sudo dnf install google-noto-sans-cjk-fonts # Fedora/RHEL macOS: brew install --cask font-noto-sans-cjk-sc 或下载: https://github.com/notofonts/noto-cjk/releases - Network accessline 162
macOS: brew install --cask font-noto-sans-cjk-sc 或下载: https://github.com/notofonts/noto-cjk/releases Windows: 下载 https://github.com/notofonts/noto-cjk/releases - Network accessline 163
或下载: https://github.com/notofonts/noto-cjk/releases - Network accessline 164
Windows: 下载 https://github.com/notofonts/noto-cjk/releases
scripts/visual_qa.py
- Executable scriptline 1
Executable file
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 43 facts
- Network access in prose of documentationREADME.md:6Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:10Low confidence
- Network access in prose of documentationREADME.md:11Low confidence
- Network access in prose of documentationREADME.md:13Low confidence
- Network access in code of documentationREADME.md:102Low confidence
- Network access in code of documentationREADME.md:108Low confidence
- Network access in prose of documentationREADME.md:185Low confidence
- Network access in prose of documentationREADME.md:186Low confidence
- Network access in prose of documentationREADME.md:187Low confidence
- Network access in prose of documentationREADME.md:188Low confidence
- Network access in prose of documentationREADME.md:189Low confidence
- Network access in code of documentationREADME.md:279Low confidence
- Network access in code of documentationREADME.md:285Low confidence
- Network access in prose of documentationREADME.md:328Low confidence
- Network access in prose of documentationREADME.md:329Low confidence
- Network access in prose of documentationREADME.md:330Low confidence
- Network access in prose of documentationREADME.md:331Low confidence
- Network access in prose of documentationREADME.md:332Low confidence
- Network access in prose of documentationreferences/journal_specs.md:37Low confidence
- Network access in prose of documentationreferences/journal_specs.md:75Low confidence
- Network access in prose of documentationreferences/journal_specs.md:95Low confidence
- Dangerous shell operation in code of documentationreferences/journal_specs.md:168Low confidence
- Dangerous shell operation in code of documentationreferences/journal_specs.md:171Low confidence
- Network access in code of documentationreferences/journal_specs.md:183Low confidence
- Network access in code of documentationreferences/journal_specs.md:184Low confidence
- Network access in prose of documentationreferences/journal_specs.md:191Low confidence
- Network access in prose of documentationreferences/journal_specs.md:213Low confidence
- Network access in prose of documentationreferences/journal_specs.md:214Low confidence
- Executable script in prose of a file that runsscripts/check_figure.py:1Low confidence
- Executable script in prose of a file that runsscripts/export_figure.py:1Low confidence
- Executable script in prose of a file that runsscripts/layout_tools.py:1Low confidence
- Executable script in prose of a file that runsscripts/profile_data.py:1Low confidence
- Executable script in prose of a file that runsscripts/setup_style.py:1Low confidence
- Dangerous shell operation in code of a file that runsscripts/setup_style.py:160High confidence
- Dangerous shell operation in code of a file that runsscripts/setup_style.py:161High confidence
- Network access in code of a file that runsscripts/setup_style.py:161High confidence
- Network access in code of a file that runsscripts/setup_style.py:162High confidence
- Network access in code of a file that runsscripts/setup_style.py:163High confidence
- Network access in code of a file that runsscripts/setup_style.py:164High confidence
- Executable script in prose of a file that runsscripts/visual_qa.py:1Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/haojae-scipilot-figure-skill/)