Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add TobiasBlask/open-paper-machine --skill scientific-visualizationgit clone --depth 1 https://github.com/TobiasBlask/open-paper-machineWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tobiasblask/open-paper-machine/scientific-visualization)<a href="https://agentmods.dev/skills/tobiasblask/open-paper-machine/scientific-visualization"><img src="https://agentmods.dev/badge/skills/tobiasblask/open-paper-machine/scientific-visualization.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00072 | $0.06486 |
| Opus 5 | $0.00036 | $0.03243 |
| Sonnet 5 | $0.00014 | $0.01297 |
| Haiku 4.5 | $0.00007 | $0.00649 |
Grade A, and why
scientific-visualization scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
97% identical to scientific-visualization — 8 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 778 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scientific Visualization
Overview
Scientific visualization transforms data into clear, accurate figures for publication. Create journal-ready plots with multi-panel layouts, error bars, significance markers, and colorblind-safe palettes. Export as PDF/EPS/TIFF using matplotlib, seaborn, and plotly for manuscripts.
When to Use This Skill
This skill should be used when:
- Creating plots or visualizations for scientific manuscripts
- Preparing figures for journal submission (Nature, Science, Cell, PLOS, etc.)
- Ensuring figures are colorblind-friendly and accessible
- Making multi-panel figures with consistent styling
- Exporting figures at correct resolution and format
- Following specific publication guidelines
- Improving existing figures to meet publication standards
- Creating figures that need to work in both color and grayscale
Quick Start Guide
Basic Publication-Quality Figure
import matplotlib.pyplot as plt
import numpy as np
# Apply publication style (from scripts/style_presets.py)
from style_presets import apply_publication_style
apply_publication_style('default')
# Create figure with appropriate size (single column = 3.5 inches)
fig, ax = plt.subplots(figsize=(3.5, 2.5))
# Plot data
x = np.linspace(0, 10, 100)
ax.plot(x, np.sin(x), label='sin(x)')
ax.plot(x, np.cos(x), label='cos(x)')
# Proper labeling with units
ax.set_xlabel('Time (seconds)')
ax.set_ylabel('Amplitude (mV)')
ax.legend(frameon=False)
# Remove unnecessary spines
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
# Save in publication formats (from scripts/figure_export.py)
from figure_export import save_publication_figure
save_publication_figure(fig, 'figure1', formats=['pdf', 'png'], dpi=300)
Using Pre-configured Styles
Apply journal-specific styles using the matplotlib style files in assets/:
import matplotlib.pyplot as plt
# Option 1: Use style file directly
plt.style.use('assets/nature.mplstyle')
# Option 2: Use style_presets.py helper
from style_presets import configure_for_journal
configure_for_journal('nature', figure_width='single')
# Now create figures - they'll automatically match Nature specifications
fig, ax = plt.subplots()
# ... your plotting code ...
What ships with it
10 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/color_palettes.py 5.6 KB runs code
- assets/nature.mplstyle 1.4 KB
- assets/presentation.mplstyle 1.3 KB
- assets/publication.mplstyle 1.4 KB
- references/color_palettes.md 9.6 KB
- references/journal_requirements.md 9.3 KB
- references/matplotlib_examples.md 18 KB
- references/publication_guidelines.md 8.4 KB
- scripts/figure_export.py 11 KB runs code
- scripts/style_presets.py 12 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 778 lines · 72 tokens per session scan A 36dffd2ebabc
scientific-visualization is a skill published in the GitHub repository TobiasBlask/open-paper-machine (18 stars, last pushed 5mo ago), licensed MIT. It adds 72 tokens to every session and 6,486 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 97% identical to scientific-visualization, differing in 8 lines, and is treated as a copy.
Other skills, from other repositories
figure-composer
Compose one publication-grade multi-panel figure. Entry from a one-line claim + data refs, OR from an existing figure via deriveoutlinetask(png). Runs a per-figure loop: outline (12-col grid, per-panel ask + labelbudget) → fan-out one Task subagent per panel (each loads figure-style) → tile + stamp letters →…
ieee-figure
Produce publication-grade result figures for IEEE communications papers (JSAC, TWC, TC/TCOM, WCL, CL) — correct column widths, embedded fonts, vector output (PDF/EPS), grayscale- and colorblind-safe palettes, readable fonts, and the comms-standard plot types: BER/outage vs SNR on a log y-axis, achievable/sum rate vs…
academic-figure-figma
Use when the user wants a paper figure (framework, pipeline, architecture, method overview) drawn, rebuilt, or refined as an editable vector in Figma via Claude Code — including reproducing a candidate/reference image (e.g. studio-pro C01-C04) at exact print size. Also use when the user needs to set up or fix the…
paper-framework-figure-studio-pro
Human-in-the-loop research-paper framework figure workflow from S0-PAPER-FOUNDATION through terminal S5-CANDIDATE-IMAGE. Use for paper-grounded architecture, pipeline, method overview, agent workflow, system/data-flow, and mechanism figures with generated raster first-round/formal candidates, reviewer-first-glance…
autofigure
Generate clean, EDITABLE vector figures (SVG + exact-size PDF) for research papers — method / architecture / pipeline / system-overview diagrams — with AutoFigure-Edit. Use whenever the user wants to create or vectorize a paper figure from a text description OR from a draft/screenshot/draw.io image: it generates a…
nature-figure
Submission-grade Nature/high-impact journal figure workflow for Python or R. Use whenever the user asks to create, revise, audit, or polish manuscript figures, multi-panel scientific plots, figures4papers-style matplotlib plots, or journal-ready SVG/PDF/TIFF outputs, especially for Nature-family or other high-impact…