# Publication Figures

Use whenever you generate or review a chart, plot, table, or paper figure in this...

- Repository: https://github.com/ai4s-research/open-science (2069 stars)
- Category: Writing
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ai4s-research/open-science --skill publication-figures -g -a claude-code -y`
Codex: `npx skills add ai4s-research/open-science --skill publication-figures -g -a codex -y`
Cursor: `npx skills add ai4s-research/open-science --skill publication-figures -g -a cursor -y`
Gemini CLI: `npx skills add ai4s-research/open-science --skill publication-figures -g -a gemini-cli -y`

## Description

Use whenever you generate or review a chart, plot, table, or paper figure in this workspace, including work delegated by paper-writing, literature-survey, and experiment skills. Applies the Open Science publication style, enforces readable final-size layout for figures and tables, and rejects generic diagram-tool output as a publication figure. Interactive Plotly/HTML may be used for exploration, but paper delivery requires a static publication-ready export.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Publication Figures and Tables

Make generated figures **publication-grade and on-system by default**. Every
figure you produce with matplotlib must use the bundled Open Science style, so a
figure in a report and a stat tile in the app read as one design system.
When a paper/survey skill or target venue specifies its own publication palette
and physical type scale, that more specific standard overrides this palette;
the final-size, collision, and figure-form rules below still apply.

## Apply the style (always, before plotting)

The style file `openscience.mplstyle` sits next to this SKILL.md. Load it by
absolute path at the top of any figure script:

```python
import matplotlib.pyplot as plt
from pathlib import Path

# This skill's directory, the style ships beside SKILL.md.
STYLE = Path(__file__).resolve().parent / "openscience.mplstyle" if "__file__" in dir() else None
# In a notebook/agent cell, use the skill's deployed path directly:
plt.style.use(str(STYLE)) if STYLE and STYLE.exists() else plt.style.use("default")
```

If you cannot resolve the path, set the palette inline (same hexes as below).

## Choose a paper-appropriate form

- Use matplotlib/seaborn for quantitative evidence; use a purpose-built
  TikZ/SVG/PDF schematic for a method or architecture; use scientific image
  panels only with source, crop, scale, and processing provenance.
- Do not use Mermaid, PlantUML, generic flowchart/mind-map output, diagram-editor
  screenshots, or notebook/UI screenshots as a final paper figure. They may be
  scratch aids only. Graphviz is acceptable only when the graph itself is the
  analysed data, not as a shortcut for a generic process diagram.
- Every figure must make evidence, a mechanism, or an experimental design easier
  to understand. Decorative roadmaps, funnels, icon collages, and stock process
  diagrams do not belong in a paper.

## The shared palette (single source of truth)

The rest: https://github.com/ai4s-research/open-science/blob/HEAD/runtime/skills/core/publication-figures/SKILL.md
