Skip to content
Agentmart
Submit a tool

figure

Academic paper figure skill router.

Skill by RTCartist

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/rtcartist-figure

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Academic paper figure skill router. Picks the right sub-skill (plot-mpl, diagram-tikz, diagram-drawio, venue-switch, figure-anti-defect) based on what the user wants to do. Use proactively when user mentions: '画图', 'plot', 'matplotlib', 'TikZ', 'draw.io', 'architecture diagram', 'check figure', 'fit to venue', '改图风格', 'anti-defect', 'figure looks bad'. For Nature / NMI / high-impact journal style (svg, multi-panel, low-saturation, three-font Arial/DejaVu/Liberation stack), say 'Nature figure' or use venue='nature_nmi' in plot-mpl. Targets both Claude Code and Codex; produces real editable .pptx / .svg / .png outputs.

Use cases: presentations, design, research, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/figure

Tools it pre-approves 11

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Read,
  • Write,
  • Edit,
  • Glob,
  • Grep,
  • Bash(python
  • *),
  • Bash(python3
  • Bash(pip
  • install
  • *)

What's inside

Skill name
figure
Description
Academic paper figure skill router. Picks the right sub-skill (plot-mpl, diagram-tikz, diagram-drawio, venue-switch, figure-anti-defect) based on what the user wants to do. Use proactively when user mentions: '画图', 'plot', 'matplotlib', 'TikZ', 'draw.io', 'architecture diagram', 'check figure', 'fit to venue', '改图风格', 'anti-defect', 'figure looks bad'. For Nature / NMI / high-impact journal style (svg, multi-panel, low-saturation, three-font Arial/DejaVu/Liberation stack), say 'Nature figure' or use venue='nature_nmi' in plot-mpl. Targets both Claude Code and Codex; produces real editable .pptx / .svg / .png outputs.
License
MIT
Allowed tools
Read,, Write,, Edit,, Glob,, Grep,, Bash(python, *),, Bash(python3, *),, Bash(pip, install, *)
Metadata
version: 0.3.0 · codex_adapter: true · cross_platform: claude_code, codex · upstream_suite: paper-suite/figure
Instructions
119 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Pre-approves some shell commands

Files (44)

  • LICENSE
  • README.md
  • SKILL.md
  • openai.yaml · agents/
  • design-decisions.md · docs/
  • nature-science-style-guide.md · docs/
  • README.md · examples/01-line-plot/
  • README.md · examples/02-bar-ablation/
  • README.md · examples/03-architecture-diagram/
  • README.md · examples/04-venue-switch/
  • README.md · examples/05-defect-fix/
  • demo-venue-switch.py · examples/live-demos/
  • pdf_to_png.py · examples/live-demos/
  • verify_v2.py · examples/live-demos/
  • SKILL.md · skills/diagram-drawio/
  • drawio-template.xml · skills/diagram-drawio/references/
  • SKILL.md · skills/diagram-tikz/
  • templates.tex · skills/diagram-tikz/references/
  • SKILL.md · skills/figure-anti-defect/
  • fix_figure.py · skills/figure-anti-defect/
  • lint_figure.py · skills/figure-anti-defect/
  • defect-catalog.md · skills/figure-anti-defect/references/
  • SKILL.md · skills/plot-mpl/
  • figure_venue.py · skills/plot-mpl/
  • plot_mpl.py · skills/plot-mpl/
  • figure-contract.md · skills/plot-mpl/references/
  • figure-taxonomy.md · skills/plot-mpl/references/
  • nature-nmi-visual-preset.md · skills/plot-mpl/references/
  • palette-okabe-ito.md · skills/plot-mpl/references/
  • venue-widths.md · skills/plot-mpl/references/
  • bar.py · skills/plot-mpl/templates/
  • heatmap.py · skills/plot-mpl/templates/
  • image_grid.py · skills/plot-mpl/templates/
  • line.py · skills/plot-mpl/templates/
  • multi_panel.py · skills/plot-mpl/templates/
  • scatter.py · skills/plot-mpl/templates/
  • violin.py · skills/plot-mpl/templates/
  • SKILL.md · skills/venue-switch/
  • 01-neurips-cvpr.md · skills/venue-switch/references/
  • 02-nature.md · skills/venue-switch/references/
  • 03-ieee-tpami.md · skills/venue-switch/references/
  • 04-academic-classic.md · skills/venue-switch/references/
  • venue_switch.py · skills/venue-switch/
  • test_anti_defect.py · tests/

SKILL.md (first lines)

# Figure — Router (v0.2, Nature-compatible)

You are a figure skill router for academic papers. Pick the right sub-skill, read its `SKILL.md`, and execute that workflow inline.

Example prompts: "plot a line chart of X", "fit this figure to Nature", "Nature figure".

v0.2 changes:
- All 5 chart templates (line/bar/scatter/heatmap/violin) now produce Nature-style figures:
  editable SVG output, three-font Arial/DejaVu/Liberation stack, `svg.fonttype='none'`,
  right + top spines off, legend frame off, error bars, "ours" highlighted in red.
- Added 2 new templates: `multi_panel.py` (4-panel GridSpec for Figure-1 style figures)
  and `image_grid.py` (attention/segmentation samples).
- Added `figure_venue.py`: a single entry point `apply_venue(venue, backend='python')` that
  configures matplotlib rcParams for 6 supported venues including `nature_nmi` (Nature
  Machine Intelligence pastel multi-panel style).
- Added `plot_mpl.py` CLI: `python plot_mpl.py line --x "..." --y "..." --venue nature --out fig.svg`.
- Added `venue_switch.py` CLI: `python venue_switch.py neurips out.pdf`.
- Added `lint_figure.py` that actually implements the 15-item defect catalog
  (was previously only 5 file-level checks). Returns P0/P1/P2 findings.
- Added `fix_figure.py` that auto-patches 7 common P0 defects (font size, color names,
  rotation, units, missing labels, tight bbox, close fig).

These match the production standard of `Yuan1z0825/nature-skills/nature-figure` (the
figures4papers-based NMI-style figure skill): same hard rules (svg.fonttype='none',
Arial/DejaVu/Liberation, spines off, frameon=False), same NMI pastel palette.

## What you route to

Five sub-skills live in `./skills/`. Pick the closest match:

| Sub-skill | When | Read |
|---|---|---|
| `plot-mpl` | User has data (numbers, arrays, CSV) and wants a matplotlib data plot (line / bar / scatter / heatmap / violin / multi-panel / image-grid) | `./skills/plot-mpl/SKILL.md` |
| `diagram-tikz` | User wants a structural diagram (architecture, pipeline, geometry) embeddable in LaTeX as TikZ | `./skills/diagram-tikz/SKILL.md` |
| `diagram-drawio` | User wants a roadmap / graphical abstract / free-form layout best done in draw.io | `./skills/diagram-drawio/SKILL.md` |
| `venue-switch` | User has an existing figure and wants to resize / recolor / restyle for a specific venue (NeurIPS / Nature / IEEE / NMI / CVPR) | `./skills/venue-switch/SKILL.md` |
| `figure-anti-defect` | User has a figure (PNG/SVG/PDF) or .py script and wants a defect check (legend overlap, font size, tick collision, color-blindness, missing units, Y not 0, etc.) | `./skills/figure-anti-defect/SKILL.md` |

## Nature/NMI visual preset

When the user says "Nature figure", "NMI", "Nature Machine Intelligence", "Nature Methods", "high-impact journal figure", "publication-grade multi-panel", or "make it look like Nature", route to `plot-mpl` or `venue-switch` and require `plot-mpl/references/nature-nmi-visual-preset.md`.

## Figure Contract first

For any new data figure, especially Nature/NMI, IEEE, multi-panel, benchmark, ablation, or reviewer-facing figures, require `plot-mpl/references/figure-contract.md` before code generation. The agent must draft a short Figure Contract covering the core claim, data source, data units, transform/statistics, panel map, venue, visual priority, and reviewer risk.

If any data meaning, column mapping, grouping, metric, unit, baseline, seed/run aggregation, error-bar definition, transform, or panel layout is uncertain, ask the user to confirm the Figure Contract before routing into plotting. Do not treat this as a style-only approval; the confirmation is mainly to ensure the next step uses the correct data and scientific intention.

## How to route

1. Read the user's request. Most requests fit one sub-skill cleanly.
2. If ambiguous, ask 1-2 questions before routing. The five question patterns are at the bottom of this file.
3. For new data plots, read `plot-mpl/references/figure-contract.md` and draft/confirm the Figure Contract before plotting unless the user's command is already complete and unambiguous.
4. Read the sub-skill's SKILL.md before doing anything. The sub-skill defines what input to expect, what to ask the user, and what to output.
5. Continue with that sub-skill inline. Do not stop after announcing the route.
6. Never bypass a sub-skill and generate the figure yourself. The sub-skills contain the templates, scripts, and style rules.

## What you never do

- You don't generate matplotlib/TikZ/drawio code before reading the routed sub-skill.
- You don't decide venue style — `venue-switch` reads the 4 venue rule docs and `figure_venue.apply_venue` enforces them.
- You don't grade figures without `figure-anti-defect`'s defect catalog.
- You don't say "looks fine" without running the sub-skill.

## Output format (every sub-skill should follow)

```
### Input
<what user gave>

### Decision
<which sub-skill ran, and why>

### Output
<matplotlib script / TikZ code / drawio XML / recolored PNG / defect report>

### Why
- rule 1 (source: ...)
- rule 2 (source: ...)

### Trade-offs
- what I didn't do and why
- what the user might want to overrule
```

## 5 ambiguous-question patterns

Use these to clarify before routing:

1. "Do you have **data** (numbers), or are you describing a **diagram** in words?"
2. "Will the figure go in **LaTeX** (use TikZ) or **Word / web** (use drawio or PNG)?"
3. "What's the **target venue** (NeurIPS / Nature / IEEE / CVPR / no specific)?" — for "Nature" or "high-impact", use `venue='nature_nmi'` to get the multi-panel pastel style.
4. "Do you have an **existing figure** to modify, or are you creating from scratch?"
5. "Will you **compile the figure yourself** (TikZ needs LaTeX) or do you need a PNG/SVG output?"

## Reference data (shared by all sub-skills)

- `skills/plot-mpl/references/figure-taxonomy.md` — chart type decision tree
- `skills/plot-mpl/references/figure-contract.md` — contract-first data, panel, transform, venue, and reviewer-risk confirmation before plotting
- `skills/plot-mpl/references/palette-okabe-ito.md` — color-blind safe palettes
- `skills/plot-mpl/references/venue-widths.md` — venue column widths and font sizes
- `skills/plot-mpl/references/nature-nmi-visual-preset.md` — Nature/NMI visual preset for editable SVG, panel labels, and low-saturation styling
- `skills/figure-anti-defect/references/defect-catalog.md` — defect checks

Use packaged references first. If the user provides external exemplar figures, treat them as optional visual guidance rather than a required install dependency.

## Example invocations

- "plot a line chart of X" → `plot-mpl` (5 templates + multi_panel + image_grid)
- "画个架构图" → `diagram-tikz` if LaTeX, `diagram-drawio` if Word/web
- "fit this figure to Nature" → `venue-switch` (then ask: column width? or single column?)
- "make a Nature NMI multi-panel figure" → `plot-mpl` with `multi_panel.py` + `venue='nature_nmi'`
- "check this figure" → `figure-anti-defect` (15-item catalog now actually runs)
- "fix this figure's defects" → `figure-anti-defect/fix_figure.py`
- "改这个图成 NeurIPS 风格" → `venue-switch` to neurips-cvpr
- "make a graphical abstract" → `diagram-drawio` (free-form, not strict LaTeX)
- "bar chart of X vs Y" → `plot-mpl` with `bar.py` template or `plot_mpl.py bar --data-csv`

From RTCartist/paper-suite, MIT.

Signals

Stars
1
Forks
1
Open issues
0
Last commit (this folder)
Jun 11, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
0.3.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from RTCartist

Cite this page

figure skill. Agent Mart. https://agentmart.dev/skills/rtcartist-figure (last updated 2026-10-24)