Agent skill

Figures Python

by Norman-bury in Norman-bury/research-writing-skill

A skill your agent uses when creating data visualizations for papers - generates publication-quality plots with top-journal color schemes

MITAuto-check passedData & Analytics

Install Figures Python

skills CLI
$ npx skills add Norman-bury/research-writing-skill --skill figures-python -a claude-code

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

GitHub CLI
$ gh skill install Norman-bury/research-writing-skill figures-python --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/Norman-bury/research-writing-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/figures-python .claude/skills/figures-python && 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
figures-python
GitHub stars
3.4k
Token cost
~1.2k tokens
SKILL.md length
155 words
Files
1
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when creating data visualizations for papers - generates publication-quality plots with top-journal color schemes

  • Creating data visualizations for papers - generates publication-quality plots with top-journal color schemes
  • SKILL.md covers Checklist, 一、环境要求, 二、图表规范 and 三、顶刊配色方案, plus 5 more sections
  • Calls conda and pip
  • Tasks that involve Data visualization

What it does

Figures Python is an agent skill from Norman-bury/research-writing-skill. Use when creating data visualizations for papers - generates publication-quality plots with top-journal color schemes

Its SKILL.md is about 1.2k 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 Python. The repository describes itself as: 科研写作助手 (Research Writing Assistant). The licence is MIT.

When your agent uses it

  • Creating data visualizations for papers - generates publication-quality plots with top-journal color schemes
  • Tasks that involve Data visualization

Example prompts

  • “/figures-python”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 6f79595. 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

    Shell commands in SKILL.md call:

    • conda
    • pip

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

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    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

Figures Python loads about 1.2k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 155 words of instructions outside code blocks.

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

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 Norman-bury/research-writing-skill at commit 6f79595, republished under its MIT licence (© Norman-bury). 155 words, ~1,239 tokens.

Download SKILL.mdSave it as .claude/skills/figures-python/SKILL.md (or your agent's skills folder).
name
figures-python
description
Use when creating data visualizations for papers - generates publication-quality plots with top-journal color schemes

Python 数据图表

本技能指导使用 Python 生成科研论文级别的数据图表。

Checklist

  • 确认 conda 环境已激活(research)
  • 确认图表类型和数据
  • 记录数据清单(data manifest)
  • 若使用 mock/synthetic 数据,明确标注为 planning data
  • 使用顶刊配色方案
  • 设置 450 DPI 分辨率
  • 同时输出 PNG 和 SVG
  • 检查中文字体显示
  • 保存到 figures/ 目录

一、环境要求

1.1 conda 环境

默认环境名:research

激活命令:

bash
conda activate research

必需库:

bash
pip install matplotlib seaborn numpy pandas

如环境未配置,调用 environment-setup 技能。

二、图表规范

2.0 数据清单与 mock 数据边界

任何数据图都必须先有数据文件和数据清单(data manifest)。默认路径:

text
figures/data-manifest.md
figures/data/<figure-name>.csv
figures/<section>/<figure-name>.py
figures/<section>/<figure-name>.png
figures/<section>/<figure-name>.svg

figures/data-manifest.md 至少记录:

FigureData fileReal/mockSourceScriptOutputs

mock 或 synthetic 数据只允许用于规划版图表。文件名必须以 mock_ 或 synthetic_ 开头,并在图表、表格或章节草稿中保留 [待真实实验替换]。不得把 mock 数据写成“实验结果表明”。

2.1 分辨率要求
用途DPI说明
期刊投稿300-600大多数期刊要求
顶刊投稿450+Nature/Science等
屏幕展示150PPT/网页

本技能默认使用 450 DPI

2.2 输出格式

每张图同时输出两种格式:

  • PNG:位图,适合网页和PPT
  • SVG:矢量图,适合期刊投稿
2.3 图表尺寸
类型宽度(英寸)适用场景
单栏图3.5期刊单栏
双栏图7.0期刊双栏/全宽
PPT图10.0演示文稿

三、顶刊配色方案

3.1 Nature/Science 风格
python
NATURE_COLORS = ['#2E86AB', '#A23B72', '#F18F01', '#C73E1D', '#95C623']
3.2 Cell 风格
python
CELL_COLORS = ['#4E79A7', '#F28E2B', '#E15759', '#76B7B2', '#59A14F', '#EDC948']
3.3 色盲友好配色
python
COLORBLIND_SAFE = ['#0077BB', '#33BBEE', '#009988', '#EE7733', '#CC3311', '#EE3377']
3.4 配色原则
  • ❌ 禁止使用 matplotlib 默认颜色
  • ❌ 禁止使用纯红、纯蓝、纯绿等基础色
  • ✅ 同一图中颜色数量控制在 5 种以内
  • ✅ 确保色盲友好

四、代码模板

python
"""
Figure X: [图表标题]
论文章节: [所属章节]
"""

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
from pathlib import Path

# 中文字体配置
CHINESE_FONT = None
font_candidates = [
    '/System/Library/Fonts/STHeiti Light.ttc',
    '/System/Library/Fonts/PingFang.ttc',
]
for fp in font_candidates:
    if Path(fp).exists():
        CHINESE_FONT = fm.FontProperties(fname=fp)
        break

plt.rcParams['axes.unicode_minus'] = False

# 顶刊配色
COLORS = ['#4E79A7', '#F28E2B', '#E15759', '#76B7B2', '#59A14F']

def setup_plot_style():
    plt.rcParams.update({
        'font.size': 10,
        'axes.titlesize': 12,
        'axes.labelsize': 10,
        'axes.spines.top': False,
        'axes.spines.right': False,
        'axes.grid': True,
        'grid.alpha': 0.3,
        'legend.frameon': False,
        'savefig.dpi': 450,
        'savefig.bbox': 'tight',
    })

def main():
    setup_plot_style()
    
    fig, ax = plt.subplots(figsize=(7, 5))
    
    # === 绑定代码 ===
    x = np.linspace(0, 10, 100)
    ax.plot(x, np.sin(x), color=COLORS[0], label='Model A')
    ax.plot(x, np.cos(x), color=COLORS[1], label='Model B')
    
    if CHINESE_FONT:
        ax.set_xlabel('时间 (s)', fontproperties=CHINESE_FONT)
        ax.set_ylabel('幅值', fontproperties=CHINESE_FONT)
    else:
        ax.set_xlabel('Time (s)')
        ax.set_ylabel('Amplitude')
    
    ax.legend()
    # === 绑定代码结束 ===
    
    # 保存
    output_dir = Path(__file__).parent
    fig_name = Path(__file__).stem
    plt.savefig(output_dir / f'{fig_name}.png', dpi=450)
    plt.savefig(output_dir / f'{fig_name}.svg')
    plt.show()

if __name__ == '__main__':
    main()

五、常用图表类型

折线图
python
ax.plot(x, y, color=COLORS[0], linewidth=1.5, marker='o', markersize=4)
柱状图
python
ax.bar(x_pos, values, color=COLORS[:len(values)], edgecolor='white')
热力图
python
im = ax.imshow(matrix, cmap='RdBu_r', aspect='auto')
plt.colorbar(im, ax=ax)
箱线图
python
bp = ax.boxplot(data_list, patch_artist=True)
for patch, color in zip(bp['boxes'], COLORS):
    patch.set_facecolor(color)
散点图
python
ax.scatter(x, y, c=colors, s=sizes, alpha=0.6, cmap='viridis')

六、文件管理

目录结构
figures/
├── chapter1/
│   ├── fig1_overview.py
│   ├── fig1_overview.png
│   └── fig1_overview.svg
├── chapter2/
└── chapter3/
命名规范
  • 文件名格式:fig{序号}_{描述}.py
  • 示例:fig1_model_architecture.py

七、质量检查

图表内容
  • 数据准确无误
  • 坐标轴标签完整(含单位)
  • 图例清晰可读
视觉效果
  • 使用顶刊配色
  • 分辨率达到 450 DPI
  • 字体大小适中
文件输出
  • PNG 格式已生成
  • SVG 格式已生成
  • 文件命名规范

八、常见问题

Q1:中文显示为方块
python
from matplotlib.font_manager import FontProperties
font = FontProperties(fname='/System/Library/Fonts/STHeiti Light.ttc')
ax.set_xlabel('中文标签', fontproperties=font)
Q2:图片模糊
python
plt.savefig('figure.png', dpi=450, bbox_inches='tight')
Q3:图例遮挡数据
python
ax.legend(loc='upper left', bbox_to_anchor=(1.02, 1))

© Norman-bury, MIT. 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 skills/figures-python of Norman-bury/research-writing-skill.

Open the folder on GitHubat commit 6f79595

Compare with similar skills

Figures Python 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.

Figures Python compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Figures Python this skillNorman-bury/research-writing-skill3.4k—~1.2kAutomated safety check: PassMIT
Scientific Figure MakingChenLiu-1996/figures4papers8.3k—~557Automated safety check: PassCustom licence
Plot From ImageTrae1ounG/paper-plot-skills8691 repos~868Automated safety check: PassNone
Python Executorcortega26/chile-hub1132 repos~1.5kAutomated safety check: PassMIT
FigMirror Figure Style TransferVILA-Lab/FigMirror523—~2.1kAutomated safety check: PassNone
Ieee Figure TableCloudWave818/ieee-skills358—~1kAutomated safety check: PassMIT

Similar skills

  • Scientific Figure Making

    ChenLiu-1996/figures4papers

    Covers publication-ready matplotlib figures for academic papers, slides, and reports—bars, trends, scatter, heatmaps, and multi-panel layouts—with this…

    8.3k GitHub stars~557 tokensUpdated 3 days ago
    Data & AnalyticsAuto-check passed
  • Plot From Image

    Trae1ounG/paper-plot-skills

    Reproduce any academic paper figure from an uploaded image using accumulated style experience.

    869 GitHub starsUsed in 1 repo~868 tokens
    Data & AnalyticsAuto-check passed
  • Python Executor

    cortega26/chile-hub

    Execute Python code in a safe sandboxed environment via [inference.sh](https://inference.sh).

    113 GitHub starsUsed in 2 repos~1.5k tokens
    Data & AnalyticsAuto-check passed
  • Redraws your data as a matplotlib figure in the visual style of a reference paper figure, using a drawer and reviewer loop.

    523 GitHub stars~2.1k tokensUpdated 8 days ago
    Data & AnalyticsAuto-check passed
  • Ieee Figure Table

    CloudWave818/ieee-skills

    Audit, redesign, generate, and improve IEEE manuscript figures, tables, captions, result presentation, plotting scripts, visual polish, hybrid Python/R plus vector-editor workflows…

    358 GitHub stars~1k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • FigMirror

    VILA-Lab/FigMirror

    Mirrors the visual style of a top-conference paper figure onto your own data, producing a camera-ready PDF and a self-contained matplotlib script.

    523 GitHub stars~2.4k tokensUpdated 8 days ago
    Data & AnalyticsAuto-check passed

More from Norman-bury/research-writing-skill

All 20 skills in this repo
  • Evidence Driven Writing

    Norman-bury/research-writing-skill

    A skill your agent uses when writing or revising Introduction, Related Work, background, literature synthesis, or any section where references must drive claims

    3.4k GitHub stars~952 tokensUpdated 4 mo ago
    Auto-check passed
  • Environment Setup

    Norman-bury/research-writing-skill

    A skill your agent uses when Python environment setup is needed for data visualization or conda installation is required

    3.4k GitHub stars~840 tokensUpdated 4 mo ago
    Auto-check passed
  • Experiment Results Planning

    Norman-bury/research-writing-skill

    A skill your agent uses when designing experiments, result tables, mock planning data, evaluation protocols, or results sections before real data are final

    3.4k GitHub stars~990 tokensUpdated 4 mo ago
    Auto-check passed
  • Figures Diagram

    Norman-bury/research-writing-skill

    A skill your agent uses when creating flowcharts, architecture diagrams, or conceptual diagrams - generates prompts for image AI

    3.4k GitHub stars~548 tokensUpdated 4 mo ago
    Auto-check passed
  • Latex Output

    Norman-bury/research-writing-skill

    A skill your agent uses when user requests LaTeX format output or has provided school/journal LaTeX templates

    3.4k GitHub stars~977 tokensUpdated 4 mo ago
    Auto-check passed
  • Literature Review

    Norman-bury/research-writing-skill

    A skill your agent uses when writing literature review sections - guides searching, organizing, and synthesizing academic sources

    3.4k GitHub stars~2.2k tokensUpdated 4 mo ago
    Auto-check: notes

Works with

Questions about Figures Python

What does Figures Python do?

A skill your agent uses when creating data visualizations for papers - generates publication-quality plots with top-journal color schemes. Figures Python is an agent skill from Norman-bury/research-writing-skill.

When should I use Figures Python?

Figures Python fits situations like: creating data visualizations for papers - generates publication-quality plots with top-journal color schemes; tasks that involve Data visualization.

How do I install Figures Python in Claude Code?

Run `npx skills add Norman-bury/research-writing-skill --skill figures-python -a claude-code`. Or copy the skill folder (skills/figures-python in Norman-bury/research-writing-skill) into .claude/skills/figures-python in your project. Claude Code loads it when a task matches its description.

How do I install Figures Python in Codex?

Run `npx skills add Norman-bury/research-writing-skill --skill figures-python -a codex`. Or copy the skill folder (skills/figures-python in Norman-bury/research-writing-skill) into .agents/skills/figures-python in your project. Codex loads it when a task matches its description.

Can I use Figures Python 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 Norman-bury/research-writing-skill --skill figures-python -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/figures-python, .gemini/skills/figures-python, .github/skills/figures-python and .opencode/skills/figures-python in your project.

What does Figures Python need to run?

Going by SKILL.md and its folder, Figures Python needs the command-line tools its instructions call (conda and pip). Our summary lists: Python 3.

Does Figures Python access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Figures Python 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 Figures Python use?

Figures Python is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Figures Python use?

About 1.2k tokens (SKILL.md is roughly 5k 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 Figures Python?

Skills that share tags, products or a category with Figures Python: Scientific Figure Making (ChenLiu-1996/figures4papers, 8.3k stars), Plot From Image (Trae1ounG/paper-plot-skills, 869 stars), Python Executor (cortega26/chile-hub, 113 stars) and FigMirror Figure Style Transfer (VILA-Lab/FigMirror, 523 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Figures Python?

Norman-bury (a GitHub user) maintains it in Norman-bury/research-writing-skill, which has 3,378 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on June 10, 2026.

Source: Norman-bury/research-writing-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.